飞天使-k8s知识点13-kubernetes散装知识点2-statefulset&daemonset

文章目录

RC RS Deployment
StatefulSet有状态服务控制器
复制代码
statefulset 

StatefulSet 是 Kubernetes 1.9 版本引入的一个新的 API 对象,主要用于处理有状态的服务。StatefulSet 与 Deployment 类似,都可以保证在集群中运行指定数量的 Pod 副本,但 StatefulSet 提供了一些额外的特性来处理有状态应用的特殊需求:

稳定的网络标识符:StatefulSet 中的每个 Pod 都有一个稳定的、预测性的名称,这个名称在 Pod 的生命周期中不会改变。

稳定的存储:StatefulSet 可以使用 Persistent Volumes,这样即使 Pod 被重新调度,它的数据也不会丢失。

有序的部署和扩展:当你部署或扩展 StatefulSet,Pods 会按照顺序一个接一个地启动。同样,当你缩小 StatefulSet 的规模时,Pods 会按照相反的顺序一个接一个地关闭。

有序的删除和终止:当你删除 StatefulSet 时,Pods 会按照相反的顺序一个接一个地被删除。

这些特性使得 StatefulSet 特别适合运行需要稳定网络标识符和稳定存储的有状态应用,例如数据库。



在 Kubernetes 中,Headless Service 是一种特殊类型的 Service,它没有分配 Cluster IP,因此不会进行负载均衡和代理。这种类型的 Service 通常在你不需要 Service-level 负载均衡,或者更想要直接访问 Pod 的网络地址时使用。

当你查询 Headless Service 的 DNS 名称时,DNS 服务器将返回与该 Service 关联的所有 Pod 的 IP 地址列表,而不是返回 Service 的 Cluster IP。这使得其他应用可以直接与运行在特定 Pod 上的服务进行通信,而不是通过 Service 进行通信。

Headless Service 在有状态应用(例如数据库集群)中特别有用,因为这些应用通常需要直接访问特定的 Pod 实例。



在 Kubernetes 中,volumeClaimTemplates 是 StatefulSet 规格中的一个字段,它允许每个 Pod 自动创建和挂载自己的持久卷(Persistent Volume)。这是有状态应用,如数据库,需要的功能,因为每个数据库实例通常需要自己的存储,这样它就可以保持其状态。

volumeClaimTemplates 是 PersistentVolumeClaim 对象的模板列表。当 Kubernetes 为 StatefulSet 创建新的 Pod 时,它会为每个模板创建一个新的 PersistentVolumeClaim。然后,这些 PersistentVolumeClaim 会被用来动态地为 Pod 分配 Persistent Volumes。

这种方式的好处是,即使 Pod 被删除或迁移到集群中的其他节点,其数据也会保持不变,因为 Persistent Volume 的生命周期独立于 Pod。
DaemonSet守护进程与任务
复制代码
在 Kubernetes 中,DaemonSet 是一种资源对象,它确保在集群中的每个节点上都运行一个 Pod 的副本。如果有新节点添加到集群,DaemonSet 就会为这些节点添加 Pod。同样,如果从集群中删除节点,那么这些节点上的 Pod 也将被垃圾回收。

DaemonSet 特别适合运行集群范围的系统服务,例如日志收集器(如 Fluentd 或 Logstash)、监控服务(如 Prometheus Node Exporter)或网络插件(如 Weave、Calico 或 Flannel)。这些类型的应用通常需要在每个节点上运行,以便它们可以收集或处理所有节点的信息。
job cronjob
复制代码
job 一次性任务
cronjob 定时计划任务,linux 中crontab 类似
相关推荐
坐望云起2 小时前
Hyper-V + Centos stream 9 搭建K8s集群(一)
linux·kubernetes·centos
Adorable老犀牛4 小时前
DockerFile文件执行docker bulid自动构建镜像
运维·docker·容器
潘多编程8 小时前
云原生三剑客:Kubernetes + Docker + Spring Cloud 实战指南与深度整合
docker·云原生·kubernetes
sakoba9 小时前
Docker学习其二(容器卷,Docker网络,Compose)
运维·网络·学习·docker·容器·基础
IvanCodes14 小时前
四、Portainer图形化管理实战与Docker镜像原理
docker·容器
❀͜͡傀儡师16 小时前
Kubernetes (K8s) 部署资源的完整配置OceanBase
容器·kubernetes·oceanbase
无敌糖果16 小时前
K8S的Pod之initC容器restartPolicy新特性
云原生·容器·kubernetes·pod·restartpolicy·容器重启
程序大爆炸17 小时前
juicefs-csi中pod mount的annotation与label分析
云原生
G皮T17 小时前
【云计算】云主机的亲和性策略(一):快乐旅行团
云原生·云计算·公有云·集群架构·云主机·亲和性·反亲和性
Cyber4K18 小时前
MySQL--组从复制的详解及功能演练
运维·数据库·mysql·云原生