1. 簡介
本實驗室將從技術層面介紹如何使用 Gemini CLI 和 GKE Model Context Protocol (MCP) 伺服器管理基礎架構。在傳統 GKE 管理中,運算子會手動將基礎架構需求轉換為 gcloud 指令,並將應用程式定義轉換為 YAML 資訊清單。本實驗室將示範另一種做法:使用互動式介面,在 Google Kubernetes Engine (GKE) 上將自然語言意圖與技術執行作業連結起來。這項轉變是平台工程領域的廣泛趨勢之一,重點從建構嚴格的自動化指令碼,轉移到管理智慧代理程式,以處理基礎架構作業的細微細節。
核心概念
- 平台工程:這項實務做法是建構及維護內部工具和工作流程,讓軟體開發人員管理自己的基礎架構,不必精通所有基礎雲端服務。目標是減少技術阻礙,同時維持一致性和安全性。平台團隊建立標準化的黃金路徑,可確保應用程式開發人員安全快速地部署,同時平台團隊也能控管治理和成本。
- Gemini CLI:這個指令列介面可讓您直接透過終端機與 Gemini 模型互動。與標準網路聊天機器人不同,CLI 專為開發環境而設計,可輕鬆將 AI 整合至現有的 Shell 工作流程。可讓您直接將其他指令的輸出內容傳送至模型,並在不離開終端機環境的情況下執行指令。
- Model Context Protocol (MCP):MCP 是一項開放標準,可讓 AI 模型連結特定工具或資料來源。如果沒有 MCP,AI 模型只會知道訓練內容,無法查看特定資源。有了 GKE MCP 伺服器,Gemini CLI 就能主動查詢 Google Cloud 專案的 API、檢查叢集狀態,並代表您執行指令。可做為模型推理引擎與實際 GKE API 之間的橋樑。
實驗室目標
完成本課程後,您將能夠:
- 設定環境:存取 Cloud Shell 並驗證 GKE MCP 擴充功能,允許 Gemini CLI 與 Google Cloud 資源互動。
- 基礎架構設計:使用互動式提示,根據成本、管理負擔和工作負載需求,決定最佳叢集設定。
- 資源管理:使用自然語言產生、稽核及部署 Kubernetes 資訊清單 (Deployment、Service 等)。
- 作業分析:運用 AI 彙整記錄和事件的能力,找出部署失敗的根本原因,並建議具體的技術修正方式。
2. 專案設定
Gemini CLI 必須先與資源互動,因此請務必正確設定 Google Cloud 環境。這項設定可確保專案具備正確的權限,且所有必要的後端服務都已準備好接收 AI 代理程式的要求。
開啟 Cloud Shell
在本實驗室中,我們將使用 Google Cloud 提供的瀏覽器型終端機環境 Cloud Shell。我們使用 Cloud Shell,是因為它已預先設定所有需要的工具,包括 Google Cloud CLI (gcloud)、kubectl 和 Gemini CLI,可節省您在本機安裝這些工具的時間。
- 前往 Google Cloud 控制台。
- 查看控制台右上方的標題,然後點選「啟用 Cloud Shell」按鈕 (看起來像終端機提示
>_)。 - 瀏覽器視窗底部會開啟終端機工作階段。如果出現提示訊息,請點選「繼續」。
選取專案
在 Cloud Shell 終端機中,確認您正在正確的專案中作業。
- 在控制台中選取現有專案,或專為本實驗建立新專案。
- 記下專案 ID。如要在目前的殼層中設定專案,請執行:
gcloud config set project [YOUR_PROJECT_ID]
啟用 API
新專案預設不會啟用 Kubernetes 和 AI 功能。啟用這些 API 會初始化處理容器管理、生成模型和集中式記錄的基礎 Google Cloud 服務。
👉💻 在 Cloud Shell 中執行下列指令,即可啟用這些 API。這項程序可能需要一分鐘才能完成。
gcloud services enable \
container.googleapis.com \
generativelanguage.googleapis.com \
cloudresourcemanager.googleapis.com \
logging.googleapis.com
- container.googleapis.com:Google Kubernetes Engine API。您必須擁有這項權限,才能執行任何叢集層級的作業,包括建立、更新及刪除叢集。
- generativelanguage.googleapis.com:這項 API 可讓 Gemini CLI 與 Gemini 大型語言模型通訊,以生成文字和進行推理。
- cloudresourcemanager.googleapis.com:代理程式需要這項權限,才能檢查專案層級的中繼資料、驗證專案 ID,以及管理 IAM 權限。
- logging.googleapis.com:這項服務對於疑難排解至關重要,因為當發生問題時,MCP 伺服器可藉此從容器擷取及分析記錄。
3. 設定 Gemini CLI
Cloud Shell 預設包含 Gemini CLI,因此是這個工作流程的理想環境。首先,請將其設定為「代理程式」,具備管理 GKE 環境所需的授權和特定工具。這項設定步驟至關重要,因為它會在 AI 的邏輯與實際雲端基礎架構之間建立安全連線。
啟動 Gemini CLI
在 Cloud Shell 終端機中,建立新的工作目錄並執行 Gemini CLI。這會啟動工作階段,讓您與模型持續對話。與一次性指令不同,互動模式會保留內容視窗,記住您先前的指令和專案狀態。
👉💻 執行下列指令:
mkdir -p ~/gke-lab
cd ~/gke-lab
gemini

