将 API 服务器应用程序 ID 应用于 k8s 集群规范
Applying API Server App ID to k8s cluster spec
团队,
我已经有一个集群 运行,我需要更新 OIDC 值。有没有一种方法可以做到这一点而不必重新创建集群?
ex: 下面是我的集群信息,我需要更新 oidcClientID: spn:
我有 5 个 master 运行 怎么办?
kubeAPIServer:
storageBackend: etcd3
oidcClientID: spn:45645hhh-f641-498d-b11a-1321231231
oidcUsernameClaim: upn
oidcUsernamePrefix: "oidc:"
oidcGroupsClaim: groups
oidcGroupsPrefix: "oidc:"
你在你的 masters 上一个接一个地更新你的 kube-apiserver (update/restart)。如果您的集群设置正确,当您到达活动的 kube-apiserver 时,它应该会自动故障转移到另一个处于备用状态的 kube-apiserver master。
您可以在 /etc/kubernetes/manifests/kube-apiserver.yaml
pod 清单文件中添加 oidc 选项。
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>
确保备份的 运行 个节点永远不会少于 quorum which should be 3 for your 5 master cluster, to be safe. If for some reason your etcd cluster falls out of quorum you will have to recover by recreating the etcd cluster and restoring 个。
团队,
我已经有一个集群 运行,我需要更新 OIDC 值。有没有一种方法可以做到这一点而不必重新创建集群?
ex: 下面是我的集群信息,我需要更新 oidcClientID: spn:
我有 5 个 master 运行 怎么办?
kubeAPIServer:
storageBackend: etcd3
oidcClientID: spn:45645hhh-f641-498d-b11a-1321231231
oidcUsernameClaim: upn
oidcUsernamePrefix: "oidc:"
oidcGroupsClaim: groups
oidcGroupsPrefix: "oidc:"
你在你的 masters 上一个接一个地更新你的 kube-apiserver (update/restart)。如果您的集群设置正确,当您到达活动的 kube-apiserver 时,它应该会自动故障转移到另一个处于备用状态的 kube-apiserver master。
您可以在 /etc/kubernetes/manifests/kube-apiserver.yaml
pod 清单文件中添加 oidc 选项。
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>
确保备份的 运行 个节点永远不会少于 quorum which should be 3 for your 5 master cluster, to be safe. If for some reason your etcd cluster falls out of quorum you will have to recover by recreating the etcd cluster and restoring 个。