示範如何使用 GCP Console 創建 Kubernetes GKE 集群 (Terraform實作在下一篇)。
文章同步分享到
blog – https://devops-with-alex.com/day-26-terraform-gcp-console-kubernetes-gke/
ithome – https://ithelp.ithome.com.tw/articles/10338020
Medium – https://medium.com/p/9968bad457d
1. Google 運算服務 Kubernetes GKE 的主要功能和用途
Google 運算服務 Kubernetes GKE 是一項由 Google 提供的雲端容器管理服務。它的主要功能是讓用戶能夠輕鬆地建立、部署和管理容器化的應用程式,而不必擔心底層的基礎設施。GKE 使用 Kubernetes 作為容器管理平台,並提供自動化的容器操作、高可用性、安全性以及快速的叢集建立功能。,以下是它的主要功能和用途:
- 自動化容器操作:Kubernetes GKE 可以自動化執行許多容器操作,減輕使用者的負擔,例如平衡負載、擴展、回滾等功能。
- 可靠的容器運營環境:Kubernetes GKE 提供多層次的安全機制,例如身份驗證、訪問控制、網路安全等,確保應用程式的安全性和可靠性。
- 快速建立 Kubernetes 叢集:使用者可以快速建立 Kubernetes 叢集,而不需要自己建置和維護基礎設施。
- 高可用性的應用程式支援:Kubernetes GKE 可以支援高可用性的應用程式,並且可以根據需要進行擴展,以滿足不斷增長的使用者需求。
2. Google 運算服務 Kubernetes GKE 的使用情境
Google Cloud Platform 的運算服務 Kubernetes GKE 可在多種場景下使用,以下是一些常見的使用情境:
- 建立和管理 Kubernetes 叢集:例如一個應用程式需要在多個地區建立 Kubernetes 叢集,使用者可以使用 Kubernetes GKE 快速建立和管理這些叢集。
- 自動化容器操作:例如一個網站需要自動化載入平衡和水平擴展,使用者可以使用 Kubernetes GKE 自動化執行這些容器操作,以確保網站的正常運作。
- 支援高可用性的應用程式:例如一個金融應用程式需要保證高可用性和可靠性,使用者可以使用 Kubernetes GKE 支援這種高可用性的應用程式。
- 安全的容器運營環境:例如一個企業需要確保容器運營環境的安全性和可靠性,使用者可以使用 Kubernetes GKE 提供的多層次的安全機制來保護容器環境。
3. GCP 運算服務 — 使用GCP Console創建GCP Kubernetes GKE
在這個章節中,我們將深入探討如何使用GCP Console在Google Cloud Platform上創建Cloud Kubernetes GKE。我們將依次進行以下步驟:
- 創建自定義GKE
- 如何使用console來連線節點與查看狀況
- 部署nginx的服務到GKE上 (option)
使用GCP Console創建GCP Kubernetes GKE
- 登入GCP Console:首先,使用您的Google帳戶登入Google Cloud Platform(GCP)Console:https://console.coud.google.com。
- 選擇或創建專案:在GCP Console左上角,點擊專案選單,然後選擇現有的專案或創建一個新專案。
- 創建GCP Kubernetes GKE 服務:
– 在GCP Console左側的導覽窗格中,點選”Kubernetes”
選項。
– 創建Kubernetes GKE,在Kubernetes GKE 叢集頁面點擊”建立”按鈕來開始創建一個新的Kubernetes GKE。
- 設定Kubernetes GKE 服務的基本設定:
– 建立叢集(Cluster):預設GKE會建立autopilot的叢集,由GCP來管理大多數的建置,但我們會建立 GKE Standard 的叢集,可以做更多的客製化。
– 叢集類型:在選擇叢集是區域型(Zone)或是地區型(Region)時,其實隱含著高可靠度 (High Available, HA)的概念,一般建議Production生產環境使用地區型叢集(Region Cluster)。一般的地區會有至少三個區域,使用地區型叢集時,可以避免單一區域出問題時,造成的單點崩潰。
– 叢集基本資訊:輸入服務名稱,為您的GKE 指定一個唯一的名稱,gke-demo
。選擇GKE所在的地區,這邊我們使用asia-northeast1
作為示範,建議可以選擇接近您的使用者或資源的地區,以減少延遲。控制層版本一般是使用預設的發佈版本。
– 節點集區(Node Pool):預設名稱為default pool,可以修改對應名稱。節點數量也可以做修改,一般預設是3個節點,可以做到最小程度的高可靠度設計 (High Available, HA)。後續相關設定都先使用預設的設定即可。
- 設定Kubernetes GKE 服務的進階設定:
– 自動化:可以選擇垂直自動化調度pod資源(hpa)與節點自動佈建功能(auto cluster),可以讓節點根據需求自動縮放。這邊建議先不勾選,先實作功能即可,後續可以再進行調整。
– 功能:可以看到預設會啟用logging 與cloud monitoring自動為GKE做好logging的收集與監控數據等,是整合在gcp上非常實用的功能。最後執行創建GKE。
- 創建與部署Kubernetes GKE 服務:
– 部屬GKE:執行部署後,會看到cluster叢集正在被創建中,可以點選進去,看到目前的進度,通常需要等5–10分鐘才會完成。
– GKE基本資訊:可以看到GKE中的各種詳細資訊,會分為叢集資訊、自動化資訊、網路資訊,也可以點上面的列表觀察節點資訊,會看到建立了三個節點提供服務使用。
– GKE子網路詳細資料:可以看到GKE使用default網路,會產生次要的ip v4範圍,主要是為了提供GKE內部pod 與service作為使用的ip範圍。這個屬於比較進階的設定,但在多cluster共用網路時,這是需要特別考慮的部分。
測試部署的 Kubernetes GKE 服務
創建修改完畢,並看到 Kubernetes GKE 後,可以點選查看節點的詳細資料。後續我們會利用工作負載來建立nginx的部署,同時暴露服務於公開網路中,方便我們測試。
創建 Kubernetes GKE 建立工作部署:
– 新增容器:新增容器並使用映像檔 nginx:latest
,設定使用預設設定後,可以點選查看yaml檔案,來查看部署的yaml檔案。
– 暴露容器:點選公開後,用service的方式公開部署檔案,通訊port使用80來暴露nginx,最後點選服務類型是負載平衡器 load balancer,最後執行部署。
Kubernetes GKE 中的 nginx 工作負載:
– 工作負載:新增容器完成後,可以看到nginx的部署已經完成,點選後可以看到3個pod,第二個可以看到公開服務service與對外ip。
接下來可以嘗試觸發服務,點選觸發條件中的網址,就可以轉發到服務。例如下面ip地址,就會轉發到我們部署的nginx server。
4. 總結 Summary
- GCP 運算服務 Kubernetes GKE 的主要功能和用途:GKE 可以作為
– 無伺服器運算,執行程式碼而無需管理伺服器。
– 自動化容器操作,包括平衡負載和擴展。可靠的容器運營環境,提供多層次的安全機制。
– 快速建立 Kubernetes 叢集,無需操心基礎設施。
– 支援高可用性的應用程式,可根據需求進行擴展。 - GCP 運算服務 Kubernetes GKE 的使用情境:常見使用情境像是
– 建立和管理 Kubernetes 叢集,提供高可用性。
– 自動化容器操作,適用於網站的負載平衡和擴展。
– 支援高可用性的應用程式,確保應用程式可靠運行。
– 安全容器運營環境,適用於企業需求。 - GCP 運算服務 — 使用GCP Console創建 Kubernetes GKE:介紹如何在GCP Console上創建Kubernetes GKE並進行以下的任務
– 節點和工作負載的詳細資訊:包括察看節點和工作負載的詳細資訊,指定名稱、建立叢集與節點、網路設定等
– 新增容器:設定nginx容器映像和相關設定。
– 暴露容器服務:設定nginx server 通訊端口、部署nginx server 服務service 和負載平衡器。
– 觸發服務:測試 nginx server 服務運行。
5. 相關連結
- Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code — https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
- Terraform-project-best-practice — https://github.com/qwedsazxc78/terraform-project-best-practice
- 歡迎訂閱我的udemy課程:Terraform 從零開始 — 10+實戰Lab打造GCP雲端自動化架構課程