Kubernetes学习记录

1. Pod基本概念

(1) 在k8s中时最小的部署单元

(2) 包含了多个容器(一组容器的集合)

(3) 一个pod中容器共享网络命名空间

(4) pod是短暂的

2. Pod存在的意义

(1) 创建容器使用docker,一个docker对应一个容器,一个容器里有进程,一个容器运行一个应用程序

(2) Pod是多进程设计,运行多个应用程序

  • 一个Pod有多个容器,一个容器里面运行一个应用程序

(3) Pod存在为了亲密性应用

  • 两个应用之间进行互相调用
  • 网络之间调用
  • 两个应用需要频繁调用
  • Pod存在的意义.png

3. Pod实现机制

(1) 共享网络

  • 通过Pause容器,把其他业务容器加入到Pause容器里面,让所有业务容器在同一个名称空间中,可以实现网络共享

(2) 共享存储

  • 引入数据卷概念Volumn,使用数据卷进行持久化存储
  • Pod实现机制.png

    4. 镜像拉取策略

    imagePullPolicy: Always

  1. * IfNotPresent:默认值,镜像在宿主机上不存在时才拉取
  2. * Always:每次创建Pod都会重新拉取一次镜像
  3. * Never:Pod永远都不会主动拉取这个镜像

5. Pod资源限制

Pod资源限制示例.png

6. Pod重启策略

restartPolicy:Never
  • Always:当容器终止退出后,总是重启容器,默认策略(常用于nginx)
  • OnFailure:当容器异常退出(退出状态非0)时,才重启容器(常用于使用一次的容器,比如批量任务)
  • Never:当容器终止退出,从不重启容器(常用于使用一次的容器,比如批量任务)

7. Pod健康检查

Pod健康检查.png

8. Pod创建流程

Pod创建流程.png