技術部落格

集結國內外精選文章,掌握最新雲端技術新知與應用

iKala Cloud / 應用程式現代化 / 6 個你應該選擇 Google Kubernetes Engine 的理由暨新功能介紹

6 個你應該選擇 Google Kubernetes Engine 的理由暨新功能介紹

雲原生技術蔚為主流,由 Google 創造並開源的 Kubernetes (K8s) 是新一代的軟體核心。Google 正在努力建立行業標準和服務,使每個人都能輕鬆使用這項服務。本文就跟您介紹,自去年的 KubeCon 大會以來,Google 又推出了哪些 Kubernetes 的新功能、您如何善用這項技術從中獲益,介紹 6 個您應該選擇 Google Kubernetes Engine(下文簡稱 GKE)作為 K8s 託管服務的原因。

一、GKE Autopilot:幫助您執行正式環境就緒的 k8s,降低營運成本

Kubernetes 管理服務 GKE 一直以來的宗旨,就是為了讓用戶輕鬆執行容器化應用程式,同時還能讓你獲得你所需要的控制權。

GKE 現在推出了 Autopilot 功能,他是一種新的 GKE 維運模式,目的是讓用戶降低管理叢集成本、優化用於正式環境叢集嗚效能,並提升您工作負載的可用性 (availability)。有了 GKE Autopilot,你就可以體驗 Kubernetes 的自動化,既可以優化你的叢集,使之適合正式環境,又可以降低管理叢集的營運成本。

客戶 STRABAG 表示,「對我們來說,降低複雜性,同時最大限度地發揮 Kubernetes 的作用是關鍵,而 GKE Autopilot 剛好符合這關鍵要求!」

目前 GKE 推出 Autopilot mode 與 Standard mode 兩種模式;如果有些用戶,需要更進階配置 node 的彈性,可以繼續在 Standard mode,自行管理底層基礎架構。

隨著客戶擴大正式環境,對於可用性、減少故障影響,或者分配不同類型的服務應用⋯⋯等要求越來越高,需要在多個叢集之間進行部署。利用最近推出的 GKE multi-cluster services,Kubernetes 服務對象現在可以在:單一可用區 (zoned) 內的多個叢集、多個可用區 (zones)、或是跨越多個區域 (regions) 執行,您只需要最簡單的設定或者最小的成本來管理叢集之間的互連。GKE 多叢集服務能夠使你專注於你的應用程式的需求,而 GKE 則會幫您搞定多叢集拓撲結構。

 

客戶 Mercari 表示,「我們一直在單一的多租戶 GKE 叢集 (single multi-tenant GKE cluster) 中執行我們所有的微服務。對於我們的下一代 Kubernetes 架構,我們正在設計 multi-region 同質和異質叢集,叢集間無縫地通訊是一個先決條件,也是多叢集服務承諾提供的。開發人員將不再需要考慮服務在哪裡執行。我們對這一前景感到非常興奮

二、為 GKE 建立並擴展 CI/CD pipeline

對持續整合和持續交付 (CI/CD) 管線進行擴展可能是一個耗時的過程,當中涉及多個手動步驟:設定 CI/CD 伺服器、確保設定文件都得到更新、將具有正確憑證的映像檔部署到 Kubernetes 叢集。 Cloud Build 是我們的無伺服器的 CI/CD 平台,它具有各種功能,可以讓你盡可能地簡化以上的流程。

對初學者來說,Cloud Build 原生支持 buildpacks,它允許你在沒有 Dockerfile 的情況下建立容器。作為建立步驟的一部分,你可以選擇你自己的容器映像檔,或從預先建立的映像檔中選擇以節省時間。此外,由於 Cloud Build 是無伺服器的服務,因此您不需要預先提供伺服器或提前支付容量。通過其內置的漏洞掃描,你可以在 CI/CD pipeline 內進行深度安全掃描,以確保只有受信任的 artifacts 才能進入正式環境。

最後,Cloud Build 非常容易操作,您只需點擊幾下就能為 GKE 建立持續交付 pipeline。這些 pipeline 實現了當初 Google 用在處理 Kubernetes 部署,而開發的開箱即用最佳實踐。它能夠進一步減少設定和管理 pipeline 的開銷。

 

Gordon Food Service 客戶銷售部的 IT 總監 Craig Van Arendonk 表示,「在轉移到 Google Cloud 之前,把客戶的功能要求在不到 24 小時就投入正式環境的想法簡直是痴人說夢,但在搬到 Google Cloud 後都做得到。」

三、輕鬆管理 k8s 的安全性和合規性

您從 GitHub repository 獲得的開源版本,並不是一個開箱即用的鎖定環境。與其說它解決了安全問題,不如說它被設計成具有很強的可擴展性,解決了靈活性和可用性的問題。

因此,Kubernetes 的安全依賴於擴展點來與其他系統(例如身份和授權)進行整合,這意味著 Kubernetes 適用於很多使用情境,但另一方面這也意味著,你不能夠假設 Kubernetes 的上游所給予的預設值對你來說是合適的。

