将API Server应用ID应用于k8s集群规范

时间:2018-11-07 18:28:25

标签: kubernetes kubectl azure-kubernetes

团队,

我已经有一个正在运行的集群,我需要更新OIDC值。有没有一种方法可以不必重新创建集群?

例如:以下是我的集群信息,我需要更新constructor(props){ super(props); this.state = { isLoading: true, rooms: [], data: [] } }

当我有5个主机运行时,该怎么办?

oidcClientID: spn:

1 个答案:

答案 0 :(得分:1)

您可以在主机上一一更新您的kube-apiserver(更新/重新启动)。如果您的集群设置正确,那么当您进入活动的kube-apiserver时,它将自动故障转移到备用的另一个kube-apiserver主服务器。

您可以在/etc/kubernetes/manifests/kube-apiserver.yaml舱清单文件中添加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=...
...

然后,如果您使用的是docker,则可以重新启动kube-apiserver容器:

$ sudo docker restart <container-id-for-kube-apiserver>

或者,如果您想重新启动主服务器上的所有组件,则:

$ sudo systemctl restart docker

在kube-apiserver容器上查看日志

$ sudo docker logs -f <container-id-for-kube-apiserver>

为确保安全,请确保您运行的节点数量永远不会少于quorum(对于您的5个主群集来说应该为3个)。如果由于某种原因您的etcd群集超出了法定人数,则必须通过重新创建etcd群集和restoring从备份中进行恢复。