更改 kube-apiserver 参考的 etcd

kubeadmで構築したkubernetesの外部etcdサーバーを切り替える方法。
この環境では、kubernetesのマスターノードとetcdのクラスタが別のマシンで稼働している。
そのためマスターノードにあるkube-apiserverの設定を変更し、向いているetcdサーバーを変更する。

设置方式

主节点的kube-apiserver是在以下文件中进行配置的。

/etc/kubernetes/manifests/kube-apiserver.yaml

因此,請按照下面的方式編輯此文件。

  apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 192.168.0.2:6443
    creationTimestamp: null
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver
    namespace: kube-system
  spec:
    containers:
    - command:
      - kube-apiserver
      - --advertise-address=192.168.0.2
      - --allow-privileged=true
      - --authorization-mode=Node,RBAC
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --enable-admission-plugins=NodeRestriction
      - --enable-bootstrap-token-auth=true
-     - --etcd-servers=http://192.168.0.3:2379,http://192.168.0.4:2379,http://192.168.0.5:2379
+     - --etcd-servers=http://192.168.0.11:2379,http://192.168.0.12:2379,http://192.168.0.13:2379
      - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      - --requestheader-allowed-names=front-proxy-client
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --requestheader-extra-headers-prefix=X-Remote-Extra-
      - --requestheader-group-headers=X-Remote-Group
      - --requestheader-username-headers=X-Remote-User
      - --secure-port=6443
      - --service-account-issuer=https://kubernetes.default.svc.cluster.local
      - --service-account-key-file=/etc/kubernetes/pki/sa.pub
      - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      image: registry.k8s.io/kube-apiserver:v1.26.0
      ##### 後略 #####

重新启动 kubelet 然后.

systemctl restart kubelet

これで設定完了。

在这里只写了结论,详细内容请参阅下面。

 

广告
将在 10 秒后关闭
bannerAds