Вы обновляете свой kube-apiserver на своих мастерах по одному (обновление / перезапуск). Если ваш кластер настроен правильно, когда вы получите активный kube-apiserver, он должен автоматически переключиться на другой мастер kube-apiserver в режиме ожидания.
Вы можете добавить параметры oidc в файл манифеста /etc/kubernetes/manifests/kube-apiserver.yaml
pod.
apiVersion: v1
kind: Pod
metadata:
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ""
creationTimestamp: null
labels:
component: kube-apiserver
tier: control-plane
name: kube-apiserver
namespace: kube-system
spec:
containers:
- command:
- kube-apiserver
- --authorization-mode=Node,RBAC
- --advertise-address=172.x.x.x
- --allow-privileged=true
- --client-ca-file=/etc/kubernetes/pki/ca.crt
- --oidc-client-id=...
- --oidc-username-claim=...
- --oidc-username-prefix=...
- --oidc-groups-claim=...
- --oidc-groups-prefix=...
...
Затем вы можете перезапустить ваш kube-apiserver
контейнер, если вы используете docker:
$ sudo docker restart <container-id-for-kube-apiserver>
Или, если вы хотите перезапустить все компоненты на мастере:
$ sudo systemctl restart docker
Следите за журналами в контейнере kube-apiserver
$ sudo docker logs -f <container-id-for-kube-apiserver>
Убедитесь, что у вас никогда не будет меньше работающих узлов, чем у кворума , который должен быть 3 для вашего 5 главных кластеров, чтобы быть в безопасности. Если по какой-то причине ваш кластер etcd выходит из кворума, вам нужно будет восстановить его, воссоздав кластер etcd и восстановив из резервной копии.