kubernetes学习总结-2Pod控制器

目录

        • 先看看pod是啥
        • 通过Pod合理管理容器
        • Pod控制器

先看看pod是啥

kubernetes学习总结-2Pod控制器_第1张图片
kubernetes学习总结-2Pod控制器_第2张图片
kubernetes学习总结-2Pod控制器_第3张图片

通过Pod合理管理容器

kubernetes学习总结-2Pod控制器_第4张图片
kubernetes学习总结-2Pod控制器_第5张图片

Pod控制器

kubernetes学习总结-2Pod控制器_第6张图片

  • ReplicationController用来确保容器应用的副本数始终保持在用户自定义的副本数,即如果有容器异常退出,会自动创建新的Pod来替代;而异常多出来的容器也会被自动回收,新版本中使用了ReplicaSet取代了ReplicationController,支持集合式的selector.
  • 虽然ReplicaSet可以单独使用,但是一般还是建议使用Deployment来自动管理ReplicaSet,这样就无需担心跟其他机制的不兼容问题(比如ReplicaSet不支持rolling-update但是Deployment支持)
  • HPA (Horizontal Pod Autoscaling) 仅适用于Deployment 和replicaSet, 在V1版本中,支持根据内存和用户自定义的metric扩缩容(弹性伸缩功能)
  • StatfullSet为了解决状态服务问题(Deployments和ReplicaSet是为无服务状态而设计),应用场景包括
  • 稳定的持久化存储,即Pod重新调度后还能访问到相同的持久化数据,基于PVC实现
  • 稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于headlessService(即没有Cluster IP的Service来实现)
  • 有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据当以的顺序依次进行(从0到N+1)在下个Pod运行之前的Pod必须都是Ready和Running状态),基于init containers来实现
  • 有序收缩,有序删除(即从N-1到0)
  • DaemonSet确保全部(或者一些)Node上运行一个Pod副本,当有Node加入集群时,也会为他们新增一个Pod,当有Node从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。使用Daemon的一些典型的用法
  • 运行集群存储daemon,一如每个node上运行glusterd,ceph
  • 在每个node上运行日志收集daemon,例如fluentd,logstash
  • 在每个node’上运行监控daemon,例如Prometheus Node Exporter

Job 负责批处理任务,即仅仅执行一次任务,他保证批处理任务的一个或者多个pod成功结束

Cron Job 管理基于时间的Job,即

  • 在给定时间点只运行一次
  • 周期性的在给定时间点运行

你可能感兴趣的:(Kubernetes)