日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Kubernetes1.18.3高可用集群快速升級(jí)及擴(kuò)容過(guò)程

Kubernetes 1.18.3高可用集群快速升級(jí)及擴(kuò)容過(guò)程

在 Kubernetes 集群中,高可用性是非常重要的一個(gè)特性,當(dāng)集群中的某個(gè)組件出現(xiàn)故障時(shí),我們需要確保整個(gè)集群仍然能夠正常運(yùn)行,本文將介紹如何在 Kubernetes 1.18.3 版本中實(shí)現(xiàn)高可用集群的快速升級(jí)及擴(kuò)容過(guò)程。

準(zhǔn)備工作

在進(jìn)行任何升級(jí)或擴(kuò)容操作之前,我們需要確保集群中的各個(gè)組件都已經(jīng)升級(jí)到最新版本,可以通過(guò)以下命令查看集群中的組件版本:

kubectl get nodes
kubectl get pods --all-namespaces
kubectl get deployments --all-namespaces
kubectl get services --all-namespaces

升級(jí) Kubernetes 集群

1、更新控制平面組件

我們需要更新控制平面組件,包括 etcd、API Server、Controller Manager 和 kube-proxy,可以通過(guò)以下命令分別更新這些組件:

更新 etcd
etcd_version=$(kubectl get componentstatuses | grep etcd | awk '{print $4}')
echo "當(dāng)前 etcd 版本:${etcd_version}"
curl -L https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz | tar xz && sudo mv etcd-v3.5.0-linux-amd64/etcd* /usr/local/bin/ && sudo rm -rf etcd-v3.5.0-linux-amd64
sudo systemctl restart etcd
更新 API Server
kubectl apply -f https://raw.githubusercontent.com/kubernetes/api/v1.22.0/deploy/kube-apiserver.yaml
更新 Controller Manager
kubectl apply -f https://raw.githubusercontent.com/kubernetes/controller-manager/v1.22.0/deploy/kube-controller-manager.yaml
更新 kube-proxy
kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/apiserver/components/v1alpha1/proxy/configmap.yaml

2、更新非控制平面組件

除了控制平面組件之外,我們還需要更新其他非控制平面組件,如 kubelet、kubeadm、kubectl 等,可以通過(guò)以下命令分別更新這些組件:

更新 kubelet
sudo apt-get update && sudo apt-get install -y kubeadm=1.22.0-00 kubelet=1.22.0-00 kubectl=1.22.0-00 kubernetes-cni=0.7.5-00 linux-headers-$(uname -r) build-essential libssl1.1 libffi6 libsnappy3 python3 python3-pip git make cmake jq

擴(kuò)容集群

1、添加新的節(jié)點(diǎn)

在擴(kuò)容集群時(shí),我們需要添加一個(gè)新的節(jié)點(diǎn),可以通過(guò)以下步驟添加新的節(jié)點(diǎn):

(1) 在新節(jié)點(diǎn)上安裝操作系統(tǒng)并配置網(wǎng)絡(luò)。

(2) 將新節(jié)點(diǎn)加入到集群中,首先停止新節(jié)點(diǎn)上的 kubelet 服務(wù):

systemctl stop kubelet

然后在新節(jié)點(diǎn)上運(yùn)行 kubeadm init –pod-network-cidr=192.168.0.0/16 –upload-certs –control-plane –certificate-key > kubeadm_init.log 2>&1 &

(3) 在初始化過(guò)程中,kubeadm 將輸出一些信息,我們需要根據(jù)這些信息完成后續(xù)操作,我們需要將新節(jié)點(diǎn)的加入信息提供給其他節(jié)點(diǎn):

kubeadm token create --print-join-command > join_cmd.sh
chmod +x join_cmd.sh

(4) 在其他節(jié)點(diǎn)上運(yùn)行 join_cmd.sh,將新節(jié)點(diǎn)加入到集群中:

source /admin.conf && kubeadm join :6443 --token  --discovery-token-ca-cert-hash  --control-plane --certificate-key  > kubeadm_join.log 2>&1 &

2、將工作負(fù)載遷移到新節(jié)點(diǎn)上

在將工作負(fù)載遷移到新節(jié)點(diǎn)上之前,我們需要確保新節(jié)點(diǎn)已經(jīng)成功加入到集群中,可以通過(guò)以下命令檢查新節(jié)點(diǎn)的狀態(tài):

kubectl get nodes

接下來(lái),我們需要將工作負(fù)載遷移到新節(jié)點(diǎn)上,這通常需要修改部署和服務(wù)的配置文件,將 Pod 調(diào)度到新節(jié)點(diǎn)上,如果我們有一個(gè)名為 myapp 的部署,可以使用以下命令將其遷移到新節(jié)點(diǎn)上:


                                                                                                        
名稱欄目:Kubernetes1.18.3高可用集群快速升級(jí)及擴(kuò)容過(guò)程
分享地址:http://www.dlmjj.cn/article/dpdhdhc.html