集群资源分类

  • 名称空间级别:各个命名空间之间是隔离的
  • 集群级别:资源被定义后在全集群都可以被看见
  • 元数据型:不属于名称空间级别和集群级别,通过某些指标进行操作(比如分析系统的cpu指标)

名称空间级别下资源

工作负载型资源: Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job\CronJob
服务发现型以及负载均衡资源: Service、Ingress
配置与存储资源:Volume、CSI(容器存储接口)
特殊类型的存储卷:ConfigMap(当配置中心来使用的资源类型)、Secret(保存敏感数据)、DownWardAPI(把外部环境中的信息输出给容器)

容器的生命周期

k8s资源类型

pod的生命周期

  • init C:初始化容器阶段,只是用于初始化的一个程序,并不会一直伴随着pod程序的运行,初始化完成之后init C 就会退,在数量上≥0,在同一时间只有一个initC程序在运行,一个initC程序结束之后才会执行下一个init C程序。在这个阶段就已经会创建pause容器
  • Main C:主容器,在容器运行之前执行START操作,结束之后会执行Stop操作
  • Readiness:就绪检测,查看当前的容器能被集群的外面所使用的
  • liveness:生存检测,在极端的情况下,如果主进程变成僵尸进程,不能提供正常访问时可以重启重建pod。

init C

  • init c包含和运行很多实用的工具,但是出于安全和冗余方面的考虑,不建议在应用程序镜像中包含这些实用工具。
  • 应用程序镜像可以分离出创建和部署的角色,而没有必要联合它们构建一个单独的镜像,创建程序的部分可以放在init C去完成
  • Init 容器实用Linux Namespace所以相对应用程序容器来说具有不同的文件系统视图。因此他们可以具备访问Secret的权限,而应用程序容器则不能。

相关文章: