管理 Kubernetes 叢集
有效管理 Kubernetes 叢集對於維持效能和可靠性至關重要。這包括擴充、升級和更新叢集中的節點。
擴展叢集
Kubernetes 提供水平擴充功能,讓您可以根據工作負載需求輕鬆調整工作節點的數量。
- 新增節點(向上擴展):
- 準備新的節點:確保新節點符合您所需 Kubernetes 版本的建議系統需求。安裝必要的軟體,包括 Docker 或 Containerd 等容器執行階段,以及 kubelet 代理程式。請參閱 Kubernetes 官方文件,了解根據您作業系統的詳細安裝步驟
- 加入節點至叢集:使用新節點上的 kubeadm 加入命令來加入現有叢集。您需要從初始叢集設定取得下列資訊:
- 主節點 IP 位址:主節點的 IP 位址。
- 加入權杖:此權杖是在控制面初始化期間產生的,並在輸出中提供。
以下是 kubeadm 加入命令的範例:
$ sudo kubeadm 加入<master_ip_address>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
|
- <master_ip_address> 以主節點的實際IP位址取代。
- <token> 以控制面初始化期間產生的權杖取代。
- <hash> 以控制面初始化輸出的發現權杖 CA 憑證雜湊取代。
移除節點(向下擴展):
在移除節點之前,務必先將節點排乾。排乾可確保您的應用程式不會停機,方法是從節點中優雅地清除 pod 並在健康的節點上排程。
排放節點:使用 kubectl 排放命令,排放您要移除的節點。此命令會從節點移除 pod,同時讓 DaemonSets(關鍵系統服務) 繼續執行。
$ kubectl drain <node-name> --ignore-daemonsets
|
<node-name> 以您想要移除的節點的主機名稱或 IP 位址取代。
刪除節點:排放後,您可以使用 kubectl 刪除節點命令安全地從叢集中移除節點。
$ kubectl delete node <node-name>
|
<node-name> 以您想要移除的節點的主機名稱或 IP 位址取代。
您也可以執行其他管理作業,例如升級控制平面、升級工作人員節點,以及連續升級。
維持最佳效能:監控、記錄和儲存
有效的監控與記錄對於維持 Kubernetes 叢集的健康至關重要。Prometheus 和 ELK Stack 等工具提供了對資源利用率、pod 健全度和整體效能的深度見解,使您能夠在問題影響應用程式之前主動識別和處理問題。Kubernetes 也與各種第三方解決方案整合,提供彈性。
高效率的資料管理是具狀態應用程式的關鍵。Pure Storage 的 Portworx® 提供強大的容器原生解決方案,能與您的 Kubernetes 叢集無縫整合。
Portworx 透過下列方式簡化工作負載的儲存作業:
- 提供持久性容量:即使重新啟動或重新排程 pod,也能確保資料持續存在。
- 提供資料保護與災害復原:提供快照和複寫功能,並盡可能減少事故期間的停機時間。
- 簡化管理:提供易於使用的介面,以配置、監控和管理儲存資源。
結論
Kubernetes 叢集是現代化容器調度的基礎,提供更佳的擴充性、容錯性,以及簡化的應用程式管理。了解 Kubernetes 叢集的元件、設定流程與管理實務,對於發揮其完整潛力至關重要。Pure Storage 的 Portworx 與 Kubernetes 無縫整合,提供強大的儲存功能,可提升容器化工作負載的整體效率與可靠性。