簡化Kubernetes多集群管理的三個步驟
譯文Kubernetes的足跡正在各個行業迅速擴展。許多企業已經在多個區域運行多個Kubernetes集群,以滿足在全球各地運營的需求,并為全球客戶減少應用程序延遲。企業可能已經在內部部署數據中心和許多公有云中擁有大量Kubernetes集群,并使用多個云提供商提供的云計算來避免鎖定。
不幸的是,操作分布式、多集群、多云環境并不是一項簡單的任務。Kubernetes是一項相對較新的技術。企業目前難以找到具有Kubernetes技能的員工,也很難找到用于多云Kubernetes管理的最佳工具。
如果企業的團隊在多集群Kubernetes方面遇到困難,這樣的事例并不少見。本文介紹了企業現在可以采取的三個步驟,以減少花在Kubernetes多集群管理上的時間和精力:
步驟1:對Kubernetes訪問采用零信任。Kubernetes零信任可以提高企業的多集群、多云Kubernetes環境的安全性。
步驟2:啟用持續部署。GitOps可幫助企業確保跨多個Kubernetes集群的集群和應用程序的一致部署。
步驟3:簡化多集群生命周期管理。Kubernetes變化很快。正確的多集群管理工具將幫助企業跟上部署和升級的步伐。
步驟1:對Kubernetes訪問采用零信任
鑒于多云Kubernetes管理的復雜性,發生許多嚴重的安全錯誤也就不足為奇了。預計2022年網絡犯罪和數據泄露事件將增加,企業必須盡一切可能確保Kubernetes集群和應用程序的安全性。
確保多集群Kubernetes管理訪問安全的最佳方法是采用零信任方法。零信任是一種安全模型,它假設在網絡中和網絡之間運行的所有參與者、系統和服務都不可信。
Kubernetes包含所有的要素來實現零信任以控制對企業中每個Kubernetes集群的訪問。這些要素分為四個關鍵領域:身份驗證、授權、許可控制、日志記錄和審計,如下圖所示。
步驟2:啟用多集群持續部署
頻繁的應用程序和基礎架構更新是多云、多集群Kubernetes環境中的常態。在許多情況下,企業的團隊需要同時部署到多個Kubernetes集群。對于數十個集群和數百個應用程序實例,幾乎不可能避免漂移:集群之間的配置不一致和配置錯誤會導致長時間的故障排除、停機或更糟的情況。
為了解決這些挑戰,許多企業正在轉向GitOps,將Git工具的熟悉功能引入基礎設施管理和持續部署(CD)。GitOps使用Git作為基礎設施和應用程序的單一事實來源。因為GitOps是聲明性的,所以它提供了更好的標準化、增強的安全性和更高的生產力。
Git存儲庫存儲用于定義、創建和更新應用程序和基礎設施的所有必要信息。當對存儲庫進行更改時,代碼會被推送到企業的集群(或從集群回滾),從而快速可靠地自動化部署。
雖然可以使用標準Git工具實施GitOps方法和GitOps工作流程,但需要一些額外的工具才能獲得全部好處,尤其是確保保持所需狀態的能力。
步驟3:簡化多集群生命周期管理
在許多企業中,Kubernetes環境隨著時間的推移而有機地增長,具有多個Kubernetes發行版和云服務,例如Amazon EKS和Azure AKS,以提供跨多個區域的必要覆蓋。Kubernetes的所有這些“風格”可能在核心上是相同的,但流行的云計算環境以及Red Hat Open Shift、Rancher和VMware Tanzu等發行版具有不同的管理工具。這意味著在每個環境中部署和更新集群可能會有很大的不同。
除非企業已經在單一風格的Kubernetes上實現了標準化,否則最好的解決方案是找到一種可以為企業執行生命周期管理的工具。不幸的是,這仍然是一個挑戰,因為幾乎沒有可用的工具同時涵蓋流行的Kubernetes發行版和云Kubernetes服務。許多供應商工具(例如用于多集群工作負載的Rancher)僅適用于他們自己的發行版或有其他限制。
原文標題:??3 Steps To Streamline Kubernetes Multi-Cluster Management??,作者:Kyle Hunter