k8s系列:资源和声明周期

集群资源分类

  1. 名称空间级别:默认为default
  2. 集群级别:role
  3. 元数据

pod资源清单

定义一个pod需要下面这些信息:

生命周期

  1. 初始化pause容器
  2. init C 初始化容器,init容器总是运行到成功为止,并且后面的容器要等到前面的容器运行结束之后才运行。
  3. 进入容器,执行start操作。
  4. readiness:就绪检测,如果服务就绪,可以暴露给外围。
  5. liveness:生存检测,发现容器内部有假死(例如僵尸进程)时,进行重启或其他操作。
  6. stop:结束时执行的一些操作。

调度器

调度器负责管理pod的生命周期,在必要的时候重启pod,下图是deployment滚动更新的管理方式,称为命令式管理,在后台其实是通过管理RS来达到目的。

这样存在一个问题,假如其中一个pod挂掉,RS重新启动一个pod替代,但是ip地址变了,那么其他pod访问不到怎么办?这个时候需要在pod和上层服务比如nginx中加入一个中间件SVC,SVC会自动进行服务发现,通过标签匹配策略自动获取其关联的pod的信息,然后同步给需要使用的pod。