第一本 深入剖析Kubernetes

2021-07-25  本文已影响0人  chensiyu2014

1. 书籍简介

  1. 深入剖析Kubernetes
  2. 极客时间(音视频付费)
  3. 作者:张磊

2. 阅读进度

  1. 开始阅读:2021年07月24日
  2. 结束阅读:
  3. 阅读进展:进行中

3. 核心内容

3.1 深入理解Statefulset:拓扑状态

  1. 抽象为两种核心设计:拓扑状态和存储状态;就是通过某种方式记录这些状态,然后在 Pod 被重新创建时,能够为新 Pod 恢复这些状态。
  2. Headless Service
  1. Headless Service 不需要分配一个 VIP,而是可以直接以 DNS 记录的方式解析出被代理 Pod 的 IP 地址
  2. 所代理的Pod通过Label Selector的机制被选择出来
  1. Kubernetes 就成功地将 Pod 的拓扑状态(比如:哪个节点先启动,哪个节点后启动),按照 Pod 的“名字 + 编号”的方式固定了下来
  2. 对于“有状态应用”实例的访问,你必须使用 DNS 记录或者 hostname 的方式,而绝不应该直接访问这些 Pod 的 IP 地址。
  3. StatefulSet 这个控制器的主要作用之一,就是使用 Pod 模板创建 Pod 的时候,对它们进行编号,并且按照编号顺序逐一完成创建工作。而当 StatefulSet 的“控制循环”发现 Pod 的“实际状态”与“期望状态”不一致,需要新建或者删除 Pod 进行“调谐”的时候,它会严格按照这些 Pod 编号的顺序,逐一完成这些操作

3.2 深入理解StaefulSet:存储状态

  1. Kubernetes中的PVC和PV的状态设计,类似“接口”和“实现”的思想;开发者主要知道并会使用接口,即:PVC;运维人员则负责给接口绑定具体的实现,即:PV;通过这种方式解耦,减少存储系统细节暴露的隐患;
  2. StatefulSet为每个Pod分配并创建一个同样编号的PVC;即使Pod被删除,其对应的PV和PVC依旧会保留;Pod被重新创建后,会找到同样编号的PVC,挂载这个PVC对应好的Volume,从而后去以前保存在Volume的数据
上一篇 下一篇

猜你喜欢

热点阅读