Kubernetes进阶:高级构建块与持续交付实践
1. Kubernetes高级构建块
在Kubernetes中,除了基本的API对象如Pod、ReplicaSet、Deployment和Service外,还有许多其他构建块可用于构建更高级的应用程序。Kubernetes不断发展,工程师们每隔几个月就会添加新元素来改进或增加功能。
1.1 DaemonSet
DaemonSet是一种API元素,用于确保在所有(或部分)节点上运行一个Pod。在Kubernetes中,通常Pod无需关心运行在哪个节点上,但有时我们希望每个节点至少运行一个Pod,例如用于收集日志、检查硬件或进行监控。
- 亲和性设置 :通过标签和选择器的组合,可以定义亲和性,使Pod运行在特定节点上。
- 通信方式 :DaemonSet可以通过DNS(通过无头服务)或节点IP进行通信,当它作为通信发起者时效果最佳,例如在节点空间不足时发送事件信息。
1.2 PetSet(已被StatefulSet取代)
PetSet是Kubernetes中一个有趣的概念,它是强命名资源,其命名在很长一段时间内保持不变。在Kubernetes集群中,Pod没有强实体,它们是临时的,名称可能会不可预测地更改。而PetSet具有顺序编号,便于猜测Pod名称。例如,部署名为mysql的PetSet,有三个副本时,命名为mysql - 0、mysql - 1、mysql - 2。
- 局限性与优势 :虽然通过名称耦合服务存在一定局限性,但在所有情况下都
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



