Henry
发布于 2025-03-04 / 12 阅读
0
0

Kubernetes - 重启 StatefulSet Pod

背景简介

在 Kubernetes 中,使用 kubectl rollout restart 命令可重启 StatefulSet 管理的 Pod,命令会触发 StatefulSet 更新,逐个删除并重新创建 Pod,保持有状态应用的稳定性与唯一标识。

环境信息

  1. Kubernetes 已安装 【Kubernetes - 安装

详细步骤

第一步: 查看部署信息

  • 查看 statefulset 
$ kubectl get statefulset -n dev-upgrade

NAME                   READY   AGE
clusteringservice      2/2     18h
elasticsearch-master   2/2     21h
pega-hazelcast         2/2     18h
  • 查看 pod
$ kubectl get pod -n dev-upgrade
NAME                                                   READY   STATUS    RESTARTS   AGE
clusteringservice-0                                    1/1     Running   0          7h
clusteringservice-1                                    1/1     Running   0          7h
dev-pega870pe-kafka-f5b8db5f8-kjhnj                    1/1     Running   0          7h3m
dev-pega870pe-zookeeper-848d59d4b7-rqjc8               1/1     Running   0          7h3m
dev-upgrade-batch-79c599fb84-52kfq                     1/1     Running   0          57m
dev-upgrade-batch-79c599fb84-pwbdm                     1/1     Running   0          58m
dev-upgrade-constellation-767554b58f-6pvhc             1/1     Running   0          7h3m
dev-upgrade-constellation-messaging-5547b9c98b-k4jjr   1/1     Running   0          7h3m
dev-upgrade-db-65b74bcfdf-vvflq                        1/1     Running   0          7h3m
dev-upgrade-srs-7c7b45d665-4xr4t                       1/1     Running   0          30m
dev-upgrade-web-78dd9968c-8xs6r                        1/1     Running   0          64m
dev-upgrade-web-78dd9968c-j78mb                        1/1     Running   0          66m
elasticsearch-master-0                                 1/1     Running   0          7h1m
elasticsearch-master-1                                 1/1     Running   0          7h1m
pega-hazelcast-0                                       1/1     Running   0          7h1m
pega-hazelcast-1                                       1/1     Running   0          7h

第二步: 使用 rollout restart 重启服务

$ kubectl rollout restart statefulset elasticsearch-master -n dev-upgrade
  • 重启过程是顺序的,它会等待一个 Pod 成功启动并变为 Ready 状态后,再继续重启下一个 Pod。
$ kubectl get pod -n dev-upgrade
NAME                                                   READY   STATUS     RESTARTS   AGE
clusteringservice-0                                    1/1     Running    0          7h1m
clusteringservice-1                                    1/1     Running    0          7h1m
dev-pega870pe-kafka-f5b8db5f8-kjhnj                    1/1     Running    0          7h4m
dev-pega870pe-zookeeper-848d59d4b7-rqjc8               1/1     Running    0          7h4m
dev-upgrade-batch-79c599fb84-52kfq                     1/1     Running    0          58m
dev-upgrade-batch-79c599fb84-pwbdm                     1/1     Running    0          59m
dev-upgrade-constellation-767554b58f-6pvhc             1/1     Running    0          7h4m
dev-upgrade-constellation-messaging-5547b9c98b-k4jjr   1/1     Running    0          7h4m
dev-upgrade-db-65b74bcfdf-vvflq                        1/1     Running    0          7h4m
dev-upgrade-srs-7c7b45d665-4xr4t                       1/1     Running    0          31m
dev-upgrade-web-78dd9968c-8xs6r                        1/1     Running    0          65m
dev-upgrade-web-78dd9968c-j78mb                        1/1     Running    0          67m
elasticsearch-master-0                                 1/1     Running    0          7h2m
elasticsearch-master-1                                 0/1     Init:0/1   0          1s
pega-hazelcast-0                                       1/1     Running    0          7h2m
pega-hazelcast-1                                       1/1     Running    0          7h1m
$ kubectl get pod -n dev-upgrade
NAME                                                   READY   STATUS    RESTARTS   AGE
clusteringservice-0                                    1/1     Running   0          7h4m
clusteringservice-1                                    1/1     Running   0          7h3m
dev-pega870pe-kafka-f5b8db5f8-kjhnj                    1/1     Running   0          7h7m
dev-pega870pe-zookeeper-848d59d4b7-rqjc8               1/1     Running   0          7h7m
dev-upgrade-batch-79c599fb84-52kfq                     1/1     Running   0          60m
dev-upgrade-batch-79c599fb84-pwbdm                     1/1     Running   0          62m
dev-upgrade-constellation-767554b58f-6pvhc             1/1     Running   0          7h7m
dev-upgrade-constellation-messaging-5547b9c98b-k4jjr   1/1     Running   0          7h7m
dev-upgrade-db-65b74bcfdf-vvflq                        1/1     Running   0          7h7m
dev-upgrade-srs-7c7b45d665-4xr4t                       1/1     Running   0          34m
dev-upgrade-web-78dd9968c-8xs6r                        1/1     Running   0          68m
dev-upgrade-web-78dd9968c-j78mb                        1/1     Running   0          69m
elasticsearch-master-0                                 0/1     Running   0          46s
elasticsearch-master-1                                 1/1     Running   0          2m25s
pega-hazelcast-0                                       1/1     Running   0          7h5m
pega-hazelcast-1                                       1/1     Running   0          7h3m

以上便是本文的全部内容,感谢您的阅读,如遇到任何问题,欢迎在评论区留言,我会通过邮件回复。



评论