Kubernetes之POD详解

CSDN话题挑战赛第2期
参赛话题:万家争鸣的云计算修罗场

我想分享的云计算技能/知识点

  • Pod技术点

该技能/知识点的背景介绍

Pod控制器类型

ReplicationController & ReplicaSet & Deployment

     > HPA(HorizontalPodAutoScale)

StatefullSet

DaemonSet

Job,Cronjob

该技能/知识点实际运用

RC:可以维护目标期望值,比如数量

RS:功能与RC相同,但是多了集合式的标签选择器,在生产环境中较有意义,建议使用RS取代RC

Deployment:通过创建不同的RS来实现滚动更新以及回滚的机制,如果有需要滚动更新可以使用Deployment取代RS,不需要滚动更新则使用RS

4)HPA(Horizontal Pod Autoscaling): 仅适用于 Deployment 和 ReplicaSet ,在 V1 版本中仅支持根据 Pod 的 CPU 利用率扩所容,在 v1alpha 版本中,支持根据内存和用户自定义的 metric 扩缩容

总结:HPA不能够独立存在,必须依赖于RC、RS、Deployment控制器之上

5)StatefulSet: 是为了解决有状态服务的问题(对应 Deployments 和 ReplicaSets 是为无状态服务而设计),其应用场景包括:

* 稳定的持久化存储,即 Pod 重新调度后还是能访问到相同的持久化数据,基于 PVC 来实现

   * 稳定的网络标志,即 Pod 重新调度后其 PodName 和 HostName 不变,基于 Headless Service (即没有 Cluster IP 的 Service )来实现

   * 有序部署,有序扩展,即 Pod 是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从 0 到 N-1,在下一个 Pod 运行之前所有之前的 Pod 必须都是 Running 和 Ready 状态),基于 init containers 来实现

   * 有序收缩,有序删除(即从 N-1 到 0)

6)DaemonSet :确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod

使用 DaemonSet 的一些典型用法:

   * 运行集群存储 daemon,例如在每个 Node 上运行 glusterd、ceph。

   * 在每个 Node 上运行日志收集 daemon,例如fluentd、logstash。

   * 在每个 Node 上运行监控 daemon,例如 Prometheus Node Exporter

7)Job :负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束

8)Cron Job :管理基于时间的 Job,即:

  * 在给定时间点只运行一次

   * 周期性地在给定时间点运行

总结

对于不同的服务、进程、节点使用不同的控制器:

1、守护进程、无状态服务:RC   RS  Deployment      例:Apache、Nginx

2、守护进程、有状态的服务:statefulSet 例:MySQL

3、每个物理节点有且只有一个 Pod 运行:DaemonSet 例:zabbix-agent

4、专门处理批处理任务、运行成功即退出:Job 例:脚本

5、轮询计划:CronJob 例:定时备份数据库、日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值