

K8s | StatefulSet是什么?
source link: https://jiac3366.github.io/2021/11/17/Kubernetes/StatefulSet%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

+c编程手记
Guangzhou, China18 深入理解StatefulSet(一):拓扑状态
实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,就被称为“有状态应用” Stateful Application
StatefulSet把真实世界的应用抽象成2种情况
在部署“有状态应用”的时候,应用的每个实例拥有唯一并且稳定的“网络标识”,是一个非常重要的假设
存储状态(下一节讲)
Service被访问的方式有2种
一、Service的虚拟 IP
二、Service的DNS
访问这个dns,正是这个 Service 的 VIP,和(一)一致
访问这个dns直接解析出被代理 Pod 的 IP 地址,这就叫 Headless Service
先创建 Headless Service
Headless Service 不需要分配一个 VIP,而是可以直接以 DNS 记录的方式解析出被代理 Pod 的 IP 地址
仍是一个标准 Service 的 YAML 文件。只不过它的 clusterIP 字段的值是:None- 创建后,它所代理的所有 Pod(label selector选出来的) 的 IP 地址,都会被绑定一个DNS 记录
再创建statefulset
只要知道了一个 Pod 的名字,以及它对应的 Service 的名字,就可通过这条 DNS 记录访问到 Pod 的 IP
- 和deployment YAML的唯一区别,就是多了一个 serviceName=nginx 字段,StatefulSet控制器会使用这个叫nginx 的Headless Service 来保证 Pod 的可解析身份(DNS记录)
这时候创建一个pod 对statefulset维护的2个pod nslookup 和删除这2个pod后再nslookup 结果一致,说明Kubernetes 就成功地将 Pod 的拓扑状态(比如:哪个节点先启动,哪个节点后启动),按照 Pod 的“名字 + 编号”的方式固定了下来。
注意:解析到的Pod 的 IP 地址,并不是固定的,所以对于“有状态应用”实例的访问,你必须使用 DNS 记录或者 hostname 的方式
Recommend
-
82
-
58
-
39
本文主要介绍Kubernetes之StatefulSet控制器的基本介绍与使用,并结合MySQL主从复制的案列讲解
-
22
节点离线后的 pod 状态 在 kubernetes 使用过程中,根据集群的配置不同,往往会因为如下情况的一种或几种导致节点 NotReady: kubelet 进程停止 apiserver 进程停止 etcd 进程停止
-
43
一开始 Kubernetes 只是被设计用来运行无状态应用,直到在 1.5 版本中才添加了
-
47
StatefulSet(状态集)1,什么是StatefulSet?StatefulSet又叫PetSet(之前的名称),它和RS,RC,Deployment等一样,都是pod控制器。StatefulSet是为了解决有状态服务的问题(对应于deoloyment和RS,RC,ReplicaSet都是为无状态服务而设计的)。什么是无状态服务?...
-
26
StatefulSet介绍遇到的问题:使用Deployment创建的Pod是无状态的,当挂在Volume之后,如果该Pod挂了,ReplicationController会再run一个来保证可用性,但是由于是无状态的,Pod挂了的时候与之前的Volume的关系就已经断开了,新起来的Pod无法找到之前的Pod。但是对...
-
18
一:StatefulsetStatefulSet是为了解决有状态服务的问题,对应的Deployment和ReplicaSet是为了无状态服务而设计,其应用场景包括:1.稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现2.稳定的网络标志,即Pod重新调度后其PodName和H...
-
12
StatefulSet是k8s中有状态应用管理的标准实现,今天就一起来了解下其背后设计的场景与原理,从而了解其适用范围与场景 1. 基础概念 首先介绍有状态应用里面的需要考虑的一些基础的事情,然后在下一章我们再去看stateful...
-
5
K8S 实战 - 09 StatefulSet 控制器 2021-03-19...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK