首页
学习
活动
专区
圈层
工具
发布

K8S证书更新时-吴‘apiserver|scheduler|controller-manager’删除组件

1、 起因K8S集群证书过期更新: 执行了 kubeadm certs renew all,成功更新了 Kubernetes 集群的证书(包括 API Server、Controller Manager...证书报错 2、 误删除容器: 本是重启组件服务的,眼疾手快直接删除了,以为k8s会自动拉起,后面才发现这些组件时通过这些 Pod 由 kubelet 直接管理,不依赖 Kubernetes API...{print 1}') 后,删了 apiserver、scheduler、controller-manager 容器,导致集群状态不稳定,API Server 等组件无法访问。...3、Kubelet 服务失败: 尝试重启 kubelet 后,服务进入“激活中”状态,最终失败,原因是无法加载配置文件 /etc/kubernetes/kubelet.conf,并且日志显示证书过期或丢失...误操作删除容器后,API Server 等组件也无法启动,进一步导致 kubelet 启动失败。

37700

云原生|什么是Kubernetes最小单元POD?(2)

可以通过 kubectl logs 查看具体原因。 Unknown(未知) 通常是通信出问题,不知道状态是什么。通常是 Unknown。...ImagePullBackOffErr 镜像拉取失败,一般是由于镜像不存在、网络不通或者需要登录认证引起的。可以使用 kubectl describe 命令查看具体原因。...CrashLoopBackOff 容器启动失败,有可能是镜像文件本身就有问题,不能正常启动。可以通过 kubectl logs 命令查看具体原因,一般为启动命令不正确,健康检查不通过等。...SysctlForbidden 内核启动失败,和 Linux 内核相关。在启动 Pod 的时候加了一些内核的需求,但是没有开放需求,就会造成内核启动失败。...CrashLoopBackOff 容器已经崩溃,并且 Kubernetes 将在一段时间后进行重试。通常是由于容器崩溃导致的,然后容器被重新启动。 Init:Error Init 容器初始化失败。

52810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    kubernetes:Pod基础概念知多少

    Pod生命周期 Pod是Kubernetes的基础单元,Pod启动典型创建过程如下: ? 1)用户通过kubectl或其他API客户端提交Pod Spec给API Server。...2)API Server尝试着将Pod对象的相关信息存入etcd中,待写入操作执行完成,API Server即会返回确认信息至客户端。 3)API Server开始反映etcd中的状态变化。...4)所有的Kubernetes组件均使用“watch”机制来跟踪检查API Server上的相关的变动。...8)Pod被调度到的目标工作节点上的kubelet尝试在当前节点上调用Docker启动容器,并将容器的结果状态回送至API Server。...支持三种处理器用于Pod探测(每一种探测结果都存在3种结果,成功、失败、未知,只有成功才认为OK): - ExecAction:在容器中执行一个命令,并根据其返回的状态码进行诊断的操作称为Exec探测,

    1.3K20

    【kubernetes篇】实际例子来解释kubernetes中的pod的生命周期

    如果 init 容器无法启动如果 init 容器失败并出现非零退出代码,并且 restartPolicy 设置为 Never,则 Pod 将直接进入失败阶段。2....container-01 和 container-02 都将启动。因为我们的 Java 应用程序是一个需要运行的 API,所以只要 Java API 应用程序启动,Pod 就会保持在“运行中”阶段。...出于某种原因,如果任何容器无法启动,Pod 将进入失败阶段。3. Succeeded阶段:此阶段不适用于我们的 Java 应用程序,因为“成功”适用于完成任务然后退出的容器。...我们的 java-api-pod 旨在继续运行,因此除非你手动停止它,否则它不会到达此阶段。成功阶段适用于属于 Kubernetes Job/Cronjob 对象的 Pod。4....5.Unknown阶段这种情况很少见,但如果 api-server 由于某种原因无法获取 Pod 的状态,它将被标记为 “Unknown”。

    29410

    k8s(六)k8s生命周期和调度

    未知(Unknown):API Server无法正常获取到Pod对象的状态信息,通常由于网络通信失败所导致。...API Server开始反映etcd中的Pod对象的变化,其它组件使用watch机制来跟踪检查API Server上的变动。...Node节点上的kubelet发现有Pod调度过来,尝试调度Docker启动容器,并将结果回送至API Server。 API Server将接收到的Pod状态信息存入到etcd中。...Pod的终止过程 用户向API Server发送删除Pod对象的命令。 API Server中的Pod对象信息会随着时间的推移而更新,在宽限期内(默认30s),Pod被视为dead。...初始化容器 初始化容器是在Pod的主容器启动之前要运行的容器,主要是做一些主容器的前置工作,它具有两大特征: 初始化容器必须运行完成直至结束,如果某个初始化容器运行失败,那么kubernetes需要重启它直至成功完成

    1.7K20

    详解 HTTP 客户端调用 K8S API,建议收藏!

    使用 CLI(如 curl)或 GUI(如 postman )HTTP 客户端调用 Kubernetes API 有很多原因。...它涵盖以下内容: 如何获取 Kubernetes API Server 地址 如何向客户端验证 API Server 如何使用证书向 API Server 验证客户端 如何使用令牌向 API Server...因此,Kubernetes API Server 的 TLS 证书原来是由 curl 未知的证书颁发机构 (CA) minikubeCA 签名的。由于 curl 无法信任它,因此请求失败。...为什么还要直接调用 Kubernetes API? 原因很多。例如,您可能正在开发一个控制器并希望在不编写额外代码的情况下使用 API 查询。...$ kubectl config current-context cluster1 $ kubectl proxy --port=8080 & 启动代理服务器后,调用 Kubernetes API

    12.6K41

    应用部署与管理 —— Kubernetes 核心对象

    Kubernetes 核心对象 Pod Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。...Failed(失败) Pod 中的所有容器都已终止,并且至少有一个容器是因为失败终止。也就是说,容器以非 0 状态退出或者被系统终止。 Unknown(未知) 因为某些原因无法取得 Pod 的状态。...Running 状态的容器的 Pod 时,你也会看到 关于容器进入 Running 状态的信息 Terminated(已终止) 处于 Terminated 状态的容器已经开始执行并且或者正常结束或者因为某些原因失败...如果提供了启动探针,则所有其他探针都会被 禁用,直到此探针成功为止。如果启动探测失败,kubelet 将杀死容器,而容器依 重启策略进行重启。如果容器没有提供启动探测,则默认状态为 Success。...Deployment(无状态应用) Deployment 是一个更高层次的 API 对象,它管理 ReplicaSets 和 Pod,并提供声明式更新等功能。

    67730

    宜信容器云排错工具集

    宜信容器云是一套基于kubernetes的容器管理平台。业务线用户在容器云上部署应用程序时,常常会遇到容器无法启动或者应用程序运行不正常的情况。...kubectl get events 同样,当使用kubectl describe pod来查看pod时,也一样能看到与该pod相关的events,从这些信息中可以很清楚看到事件的状态变化,从而获知pod启动失败的多种原因....png] events中包含事件相关的类型、原因、来源、消息等,会在kubelet和controller manager等组件中生成,广播出去后,经过一系列的函数过滤、聚合等,再发送给Api-server...当查看web terminal时,前端web发起了一个websocket请求,到Api-server。再由所属节点的kubelet响应该Api-server的请求,并与容器运行时建立连接。...,那么Backend server将会请求Api-server让kubelet复制一个pod, 复制的Pod被改写了启动命令(sleep)、去掉了label及健康检查。

    2.6K40

    kubernetes 容器编排系统介绍

    Pod 在 node 上被创建、启动或者销毁。 为什么 kubernetes 使用 pod 在容器之上再封装一层呢?一个很重要的原因是,docker 容器之间通信受到 docker 网络机制的限制。...Kubelet在启动时通过API Server注册节点信息,并定时向API Server发送节点信息。API Server接收到这些信息后,将这些信息写入etcd。...如果判断出在某一段时间内没有收到节点的状态信息,则设置节点状态为“未知(unknown)”,并且通过api server保存节点状态。...在API Server的启动中添加“—admission_control=ServiceAccount”后,API Server在启动时会自己创建一个key和crt(/var/run/kubernetes...状态上报 kubelet在启动时通过API Server注册节点,并定时向API Server发送节点新消息,API Server在接收到这些信息后,将这些信息写入etcd。

    15.4K30

    数字化 IT 从业者知识体系 | 应用部署与管理 —— Kubernetes核心对象

    Kubernetes 核心对象PodPod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。...Failed(失败)Pod 中的所有容器都已终止,并且至少有一个容器是因为失败终止。也就是说,容器以非 0 状态退出或者被系统终止。Unknown(未知)因为某些原因无法取得 Pod 的状态。...Running 状态的容器的 Pod 时,你也会看到 关于容器进入 Running 状态的信息Terminated(已终止)处于 Terminated 状态的容器已经开始执行并且或者正常结束或者因为某些原因失败...如果提供了启动探针,则所有其他探针都会被 禁用,直到此探针成功为止。如果启动探测失败,kubelet 将杀死容器,而容器依 重启策略进行重启。如果容器没有提供启动探测,则默认状态为 Success。...Deployment(无状态应用)Deployment 是一个更高层次的 API 对象,它管理 ReplicaSets 和 Pod,并提供声明式更新等功能。

    71101

    Kubernetes的pod解析

    Kubernetes API Server 接收到创建 Pod 的请求后,会对请求进行验证(验证文件的合法性、格式、内容类型等等)和授权检查。验证成功之后。...来创建并启动容器 如果Pod创建失败, kubelet可以启动容器,或者根据重启策略重新创建pod。 Kubelet 监控容器的运行状态,并将状态更新反馈给 API Server。...为了确保数据传输的安全性,Kubernetes 使用 TLS/SSL 加密 HTTP 通信,默认情况下,API Server 使用 HTTPS。...API Server 的证书和密钥可以通过配置文件指定,通常保存在 /etc/kubernetes/pki 目录下。...:::info 调度的关键点 API Server 作为中心:所有组件的通信都通过 API Server 进行,API Server 是 Kubernetes 的中心枢纽。

    1.3K10

    k8s之ServiceAccount

    当我们在API Server的鉴权过程中启用了Service Account类型的准入控制器,即在kube-apiserver启动参数中包括下面的内容时: --admission_control=ServiceAccount...在Pod中访问API Server服务时,是以Service方式访问名为Kubernetes这个服务的,是以类似HTTP Token的新认证方式:Service Account Auth,Pod在调用API...),由Kubernetes Controller进程用API Server的私钥(--service-account-private-zkey-file指定的私钥)签名指定生成的一个JWT Secret...(2)通过HTTPS方式与API Server建立连接后,会用Pod里指定路径下的一个CA证书(文件名为ca.crt)验证API Server发来的证书,验证是否为CA证书签名的合法证书。...这三个文件由于参与到Pod进程和API Server认证的过程中,起到了类似Secret(私密凭据)的作用,所以被称为Kubernetes Secret对象,Secret从属于Service Account

    2.3K30

    关于 Kubernetes中kube-controller-managerr的一些笔记

    即现在的deployment资源的作用,通过新旧两个RC 实现滚动更新 节点控制器(Node Controller) kubelet进程在启动时通过API Server向master注册自身的节点信息...,并定时向API Server汇报状态信息, API Server接收到这些信息后,将这些信息更新到etcd中, etcd中存储的节点信息包括节点健康状况、节点资源、节点名称、节点地址信息、操作系统版本...如果判断出在某一段时间(gracePeriod)内没有收到节点状态信息 则设置节点状态为“未知” (Unknown),并且通过API Server保存节点状态。...如果在Pod定义中同时声明了LimitRanger,则用户通过API Server请求创建或修改资源时, Admission Control会计算当前配额的使用情况,如果不符合配额约束,则创建对象失败。...Controller定时通过API Server读取这些Namespace信息。

    72710

    029.核心组件-Controller Manager

    提示:在Kubernetes集群中与Controller Manager协调的另一个组件是Kubernetes Scheduler,它的作用是将待调度的Pod(包括通过API Server新创建的Pod...三 Node Controller 3.1 Node Controller作用 kubelet进程在启动时通过API Server注册自身的节点信息,并定时向API Server汇报状态信息,API Server...如果判断出在某段时间(gracePeriod)内没有收到节点状态信息,则设置节点状态为“未知”,并且通过API Server保存节点状态。...如图所示,如果在Pod定义中同时声明了LimitRanger,则用户通过API Server请求创建或修改资源时,Admission Control会计算当前配额的使用情况,如果不符合配额约束,则创建对象失败...ImagePolicyWebhook需要使用一个配置文件(通过kube-API Server的启动参数--admission-control-config-file设置)定义后端Webhook的参数。

    97110

    从原理到实践:万字详解 Kubernetes 核心组件与指标监控

    通过监控 Kubernetes, 我们可以确保核心组件健康,保障 API Server、etcd、Scheduler 等关键组件不出问题。...API Server:集群的“大脑” API Server 是 Kubernetes 的“大脑”,负责处理所有 API 请求。如果它出了问题,整个集群的操作都会受到影响。...因此,监控 API Server 的健康状况是重中之重。 请求延迟:API 请求的响应时间,延迟过高会影响集群操作。 请求速率:每秒处理的请求数,过高可能导致 API Server 过载。...错误率:API 请求失败的比例,高错误率可能意味着配置问题或资源不足。 etcd:集群的“数据库” etcd 是 Kubernetes 的“数据库”,存储集群的所有状态数据。...核心组件指标 Kubernetes 核心组件指标主要包括:来自于 Kubernetes 的 API Server、kubelet 等组件的 /metrics API。

    58610
    领券