進入後,請測試工具的基本感知能力,確保工具能看到您的環境:
- 👉💬 提示:
Which Google Cloud project is currently active in this shell?
系統可能會要求您確認執行 gcloud 指令,您可以接受要求。
如要隨時離開介面,請輸入 /quit。
注意:如果 Gemini 2.5 Pro 的用量達到上限,可以開啟 Gemini 並
gemini -m gemini-2.5-flash
或使用
/model
指令。
連結 GKE MCP 擴充功能
根據預設,Gemini CLI 是通用工具,不具備與叢集互動的特定知識。您必須安裝 GKE MCP 擴充功能。這個擴充功能會做為外掛程式,定義一組特定工具和函式 (例如「列出叢集」或「取得 Pod 記錄」),模型需要執行工作時可以呼叫這些工具和函式。
👉💻 執行下列指令,安裝 GKE 擴充功能並重新開啟 Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gke-mcp.git
gemini
如要確認是否已正確啟用,請重新進入 Gemini CLI 並輸入:
/extensions
4. 佈建基礎架構
傳統基礎架構佈建通常需要瀏覽複雜的文件,或編寫數百行的設定程式碼。使用代理程式時,您可以專注於描述需求,讓 AI 處理技術翻譯,轉換成正確的 API 呼叫。本節說明如何在規劃階段和實際建立 GKE 環境時使用代理程式。
技術規劃與比較
建立叢集前,請先選擇符合需求的架構。GKE 提供兩種主要模式:Standard (可全面控管基礎節點) 和 Autopilot (由 Google 管理節點,並根據 Pod 要求的資源付費)。讓我們試試簡單的查詢,瞭解兩者之間的差異,並針對特定用途集思廣益,決定要使用哪一個。
- 👉💬 提示:
I need to run a standard 3-tier web application. Compare GKE Standard and GKE Autopilot. Focus on the operational effort for a small team and the cost structure for small workloads.
請嘗試詢問其他基礎架構構想。如果您要部署 AI 推論工作負載、需要極大規模的資源,或是受到複雜的網路限制,該怎麼辦?嘗試使用其他提示。
執行叢集建立作業
比較完畢並做出選擇後,即可指示代理程式建構叢集。代理程式會分析您的要求,並從 GKE MCP 伺服器呼叫 create_cluster 工具,根據這些要求部署可供正式環境使用的環境。
- 👉💬 提示:
Create a GKE Standard zonal cluster named 'gke-lab' in us-central1-a with 1 node with 4 CPUs. The cluster should have Workload Identity enabled.
注意:佈建 GKE 叢集時,需要設定控制層、虛擬私人網路和初始節點設定,通常需要 8 到 10 分鐘。請勿關閉 Gemini CLI 工作階段。
您可以詢問叢集狀態,這會再次利用 GKE MCP 伺服器傳回最新資訊。
- 👉💬 提示:
Is the new GKE cluster created and ready to use, yet?
5. 部署與驗證
使用 AI 代理程式進行平台工程的主要優點,是能夠對設定執行「預檢」檢查和稽核。您可以使用代理程式驗證 YAML 在技術上是否正確,以及是否符合貴機構的安全性政策,不必部署資訊清單並等待失敗。
產生資訊清單
請代理建立部署資訊清單。由於代理程式瞭解 Kubernetes API 版本和結構定義,因此會產生格式正確的 YAML,並包含成功部署所需的所有欄位。
- 👉💬 提示:
Generate a Kubernetes YAML manifest for an Nginx web server. I need 3 replicas. Set a memory limit of 256Mi and a CPU limit of 500m. Also, include a Service of type LoadBalancer to make it accessible via the internet. Save the manifest as web-server.yaml
技術驗證和安全稽核
手動建立 YAML 時,設定往往會以超出必要的權限執行,或缺少基本可靠性功能。您可以透過代理程式稽核剛建立的資訊清單,確保符合現代安全和復原標準。
- 👉💬 提示:
Review the Nginx manifest you just created. Does it include resource requests (not just limits)? Does it specify a non-root user for the container? Add a Pod Disruption Budget to ensure high availability during cluster maintenance. Make any necessary modifications to the file, and tell me what changes were made.
部署作業執行
完成上一節的叢集佈建後,請告知 Gemini CLI 將設定套用至新叢集。代理程式會使用工具與 Kubernetes API 伺服器通訊,並建立所要求的資源。
- 👉💬 提示:
Deploy the audited Nginx manifest to the 'gke-lab' cluster. Use the kubectl command to do this.
即時狀態檢查
不必執行多個 kubectl get pods 或 kubectl describe 指令,只要以自然語言詢問代理,就能取得部署進度的摘要。
- 👉💬 提示:
Are the Nginx pods running? Provide the external IP address assigned to the LoadBalancer once it is available.
卡關了嗎?
如果 Nginx 服務似乎無法順利部署,請嘗試使用 Gemini CLI 排解問題。這項功能可協助你!
- 👉💬 提示:
The Nginx deployment doesn't start up as expected. Can you help troubleshoot?
6. 維護與疑難排解
AI 輔助平台最有價值的優點之一,就是「第 2 天」作業功能。系統發生錯誤時,通常要從成千上萬的記錄行中找出重要的錯誤,搭配使用 Gemini CLI 和 MCP,即可讓代理程式彙整記錄、事件和狀態訊息,為您提供高階診斷結果和具體的解決途徑。
手動注入失敗
為測試代理程式的診斷功能,我們將刻意建立失敗狀態。在另一個終端機分頁中,執行這項指令,使用不存在的容器映像檔更新部署作業。這會模擬常見的人為錯誤:容器代碼中的錯字。
👉💻 在 Gemini CLI 外部執行下列指令:
kubectl set image deployment/nginx nginx=nginx:invalid-version-xyz123
注意:您的部署作業可能不會稱為「nginx」。您可以執行
kubectl get deployments
Kubernetes 會嘗試提取這個映像檔,但由於找不到標記而失敗,Pod 也會進入 ImagePullBackOff 狀態。
使用 Gemini CLI 進行分析
返回 Gemini CLI 工作階段。不必手動搜尋 Cloud Logging 控制台,只要請代理程式找出並說明錯誤即可。
- 👉💬 提示:
The Nginx deployment on my 'gke-lab' cluster has stopped working. Use your tools to inspect the cluster state, check the recent events, and explain exactly why the pods are failing to start.
後續情形:Gemini CLI 會發現部署作業不正常,然後使用可用工具檢查失敗的 Pod。服務專員會找出提取錯誤,說明標記無效,並建議您還原為已知良好的映像檔。
維護與風險評估
平台維護包括搶先升級和淘汰。您可以要求代理程式擔任 SRE,並評估叢集的健康狀態和使用壽命。
- 👉💬 提示:
Is my cluster 'gke-lab' running the latest version of GKE? Check for available upgrades and let me know if any of my current resources use deprecated APIs that would break during an upgrade.
這可能會導致 Gemini 呼叫 GKE MCP 伺服器工具,例如叢集狀態和建議工具。
7. 結語
本實驗室示範了與雲端基礎架構互動的新方式。透過 Gemini CLI 和 MCP,將 AI 代理直接整合至終端機工作流程後,您就能從手動編寫指令,轉變為意圖導向的作業模式。平台團隊可透過這種方式擴展專業知識,因為智慧型介面會處理 Kubernetes 管理中容易出錯的重複細節,而工程師則專注於高階架構和解決問題。
實驗室摘要
- 連線:您已使用 Model Context Protocol 將 Gemini CLI 連線至 GKE API,讓 AI 模型直接瞭解專案狀態。
- 基礎架構:您使用自然語言設計及佈建 GKE 叢集,不必記住複雜的 CLI 旗標。
- 開發:您產生、稽核安全性及部署 Kubernetes 資源,不必手動編輯 YAML,確保從一開始就遵循最佳做法。
- 營運:您使用 AI 對部署作業中斷進行根本原因分析,並讓 AI 摘要記錄和事件,大幅縮短平均復原時間。
清除所用資源
如要避免系統持續向您的 Google Cloud 帳戶收取本實驗室所建資源的費用,請指示代理程式刪除叢集。
注意:如果您打算將 GKE 叢集用於其他實驗室,請跳過這個步驟。
- 👉💬 提示:
Delete the 'gke-lab' cluster and any associated resources.
後續步驟
建議延伸閱讀:
- Gemini CLI 說明文件:Gemini CLI 的官方說明文件。
- GKE 說明文件:所有 GKE 說明文件的到達網頁。
- Google Cloud 平台工程:說明如何在 Google Cloud 上進行平台工程。
- GKE 上的 AI 和機器學習:說明如何在 GKE 上執行 AI/機器學習工作負載的文件。
- Google Cloud Architecture Center:在 Google Cloud 上建構工作負載的指南和最佳做法。