集群资源分类
- 名称空间级别:默认为default
- 集群级别:role
- 元数据
pod资源清单
定义一个pod需要下面这些信息:
生命周期
- 初始化pause容器
- init C 初始化容器,init容器总是运行到成功为止,并且后面的容器要等到前面的容器运行结束之后才运行。
- 进入容器,执行start操作。
- readiness:就绪检测,如果服务就绪,可以暴露给外围。
- liveness:生存检测,发现容器内部有假死(例如僵尸进程)时,进行重启或其他操作。
- stop:结束时执行的一些操作。
调度器
调度器负责管理pod的生命周期,在必要的时候重启pod,下图是deployment滚动更新的管理方式,称为命令式管理,在后台其实是通过管理RS来达到目的。
这样存在一个问题,假如其中一个pod挂掉,RS重新启动一个pod替代,但是ip地址变了,那么其他pod访问不到怎么办?这个时候需要在pod和上层服务比如nginx中加入一个中间件SVC,SVC会自动进行服务发现,通过标签匹配策略自动获取其关联的pod的信息,然后同步给需要使用的pod。