StatefulSet:Kubernetes有状态应用管理
StatefulSet:管理有状态应用
StatefulSet特点
- 稳定的网络标识:固定的主机名和DNS
- 稳定的存储:持久化PVC
- 有序的部署和扩缩容
- 有序的滚动更新
配置示例
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
spec:
serviceName: mysql
replicas: 3
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.0
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: root-password
volumeMounts:
- name: data
mountPath: /var/lib/mysql
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: fast
resources:
requests:
storage: 10Gi
管理命令
# 扩缩容
kubectl scale statefulset mysql --replicas=5
# 查看Pod列表(有序命名)
kubectl get pods -l app=mysql
# 删除StatefulSet(保留PVC)
kubectl delete statefulset mysql --cascade=orphan
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







