07 部署 kube-scheduler 組件
Kubernetes 集群的調(diào)度器組件,負(fù)責(zé)集群 Pod 的調(diào)度,將 Pod 分配到最佳的 Node 節(jié)點(diǎn)上。
更多內(nèi)容請移步 Kubernetes 官網(wǎng)詳閱。
7.1 獲取二進(jìn)制軟件包
在本地主機(jī)上操作。
將 kube-scheduler 分發(fā)到 3 臺服務(wù)器上。
cd /data/k8s-deploy/software/kubernetes-server-v1.23.6-linux-amd64
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-scheduler root@$h:/usr/local/bin/;done
scp kube-scheduler root@k8s-master-01:/usr/local/bin/
scp kube-scheduler root@k8s-master-02:/usr/local/bin/
scp kube-scheduler root@k8s-master-03:/usr/local/bin/
7.2 生成 kubeconfig 憑證文件
在本地主機(jī)上操作。
kubeconfig 是與 kube-apiserver 通信認(rèn)證的文件,至關(guān)重要。
生成之后將其分發(fā)到 3 臺服務(wù)器上。
cd /data/k8s-deploy/kubeconfig
kubectl config set-cluster kubernetes \
--certificate-authority=../tls-csr/ca.pem \
--embed-certs=true \
--server=https://192.168.3.201:6443 \
--kubeconfig=kube-scheduler.kubeconfig
kubectl config set-credentials system:kube-scheduler \
--client-certificate=../tls-csr/kube-scheduler.pem \
--client-key=../tls-csr/kube-scheduler-key.pem \
--embed-certs=true \
--kubeconfig=kube-scheduler.kubeconfig
kubectl config set-context system:kube-scheduler \
--cluster=kubernetes \
--user=system:kube-scheduler \
--kubeconfig=kube-scheduler.kubeconfig
kubectl config use-context system:kube-scheduler --kubeconfig=kube-scheduler.kubeconfig
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-scheduler.kubeconfig root@$h:/etc/kubernetes/kubeconfig/;done
scp kube-scheduler.kubeconfig root@k8s-master-01:/etc/kubernetes/kubeconfig/
scp kube-scheduler.kubeconfig root@k8s-master-02:/etc/kubernetes/kubeconfig/
scp kube-scheduler.kubeconfig root@k8s-master-03:/etc/kubernetes/kubeconfig/
7.3 生成服務(wù)配置文件
在本地主機(jī)上操作。
k8s-deploy 已提供了 kube-scheduler 的配置文件模板,內(nèi)容不需要修改,將其分發(fā)到 3 臺服務(wù)器上。
cd /data/k8s-deploy/config
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-scheduler.conf kube-scheduler.yaml root@$h:/etc/kubernetes/conf/;done
scp kube-scheduler.conf kube-scheduler.yaml root@k8s-master-01:/etc/kubernetes/conf/
scp kube-scheduler.conf kube-scheduler.yaml root@k8s-master-02:/etc/kubernetes/conf/
scp kube-scheduler.conf kube-scheduler.yaml root@k8s-master-03:/etc/kubernetes/conf/
7.4 生成服務(wù)啟動(dòng)管理文件
在本地主機(jī)上操作。
k8s-deploy 已提供了服務(wù)啟動(dòng)管理文件,不需要修改內(nèi)容,直接分發(fā)到 3 臺服務(wù)器即可。
cd /data/k8s-deploy/service
#K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
#for h in ${K8S_HOST[@]};do scp kube-scheduler.service root@$h:/etc/systemd/system/;done
scp kube-scheduler.service root@k8s-master-01:/etc/systemd/system/
scp kube-scheduler.service root@k8s-master-02:/etc/systemd/system/
scp kube-scheduler.service root@k8s-master-03:/etc/systemd/system/
7.5 啟動(dòng) kube-scheduler 服務(wù)
分別在 3 臺服務(wù)器上操作。
服務(wù)配置文件和服務(wù)啟動(dòng)管理文件都分發(fā)之后,分別登錄到 3 臺服務(wù)器上啟動(dòng) kube-scheduler 服務(wù)。
systemctl daemon-reload
systemctl enable kube-scheduler
systemctl start kube-scheduler
systemctl status kube-scheduler