k8s-Pod的生命周期

**

Pod是k8s集群最小的部署的逻辑单元

**
Pod就是容器来组成的
k8s为我们容器提供了生命周期钩子(HOOK)
Pod HOOK是由kubelet发起的
在容器启动前或者终止前运行(包含在容器的生命周期)
在这里插入图片描述

假如说通过kubectl发送一个命令给api-server来创建一个Pod,
Pod被调度到某个节点的kubelet上
kubelet接受到这个调度就开始通过RPC远端过程调用来调用我们底层的CRI容器运行时接口(要么是docker要么是其他的容器化应用)
在以上过程中就需要在etcd查询写入数据备份
首先起了一个pause根容器(基础容器)
InitC :(初始化容器)用来做初始化工作的容器,可以是一个或者多个
通过一个容器来执行一个健康检查的功能
Liveness:存活探针(检查容器是否存活)
readiness:就绪探针 (来看容器里面的应用o不ok)
用来追踪容器是否正常
RPC:远端过程调用
CRI:容器运行时接口

Kubernetes 为我们提供了两种钩子函数:
PostStart:这个钩子在容器创建后立即执行。但是,并不
能保证钩子将在容器ENTRYPOINT之前运行,因为没有参
数传递给处理程序。主要用于资源部署、环境准备等。不过需要注意的是如果钩子花费太长时间以至于不

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kubernetes(简称为k8s)中的Pod是最小的可部署单元,用于运行容器化应用程序。Pod的生命周期可以分为以下几个阶段: 1. Pending(等待):Pod被创建后,处于Pending状态表示Kubernetes正在为Pod分配资源(如CPU、内存等)。在这个阶段,Pod可能会处于排队等待状态。 2. Running(运行中):一旦Pod获得了所需的资源,它将进入Running状态。在这个阶段,容器正在运行,并且可以被其他组件访问。 3. Succeeded(成功):如果Pod中的所有容器成功完成了它们的任务,那么Pod将进入Succeeded状态。通常情况下,这意味着所有容器都已经退出,并且不会再重新启动。 4. Failed(失败):如果Pod中的任何一个容器退出并返回错误代码,那么Pod将进入Failed状态。通常情况下,这意味着容器无法完成其任务。 5. Unknown(未知):如果无法获取关于Pod当前状态的信息,那么Pod将进入Unknown状态。这可能是由于与集群通信故障或其他未知错误导致的。 除了上述状态之外,Pod还可以通过以下方式进行调整: 1. 创建(Create):通过创建Pod规范文件或使用Kubernetes API来创建Pod。 2. 更新(Update):可以通过更新Pod规范文件或使用Kubernetes API来更新Pod的配置(如镜像版本、资源请求等),这将触发Pod的重新调度。 3. 删除(Delete):可以通过删除Pod规范文件或使用Kubernetes API来删除Pod。一旦Pod被删除,它将不再存在于集群中。 需要注意的是,Kubernetes会根据集群的状态和配置自动处理Pod的生命周期,例如自动重新调度失败的Pod或替换不健康的Pod。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值