摘要:核心組件故障恢復核心組件故障恢復核心組件故障恢復本篇目錄組件的故障恢復組件的故障恢復的故障恢復的故障恢復容器引擎的恢復容器引擎的恢復組件的故障恢復組件的故障恢復組件的故障恢復是的核心管理組
APIServer、Controller Manager、Scheduler 是 Kubernetes 的核心管理組件,在 UK8S 集群中,默認配置三臺 Master 節點,每臺 Master 節點上均部署安裝了這些核心組件,各個組件通過負載均衡對外提供服務,確保集群的高可用。
當某個組件出現故障時,請逐臺登錄三臺 Master 節點,通過 systemctl status ${PLUGIN_NAME}
確認組件狀態,如組件不可用,可通過以下步驟進行恢復:
# 將一臺健康 Master 節點的內網 IP 配置為環境變量,便于從健康節點拷貝相關文件
export IP=10.23.17.200
# 從健康節點拷貝 APIServer、Controller Manager、Scheduler 組件二進制安裝包
## 1.16 及以下 UK8S 版本,K8S 組件統一安裝在 hyperkube 文件中
scp root@IP:/usr/local/bin/hyperkube /usr/local/bin/hyperkube
## 1.17 及以后 UK8S 版本,K8S 組件以獨立二進制文件形式安裝
scp root@IP:/usr/local/bin/{kube-apiserver,kube-controller-manager,kube-scheduler} /usr/local/bin/
# 拷貝 APIServer、Controller Manager、Scheduler 組件服務文件
scp root@IP:/usr/lib/systemd/system/{kube-apiserver.service,kube-controller-manager.service,kube-scheduler.service} /usr/lib/systemd/system/
# 拷貝 APIServer、Controller Manager、Scheduler 組件配置文件
scp root@IP:/etc/kubernetes/{apiserver,controller-manager,kube-scheduler.conf} /etc/kubernetes/
# 拷貝 kubectl 二進制文件
scp root@IP:/usr/local/bin/kubectl /usr/local/bin/kubectl
# 拷貝 kubeconfig
scp -r root@IP:~/.kube ~/
# 修改 APIServer 配置參數
vim /etc/kubernetes/apiserver # 將 advertise-address 參數配置為故障節點 IP
# 啟用服務
systemctl enable --now kube-apiserver kube-controller-manager kube-scheduler
# 配置 APIServer 負載均衡器的內外網 IP(僅在開啟外網 APIServer 功能情況下需要配置外網 IP)
scp root@IP:/etc/sysconfig/network-scripts/ifcfg-lo:internal /etc/sysconfig/network-scripts/ifcfg-lo:internal
scp root@IP:/etc/sysconfig/network-scripts/ifcfg-lo:external /etc/sysconfig/network-scripts/ifcfg-lo:external
systemctl restart network
Kubelet、Kube-proxy 部署在每個 Master / Node 節點上,分別負責節點注冊及流量轉發。
注:2020.6.12 以前創建的 UK8S 集群中,Master 節點上默認不安裝 Kubelet,不能通過
kubectl get node
顯示。
# 將一臺健康節點的內網 IP 配置為環境變量,便于從健康節點拷貝相關文件
export IP=10.23.17.200
# 從健康節點拷貝 Kubelet、Kube-proxy 組件二進制安裝包
## 1.16 及以下 UK8S 版本,K8S 組件統一安裝在 hyperkube 文件中,如在上一環節中已執行過此操作可忽略
scp root@IP:/usr/local/bin/hyperkube /usr/local/bin/hyperkube
## 1.17 及以后 UK8S 版本,K8S 組件以獨立二進制文件形式安裝
scp root@IP:/usr/local/bin/{kubelet,kube-proxy} /usr/local/bin/
# 準備目錄
mkdir -p /opt/cni/net.d
mkdir -p /opt/cni/bin
mkdir -p /var/lib/kubelet
# 配置文件拷貝、服務文件
scp root@$IP:/etc/kubernetes/{kubelet,kubelet.conf,kube-proxy.conf,ucloud} /etc/kubernetes/
scp root@$IP:/usr/lib/systemd/system/{kubelet.service,kube-proxy.service} /usr/lib/systemd/system/
scp root@$IP:/etc/kubernetes/set-conn-reuse-mode.sh /etc/kubernetes/
scp root@$IP:/etc/rsyslog.conf /etc/
scp root@$IP:/opt/cni/bin/{cnivpc,loopback,host-local} /opt/cni/bin/
scp root@$IP:/opt/cni/net.d/10-cnivpc.conf /opt/cni/net.d/
# 修改配置參數
# 修改 --node-ip、--hostname-override 為待修復節點 IP
# 修改 --node-labels 中 topology.kubernetes.io/zone、failure-domain.beta.kubernetes.io/zone 為待修復節點可用區(cn-bj2-02)
# 修改 --node-labels 中 UHostID、node.uk8s.ucloud.cn/resource_id 為待修復節點資源 ID(uhost-xxxxxxxx)
vim /etc/kubernetes/kubelet
# 禁用swap
swapoff -a
# 啟用服務
systemctl enable --now kubelet kube-proxy
# 將一臺健康 Master 節點的內網 IP 配置為環境變量,便于從健康節點拷貝相關文件
export IP=10.23.17.200
# 準備目錄
mkdir -p /data/docker
rm -rf /var/lib/docker
ln -s /data/docker /var/lib/docker
# 安裝包下載及安裝
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.14-3.el7.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.3-3.2.el7.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.14-3.el7.x86_64.rpm
yum install *.rpm -y
# 拷貝配置及服務文件
scp root@$IP:/usr/lib/systemd/system/docker.service /usr/lib/systemd/system/
scp root@$IP:/etc/docker/daemon.json /etc/docker/
# 啟用服務
systemctl enable --now docker
3.2 Containerd 容器引擎# 將一臺健康 Master 節點的內網 IP 配置為環境變量,便于從健康節點拷貝相關文件
export IP=10.23.17.200
# 準備目錄
mkdir -p /etc/containerd
mkdir -p /data/containerd
mkdir -p /data/log/pods
ln -s /data/containerd /var/lib/containerd
ln -s /data/log/pods /var/log/pods
# 安裝包下載及安裝
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.3-3.2.el7.x86_64.rpm
yum install containerd.io-1.4.3-3.2.el7.x86_64.rpm
# 拷貝配置文件
scp root@$IP:/etc/containerd/{config.toml,containerd.toml} /etc/containerd/
scp root@$IP:/usr/lib/systemd/system/containerd.service /usr/lib/systemd/system/
scp root@$IP:/usr/local/bin/crictl /usr/local/bin/
scp root@$IP:/etc/crictl.yaml /etc/
# 啟用服務
systemctl start containerd
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/127163.html
摘要:對于存儲資源,的節點默認系統盤。節點創建時可選擇數據盤掛載亦可在節點創建完成后在主機側掛載,如節點掛載有數據盤,將用于存放本地鏡像的,否則本地鏡像等將保存在系統盤。 集群節點配置推薦本篇目錄1. Master 配置推薦2. 如何選擇 Node 配置大小1. Master 配置推薦Master 規格跟集群規模有關,集群規模越大,所需要的 Master 規格也越高,不同集群規模的,Master ...
摘要:節點作為承載工作負載的實體,是一個非常重要的對象,在實際運營過程中,節點會出現各種問題,本文簡要描述下節點的各種異常狀態及排查思路。預防節點該文檔為預防節點的開源方案,不提供,僅做參考,請謹慎使用。節點作為承載工作負載的實體,是 Kubernetes 一個非常重要的對象,在實際運營過程中,節點會出現各種問題,本文簡要描述下節點的各種異常狀態及排查思路。節點狀態說明節點情況說明處理辦法Read...
摘要:完全兼容原生的,以私有網絡為基礎,并整合了等云產品。綜合資源有效利用率錯誤容忍度兩個因素,在不考慮業務混合部署業務總體規模大小的情況下,我們建議生產環境的節點應該介于核至核之間。模式是一個用于負載均衡的內核功能。產品概念UCloud Container Service for Kubernetes (UK8S)是一項基于Kubernetes的容器管理服務,你可以在UK8S上部署、管理、擴展你...
摘要:宋體自年被開源以來,很快便成為了容器編排領域的標準。宋體年月,樂心醫療的第一個生產用集群正式上線。所以于年推出后,樂心醫療的運維團隊在開會討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開源以來,很快便成為了容器編排領域的標準。因其支持自動化部署、大規??缮炜s和容器化管理等天然優勢,已經被廣泛接納。但由于 Kubernetes 本身的復雜性,也讓很多企業的...
摘要:客戶端庫,為需要監控的服務生成相應的并暴露給。根據配置文件,對接收到的警報進行處理,發出告警。再創建一個來告訴需要監控帶有為的背后的一組的。什么是Prometheus關于PrometheusPrometheus 是一套開源的系統監控報警框架。它的設計靈感源于 Google 的 borgmon 監控系統,由SoundCloud 在 2012 年創建,后作為社區開源項目進行開發,并于 2015 ...
摘要:模式選擇是中的關鍵組件其主要功能是在和其后端之間進行負載均衡。詳見后續測試數據對于集群規模中等,數量不多的,推薦選擇。模式下,使用負載均衡代替了。漏洞修復記錄HTTP/2漏洞升級說明Runc容器逃逸漏洞修復說明cloudprovider更新20.10.1集群節點配置推薦1、Master配置推薦Master規格跟集群規模有關,集群規模越大,所需要的Master規格也越高,不同集群規模的,Mas...
閱讀 284·2024-11-07 18:25
閱讀 130363·2024-02-01 10:43
閱讀 868·2024-01-31 14:58
閱讀 828·2024-01-31 14:54
閱讀 82766·2024-01-29 17:11
閱讀 3047·2024-01-25 14:55
閱讀 1985·2023-06-02 13:36
閱讀 3033·2023-05-23 10:26