Google已經通過幾次更新對它的Kubernetes Engine (GKE)服務進行了升級。用戶現在可以大規模使用GKE,并且目前除了使用kubectl命令對集群進行控制管理外,它還支持通過一個Web端的控制面板云控制臺Cloud Console對集群進行管理。除此之外,GKE還可以通過使用Google最佳實踐來運行Kubernetes集群,從而增強了安全性。
在12月初,Google宣布GKE的區域性集群(regional clusters)正處于測試中并且擁有更好的可擴展性。這就意味著,用戶現在可以創建一個Kubernetes集群,它可以有多個master節點并且具有高可用的控制平面(control plane)。區域性集群的好處是,當升級master節點以及恢復單個區域出現錯誤時,可以減少宕機時間。對于GKE用戶來說,新的云控制臺可以更好地管理集群、排除故障以及執行各種修復。除此之外,Google還提供了幾種運行Kubernetes集群的最佳實踐。他們建議為各個節點、各個管理員使用盡可能少的特權賬戶并禁用Kubernetes Web UI (也就是Kubernetes Dashboard)和生產環境中的遺留授權。
圖片來源:https://cloudplatform.googleblog.com/2017/12/Manage-Google-Kubernetes-Engine-from-Cloud-Console-dashboard-now-generally-available.html
在Kubernetes區域性集群中,master節點和其他節點分布在三個區域中,每個區域默認會有三個節點。這種master節點和其它節點的分布使得有一個區域出現故障時依然能保證集群可用。此外,通過增加每個區域中的節點數量(通過配置--num-nodes屬性),可以進一步增強集群的可用性和可拓展性。可以從相關文檔中找到關于區域性集群特性更詳細的信息。
圖片來源:https://cloudplatform.googleblog.com/2017/12/with-Google-Kubernetes-Engine-regional-clusters-master-nodes-are-now-highly-available.html
在測試GKE區域性集群這一特性期間,這一服務是免費的。最后,在對集群進行配置時,Google建議:
通過云控制臺中的IAM來創建服務賬戶,在將它們與各個節點進行關聯之前遵循最少特權原則。當集群已經啟動并運行時,禁用Kubernetes Web UI,因為它受控于一個擁有高度特權的賬戶。禁用遺留授權,那是基于屬性的訪問控制(ABAC,Attribute-Based Access Control)。在Kubernetes 1.8中,ABAC默認是禁用的。在Google Cloud Platform博客中可以找到完整的如何在GKE中運行Kubernetes集群的安全性推薦的有關詳細內容。
目前三家公有云服務提供商(Google、Amazon、Microsoft)都在通過各自的服務來支持Kubernetes。Amazon和Microsoft在各自的平臺上都與可用的通用容器配置工具。這兩家云服務提供商目前都把精力主要集中于Kubernetes。Microsoft通過為Kubernetes使用一個專用的Azure容器服務(AKS)來對Kubernetes提供支持,該服務于去年10月推出,并可以在公開預覽版中進行使用。Amazon在他們最近的re:Invent大會上也宣布了,他們將通過一項名為Amazon Elastic Container Service的服務來支持Kubernetes,這項服務目前也在公開預覽階段。
查看英文原文:Google Kubernetes Engine Upgrades: Regional Clusters, New Dashboard and Security Recommendations