行至水穷处 坐看“云”起时

Cloud Native ADN -> CNadn.Net

k8s satefulset 测试

  1. 预先创建相关pv
  2. 执行以下yaml,创建headless servcie,statefulset,系统从statefulset模板中自动创建pvc

     
  3. 产生的输出效果

     




     
  4. dns解析

    解析svc域名,直接解析出两个pod的ip

    修改image,产生rollingupdate:

     
  5. [root@k8s-master cka]# kubectl patch statefulset web -p ‘{“spec”:{“replicas”:1}}’
    减少replicas,将从pod名字中数字编号最大的开始减。且被删除pod所用的pvc并不会被删除,必须手工干预。如果不删除这些pvc,则如果replicas恢复回来,对应的pod名字还会claim对应的pvc,这样保持一致。

    Note that, the PersistentVolumes associated with the Pods’ PersistentVolume Claims are not deleted when the Pods, or StatefulSet are deleted. This must be done manually.

     

Statefulset:

pod的名字按照 {statefulset名字}-{数字从0排序},名字始终稳定,不论怎么扩展删除

自动按模板产生pvc, pvc名字 {pvc模板名}-{statefulset名}-{从0编号},pod与pvc关联关系始终稳定不变

按顺序产生pod,按反序删除pod。

rollingupdate时候安装类似删除的动作,删一个,起一个。

https://v1-10.docs.kubernetes.io/docs/concepts/workloads/controllers/statefulset/

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注