開發人員小訣竅!簡化、加速你的 Google Kubernetes Engine 開發

當工程師考慮是否要在 Kubernetes 這個容器管理平台進行部署時,關鍵的決定因素通常是 Kubernetes 在維運方面的優勢:更好的資源效率、更高的可擴展性、高彈性與安全性等等。

但事實上,除了維運之外,Kubernetes 也有利於公司的軟體開發;無論是提高程式碼的可攜性、提高生產率,這些因素都讓 Kubernetes 成為許多開發單位的首選。

正如 Gooogle Cloud 在 Re-architecting to cloud native: an evolutionary approach to increasing developer productivity at scale 一文中所提出的論點: Kubernetes 是一種提高開發人員生產力的革命性技術,它讓你能更輕易地開始使用現代的雲原生軟體開發模式(如微服務),帶給你諸多好處,包括:

  • 增加開發人員生產效率,即使團隊擴編、組織複雜度更高
  • 更快讓產品/服務上市:快速添加新功能並更快的修復瑕疵
  • 更高的可用性:提高軟體正常運行時間 (uptime) 降低部署失敗率,並縮短事件發生時的恢復時間
  • 改善的安全性:減少應用程式的受攻擊範圍,並使它更易於檢測、快速回應攻擊與新發現的漏洞
  • 更好的可擴展性:雲端原生平台與應用程式使必要的水平縮放變得更容易
  • 降低成本:簡化的軟體交付流程,可以減少交付新功能的成本,而有效使用雲端平台,可大大降低服務的營運成本

而正因為 Google 發明了 Kubernetes,Google Cloud 自然有提供一套 Kubernetes 全託管服務 ─ Google Kubernetes Engine (GKE)。不過,你知道嗎?Google Cloud 還提供了與 GKE 緊密整合的全套開發人員工具!今天,為了紀念 KubeCon,我們將介紹一系列的方法,為您呈現如何開發用於 GKE 的應用程式,如何安全高效的部署他們,以及如何在他們投入正式環境後,對其進行監控和除錯。

用 GKE + 外掛進行開發:一切從你開始

今天耳熟能詳的各大網路公司的 app,其實都是從一位開發人員的一台筆電上的程式碼開始的。GKE 上運行的應用程式也是如此。Google 讓您可以用多種工具,整合您的本機開發環境與 GKE。

  • 身為開發人員,想必多少聽過以大量運算資源來「欺騙」他們筆記型電腦的做法,比如說,有了 Minikube 你就可以使用 GPU。另外,還有一些本機開發工具可以幫助您將 Java 應用程式容器化,例如 JibSkaffold。Jib 有助於將 Java 應用程式容器化而無需安裝 Docker、運行 Docker daemon、甚至不必編寫 Dockerfile。它還可作為 Maven 或 Gradle 的外掛使用。然後當偵測到變化時,你可以使用 Skaffold 去部署這些容器化的 Java 應用程式到 Kubernetes 叢集。Skaffold 甚至可以將文件的新版本注入正在運行的容器中!想了解細節的讀者,歡迎閱讀 Livin’la vida local:從你的筆記本電腦輕鬆開發 Kubernetes 這篇文章。
  • 在 GKE 開發人員社群中,另一個很流行的工具是 Cloud Code,它為 Visual Studio 和 IntelliJ 的整合式開發環境(IDEs) 提供外掛,以簡化 GKE 的開發。舉例來說,Google 最近更新 Cloud Code 的功能,以便對 Kubernetes YAML 和自定義資源 (CRDs) 有更強大的支持。你可以從 Cloud Code makes YAML easy for hundreds of popular Kubernetes CRDs 閱讀完整內容。

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


連絡「GCP 專門家」