如果你想以「預設的安全性」的心態來部署 Kubernetes,有幾個核心部分需要牢記。正如我們在容器安全白皮書中的討論,這裡有一些 GKE 網路相關的功能,可以讓您的 Kubernetes 更加安全。

  • 安全的 Pod 網路 – 透過 Dataplane V2,它在你建立叢集時啟用了 Kubernetes 網路策略。此外,Network Policy logging 提供了叢集網路的可見性,這樣你就可以看到誰與誰正在溝通。
  • 安全的服務網路 – GKE Gateway controller 透過事先聲明的標準化 Kubernetes 介面,在不犧牲靈活性和開發人員的自主性情況下,提供集中化的控制和安全性。

 

Credit Karma 表示,「在 k8s 中實作網路策略是一項艱鉅的任務,充滿了猜測和試錯,因為你需要努力了解你的應用程式在網上的行為。此外,許多合規性的監管框架都會要求以控制設定和違規記錄的形式來證明能夠對外及對內防禦。有了 GKE Network Policy Logging,您就有能力快速的把問題隔離和解決,並且在審查的時候提供所需的證據,這大大簡化了執行網路策略的實作和操作。」

四、整合警報、SLO、指標和 log 的綜合視圖

如何有效排除故障、優化你的產品,取決於您應用程式和架構的可視性。有了 GKE,當你部署你的應用程式時,它就會被自動監控。GKE 叢集預裝了代理,可以收集遙測資料,並自動將其發送到 Cloud LoggingCloud Monitoring 等監控服務。這些服務與 GKE 相互整合,因此你可以獲得更好的洞察力,以更快採取行動。

舉例來說,GKE 儀表板提供了叢集、命名空間、節點、工作負載、服務、Pod 和容器等眾多指標的摘要,以及所有這些實體的 Kubernetes 事件和警報的綜合視圖。從警報或儀表板,你可以直接進入某個特定資源的日誌 (log),你可以導航到資源本身,而不必通過多個供應商底下互不關連的工具來瀏覽。

同樣地,由於遙測資料會被自動路由到 Google Cloud 的監控套件,你可以立即利用 Google 的工具,例如 SLO Monitoring,借助 Google SRE 原則,幫助你建立錯誤容忍度 (error budgets) 並根據這些指標來監控你的服務,在你的開發和營運團隊中推動更大的問責制度。而另一方面,Google 在整合 OpenTelemetry 方面的持續投資,也會改善平台和應用程式上的遙測資料收集。

 

Gannett Media Corp. 平台工程總監 Erik Rogneby 表示,「(使用 GKE)不需要任何設定,而且整合後可以全面查找錯誤…,與雲原生的直接整合,讓我們及時取得資訊。」

五、用 Anthos 在任何地方管理和執行 Kubernetes

有了 Anthos 混合雲管理平台,您可以在自己的資料中心或其他雲端中,使用 GKE。你可以利用 Anthos,將您的 GKE 與其他關鍵的框架 (framework)、服務 (services) 搬移到任何基礎架構中,並在 Google Cloud 集中管理。

在多個雲端平台內建立安全環境是一項艱鉅的挑戰。由於每個平台都有不同的安全能力、身份系統和風險,要多支援額外的雲端平台,往往意味著在資安方面要耗費加倍的心力。而有了 Anthos,許多挑戰都得到了解決。 Anthos 提供了開箱即用的功能,而不再需要仰賴應用或雲端架構團隊來建立跨多個平台的操作工具。Anthos 提供了在 Google Cloud、AWS 和即將到來的 Azure 上,部署並營運您的基礎架構、服務。

Anthos:輕鬆部署、統一管理跨雲應用的企業平台

Google 於今 (2021) 年 4 月發布了Anthos 1.7 版本,提供一系列的功能,使多雲結合更簡單、永續。

 

PKO Bank Polski 表示,「使用 Anthos,我們能夠加快開發速度,並更快地提供新的服務

六、讓大規模機器學習變得簡單

GKE 帶來了靈活性、自動調節和管理的簡便性,而 GPU 則帶來了卓越的處理能力。隨著在 GKE 上推出對多執行實體 NVIDIA GPU 的支持(Preview 版),你現在可以將一個 NVIDIA A100 GPU 劃分為最多 7 個執行實體 (instances),每個執行實體都有自己的高頻寬內存、暫存 (cache) 和運算核心。每個執行實體可以分配給一個容器,每個 NVIDIA A100 GPU 最多可支持 7 個容器。此外,多執行實體 GPU 在容器之間提供硬件隔離,並為在 GPU 上執行的所有容器提供一致和可預測的 QoS。

Betterview 表示,「通過減少『將 GPU 連接到資源上』所需要的設定環節,Google Cloud 和 NVIDIA 實現了飛躍的進步,降低了大規模部署機器學習的障礙。在降低設定複雜性的同時,NVIDIA A100 的絕對 GPU 推算性能也快得驚人。與 Google Cloud 的合作為我們提供了許多額外的選項,可以讓我們以最適合的方式部署 AI

善用 GKE 作為託管容器化應用程式的最佳選擇

最後,了解上述提到的 6 項新功能後,歡迎您開始你的 Kubernetes 開發之旅,並善用 GKE 作為託管容器化應用程式的最佳選擇。如果您對如何操作、管理、維運容器化應用程式有任何問題,歡迎點擊下方按鈕,由 iKala Cloud 雲端架構師為您解答,帶您更深入了解 GKE、各項開發者工具、作業套件和安全解決方案。

免費諮詢 iKala Cloud 了解 GKE 技術

(本文翻譯改編自 Google Cloud。)

分享本文:
FacebookLineTwitter
回到頂端