LoginSignup
0
1

More than 1 year has passed since last update.

kube-apiserverが参照するetcdを変更する

Posted at

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

設定方法

マスターノードのkube-apiserverは下記のファイルで設定されている。

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

そのためこのファイルを下記のように編集する。

/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

これで設定完了。

ここでは結論だけ書いたが、詳細は下記を参照。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1