pod启动和终止流程,状态,生命周期

pod启动流程:

  1. 管理员使用kubectl给apiserver发起请求,执行相关操作
  2. apiserver接受请求。将数据写到etcd数据库
  3. 通过watch机制apiserver通知控制器管理器创建相关副本控制器,副本控制器根据yaml文件创建副本pod,镜像等信息,然后返回给apiserver,再写到etcd数据库中
  4. 通过watch,通知scheduler调度器生成调度信息,选择哪个节点启动pod.再返回给apiserver ,api写到etcd
  5. 通过watch,api 会通知被选中执行启动pod节点服务器上的kubelet去启动pod,kubelet通知宿主机上的docker启动容器
  6. kube-proxy配置pod的网络信息(ip,连通网络)
  7. kubelet启动pod完成后,再返回api,etcd
  8. pod终止流程:
  9. pod生命周期:
  • 容器类型:init  初始化(init)容器像常规应用容器一样,只有一点不同:初始化(init)容器必须在应用容器启动前运行完成。 Init 容器的运行顺序:一个初始化(init)容器必须在下一个初始化(init)容器开始前运行完成。必须在pod就绪之前完成
  •  pause :在创建一个pod的时候,最先创建的容器  Pod 的基础设施容器 infrastructure infra容器
  • 把pod公用的命名空间创建好->init->app

 sidecar 多个软件配合互相共享资源

 app容器

静态pod和动态pod

 1. 创建和管理方式 静态Pod: 由kubelet直接管理的,其配置文件存储在节点本地而非通过API Server创建。 创建:kubelet在启动时或运行时,会监视特定目录(如/etc/kubernetes/manifests)下的静态Pod配置文件,并根据这些配置文件创建和管理Pod。 管理:kubelet周期性地检查配置文件目录,根据文件内容更新或删除Pod。 特点:静态Pod的元数据不存储在etcd中,因此不能通过kubectl命令进行直接操作。动态Pod通常指的是由控制器(如Deployment、StatefulSet、DaemonSet等)管理的Pod。 创建:通过Kubernetes API创建,Pod的配置存储在etcd中。 管理:控制器负责监视集群状态,并根据需要创建、更新或删除Pod,以确保实际运行的Pod数量符合预期。 特点:动态Pod的生命周期受到控制器策略的严格管理和维护,包括健康检查、滚动更新、扩展缩容等功能。

2. 可见性和可控性 静态Pod:在API Server上不可见,无法通过kubectl等工具直接查看或操作。 可控性:完全由用户通过修改配置文件和重启kubelet来控制。 动态Pod:在API Server上可见,可以通过kubectl等工具进行查看、操作和管理。 可控性:由Kubernetes系统及其控制器自动管理,用户也可通过kubectl等工具进行干预。

3. 灵活性和动态性 静态Pod: 灵活性相对较低,配置文件一旦创建,就需要通过修改文件并重启kubelet来更新Pod配置。不支持动态扩缩容,数量和配置是静态定义的。 动态Pod: 灵活性较高,可以根据业务需求动态地创建、更新或删除Pod。 动态性:支持自动扩缩容,以满足不同的负载需求。

4. 适用场景 静态Pod: 适用于需要在特定节点上始终运行且无需集群级别管理的应用场景,如kubelet自身的配置、网络插件或其他系统级别的组件。 动态Pod: 是Kubernetes中常态化的应用部署方式,适用于需要根据业务需求动态创建或销毁的Pod。

deployment升级发生了什么:修改yaml文件 不会重新创建 只会新增或减少 会保留原来

rc 旧版副本控制器           rs 新版副本控制器

k8s里有哪些控制器?

       deployment   replicaSet     scheduler

       daemonSet会在每台node节点上启动一个pod

       job   批量处理任务    cronjob  计划任务

重启策略:always(默认),onfailure,never

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值