Google Cloud Command Line Interface (gcloud CLI) 是什麼?新手指南
更新日期: 2025 年 3 月 4 日
本文為 雲端 基本介紹系列文,第 1 篇:
- 伺服器是什麼?新手入門指南
- IP 是什麼?公開 IP 與內部 IP:深入了解與應用場景解析
- 什麼是部署?初學者的完整指南
- 雲端運算中的網站部署:從 IaaS 到 SaaS 的最佳實踐
- Zeabur 是什麼?新手也能輕鬆上手的 PaaS 平台
- 初學者指南:深入了解 GCP 虛擬機 (Google Cloud Virtual Machines)
- 初學者指南:深入了解 AWS 虛擬機 (EC2)
- AWS EC2 與 GCP VM 初學者指南:兩大雲端虛擬機服務的差異詳解
- SSH 連線是什麼?初學者必看的安全連線工具指南
- 什麼是 SCP(安全複製協定):初學者指南
- Google Cloud Command Line Interface (gcloud CLI) 是什麼?新手指南 👈進度
- 使用 gcloud CLI 進行 SSH 連線的完整指南
在現代雲端運算的世界中,Google Cloud Platform (GCP) 提供了強大的工具和服務來協助開發人員和系統管理員管理資源、部署應用程式和自動化工作流程。
其中,gcloud CLI 是一個功能強大的命令列工具,讓使用者可以輕鬆地與 GCP 進行互動,無論是管理 VM 執行個體、設定網路、部署 Kubernetes 叢集,還是自動化日常操作,皆能大幅提升效率。
這篇文章將深入介紹 gcloud CLI 的功能、安裝方法及基本操作,讓初學者能夠快速上手。
gcloud CLI 是什麼?
gcloud CLI(Command Line Interface)是 Google Cloud 官方提供的一個命令列工具,讓使用者能夠透過指令的方式與 Google Cloud Platform (GCP) 進行互動與資源管理。
無論是開發人員、系統管理員,還是 DevOps 工程師,gcloud CLI 都能為日常操作提供極大的便利與靈活性。
gcloud CLI 的核心功能
graph LR; A["gcloud CLI 核心功能"] --> B["資源管理"] A --> C["Kubernetes 叢集管理"] A --> D["自動化操作與 CI/CD"] A --> E["監控與診斷工具"] B --> B1["計算資源 (Compute Engine, App Engine, Cloud Functions)"] B --> B2["儲存與資料庫 (Cloud Storage, BigQuery, Cloud SQL, Firestore)"] B --> B3["網路服務 (VPC, 防火牆, 負載平衡, DNS)"] C --> C1["建立/管理 Kubernetes 叢集"] C --> C2["部署與維護 Pod"] C --> C3["設定負載平衡與自動擴展"] D --> D1["撰寫 Shell Script 自動化 GCP 操作"] D --> D2["結合 CI/CD 工具 (Jenkins, GitHub Actions)"] D --> D3["排程任務 (Cloud Scheduler)"] E --> E1["日誌分析 (Cloud Logging)"] E --> E2["性能監控 (Cloud Monitoring)"] E --> E3["錯誤診斷與問題排解"]
1️⃣ 資源管理
gcloud CLI 覆蓋了 GCP 中幾乎所有的資源管理功能,包括但不限於:
- 計算資源:如 Compute Engine(虛擬機器)、App Engine(應用服務平台)、Cloud Functions(無伺服器函式)、Cloud Run(容器應用)
- 儲存與資料庫:如 Cloud Storage(儲存桶)、BigQuery(資料分析)、Cloud SQL(託管資料庫)、Firestore(NoSQL 資料庫)
- 網路服務:如 VPC 網路、防火牆規則、負載平衡、DNS 管理
2️⃣ Kubernetes 叢集管理
gcloud CLI 與 Google Kubernetes Engine (GKE) 及 kubectl 無縫整合,讓您能夠:
- 建立、刪除、升級 Kubernetes 叢集
- 管理叢集節點與 Pod
- 設置自動擴展與負載均衡
- 部署應用程式並監控狀態
3️⃣ 自動化操作與 CI/CD
透過撰寫 Shell Script 或結合 CI/CD 工具(如 Jenkins、GitHub Actions、GitLab CI),gcloud CLI 可以幫助您:
- 自動化 GCP 中的重複性工作,例如資源的建立、備份、資料遷移
- 部署流水線(Pipeline),如自動化測試、建置、部署應用程式至 GCP
- 排程任務,例如搭配 Cloud Scheduler 自動執行指令
4️⃣ 監控與診斷工具
gcloud CLI 提供了豐富的監控與診斷指令,幫助您維護 GCP 環境的健康狀態:
- 日誌分析:整合 Cloud Logging,快速搜尋、篩選日誌紀錄
- 錯誤診斷:透過 Cloud Monitoring 查詢指標(Metrics),監控 VM、容器、資料庫的性能
- 問題排解:查看運行中的服務與應用程式狀態,例如 Pod 是否正常啟動、負載均衡是否正常分配流量
為什麼要使用 gcloud CLI?
gcloud CLI 是 Google Cloud 提供的命令列工具,透過簡單的指令操作即可管理各種 GCP 資源。
相比於圖形化介面,gcloud CLI 提供了更高的效率、靈活性與自動化能力。以下將從三大核心優勢詳述 gcloud CLI 的應用場景與實際價值。
提高工作效率
1️⃣ 批次處理與快速執行
在 GCP 圖形介面中,操作多個資源通常需要重複點擊多個頁面,但使用 gcloud CLI,您可以在同一條指令中完成批次操作。例如,快速啟動多個虛擬機 (VM):
gcloud compute instances start instance-1 instance-2 instance-3 --zone=us-central1-a
- 應用場景:啟動或關閉多個測試環境、批量部署應用程式、清理資源。
2️⃣ 腳本化重複性任務
系統管理員經常需要處理重複性工作,例如備份資料、清理舊資源、更新應用程式設定。
透過 gcloud CLI,這些任務可以編寫成 Shell Script,並自動排程執行,大幅節省人力時間。
範例:每日自動備份資料庫
#!/bin/bash
DATE=$(date +%Y-%m-%d)
gcloud sql backups create --instance=my-database --description="Daily backup $DATE"
- 優點:將繁瑣的手動操作轉為自動化流程,避免遺漏重要操作。
3️⃣ 減少人為錯誤
gcloud CLI 提供一致的指令格式,避免手動操作中的輸入錯誤。例如,手動設置防火牆規則時可能會漏填某個欄位,但透過 CLI 則可以明確設定所有參數,減少錯誤發生的機會。
支援自動化
1️⃣ 與 CI/CD 工具無縫整合
gcloud CLI 能夠與 GitHub Actions、Jenkins、GitLab CI/CD 等持續整合/持續部署 (CI/CD) 工具結合,幫助您在應用程式程式碼更新後自動部署至 GCP。
例如,在推送程式碼到 GitHub 後,自動觸發部署至 Kubernetes 叢集:
name: Deploy to GKE
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Set up gcloud CLI
uses: google-github-actions/setup-gcloud@v1
with:
service_account_key: ${{ secrets.GCP_SA_KEY }}
project_id: ${{ secrets.GCP_PROJECT_ID }}
- name: Deploy to GKE
run: |
gcloud container clusters get-credentials my-cluster --zone=us-central1-a
kubectl apply -f deployment.yaml
- 自動化優勢:當程式碼變更時,自動化部署流程能減少人工操作,提升應用程式上線速度。
2️⃣ 搭配排程工具實現無人值守操作
結合 Cloud Scheduler 或系統排程工具 cron,gcloud CLI 可以在特定時間自動執行任務,例如每晚關閉測試環境、每周自動備份數據,或定期清理無用資源。
範例:設定自動關閉 VM 的排程
gcloud compute instances stop my-vm --zone=us-central1-a
- 使用場景:非高峰時間關閉資源以節省成本、在系統維護時自動處理關鍵操作。
3️⃣ 自動錯誤處理與恢復
在生產環境中,及時處理異常情況至關重要。gcloud CLI 可以與監控系統結合,在檢測到資源故障時自動觸發修復操作。
例如,當 VM 執行個體崩潰時自動重啟:
if ! gcloud compute instances describe my-instance --zone=us-central1-a; then
echo "Instance not found, attempting to recreate..."
gcloud compute instances create my-instance --zone=us-central1-a
fi
- 自動化修復:在服務中斷時自動嘗試修復,提升系統可靠性。
更靈活的資源管理
1️⃣ 快速創建、刪除與管理資源
使用 gcloud CLI,您可以用簡單的指令創建、更新、刪除 GCP 中的各種資源。例如,創建新的 Compute Engine VM 或刪除舊的儲存桶 (Bucket):
# 創建 VM 執行個體
gcloud compute instances create my-vm --zone=us-central1-a --machine-type=e2-medium
# 刪除儲存桶 (Bucket)
gcloud storage buckets delete gs://my-old-bucket
- 靈活性:無需逐步點擊圖形化介面,CLI 允許更高效地管理資源,特別適合批量操作。
2️⃣ 配置網路與安全性設定
gcloud CLI 讓您能快速配置 VPC 網路、防火牆規則、負載平衡器 以及 IAM (Identity and Access Management) 權限。例如,設置允許 HTTP 流量的防火牆規則:
gcloud compute firewall-rules create allow-http --allow tcp:80 --target-tags=http-server
- 場景應用:自動配置開發或測試環境、快速開啟或關閉防火牆通道以應對安全需求。
3️⃣ 監控與診斷資源
gcloud CLI 不僅僅是操作工具,還提供了豐富的監控與診斷指令。例如,透過 Cloud Monitoring 查詢 VM 的 CPU 使用率,快速掌握資源的健康狀態:
gcloud monitoring time-series list \
--filter='metric.type="compute.googleapis.com/instance/cpu/utilization"' \
--project=my-gcp-project
- 診斷能力:及早發現潛在問題,例如資源過載或應用異常,避免影響業務運行。
如何安裝 gcloud CLI?
gcloud CLI 是一個跨平台的工具,支援 Windows、macOS 和 Linux 作業系統。以下是詳細的安裝步驟,讓您能夠快速設定並開始使用 gcloud CLI 管理 Google Cloud 資源。
確認系統需求
在安裝 gcloud CLI 之前,請確保您的系統滿足以下需求:
✅ 支援的作業系統:
- Windows (Windows 10 或更新版本)
- macOS (Mojave 10.14 或更高版本)
- Linux (Debian、Ubuntu、Red Hat、CentOS、SUSE、或其他 Linux 版本)
✅ 軟體需求:
- Python 3.5 或更高版本
gcloud CLI 內建了 Python 環境,但如果需要特定版本,您也可以手動設定。可以使用以下指令確認 Python 版本:
python3 --version
- 網路連線
下載安裝程式和進行 Google 帳號認證需要穩定的網際網路連線。
下載並安裝 gcloud CLI
1️⃣ 在 Windows 上安裝 gcloud CLI
方法一:使用官方安裝程式
- 前往 Google Cloud 官方下載頁面 下載最新版本的安裝程式 (
google-cloud-cli-setup.exe
)。 - 雙擊運行安裝程式,並依照指示完成安裝流程。
- 在安裝過程中可以選擇是否將 gcloud CLI 加入系統 PATH,這樣就能在命令提示字元 (CMD) 或 PowerShell 中直接使用
gcloud
指令。
方法二:透過命令列安裝
- 打開 PowerShell (以系統管理員身份運行)。
- 執行以下指令下載並安裝:
.\google-cloud-cli-setup.exe
- 驗證安裝是否成功:
gcloud version
2️⃣ 在 macOS 上安裝 gcloud CLI
推薦方法:使用 Homebrew 安裝
# 更新 Homebrew 套件庫
brew update
# 安裝 gcloud CLI
brew install google-cloud-sdk
# 驗證安裝是否成功
gcloud version
- 使用 Homebrew 安裝的好處是能夠輕鬆維護與升級 gcloud CLI:
brew upgrade google-cloud-sdk
3️⃣ 在 Linux 上安裝 gcloud CLI
以 Debian/Ubuntu (APT) 為例
- 更新系統封包庫:
sudo apt update
- 安裝 gcloud CLI:
sudo apt install google-cloud-cli -y
- 確認安裝是否成功:
gcloud version
其他 Linux 發行版
- Red Hat/CentOS:可以使用
yum
或dnf
套件管理工具。 - SUSE:使用
zypper
進行安裝。 - 若系統不支援封包管理器,亦可透過 Shell 指令安裝腳本 進行手動安裝。
初始化並登入 gcloud CLI
完成安裝後,您需要初始化 gcloud CLI 並與您的 Google Cloud 帳戶進行連接設定。
1️⃣ 初始化 gcloud CLI
gcloud init
- 會啟動互動式設定流程,包括:
- 登入您的 Google 帳戶
- 選擇或創建 GCP 專案
- 設定預設的運行區域與地區
2️⃣ 進行帳號登入
gcloud auth login
- 這個指令會在瀏覽器中開啟 Google 登入頁面,完成認證後 gcloud CLI 就能與您的帳號綁定。
3️⃣ 設定 GCP 專案
gcloud config set project <PROJECT_ID>
- PROJECT_ID 是您在 Google Cloud Console 中的專案 ID,您可以在專案首頁中找到它。
4️⃣ 設定預設區域和區域 (Zone)
# 設定預設區域 (Region)
gcloud config set compute/region <REGION>
# 設定預設區域 (Zone)
gcloud config set compute/zone <ZONE>
- REGION 範例:
us-central1
、asia-east1
。 - ZONE 範例:
us-central1-a
、asia-east1-b
。
5️⃣ 驗證設定
gcloud config list
- 此指令將顯示當前的配置狀態,包括專案、區域和驗證資訊,確保一切設定正確。
安裝與初始化常見問題排解
- 指令無法找到 gcloud
- 確認安裝路徑已經加入系統的 PATH 環境變數中。
- 在 Windows 中,檢查「系統環境變數」是否包含
C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin
。
- 初始化過程中無法打開瀏覽器進行登入
- 可以使用
--no-launch-browser
參數,並手動複製認證連結至瀏覽器。
- 可以使用
gcloud auth login --no-launch-browser
- 無法連接到 Google Cloud API
- 確認本機網路是否允許連接至 Google 的 API 伺服器。
- 若處於防火牆或代理伺服器環境,可能需要設定代理。
gcloud CLI 的基本設定
在完成 gcloud CLI 的安裝和初始化之後,進行基礎設定能幫助您順利管理 Google Cloud 資源。這包括檢查版本、設定專案與區域、切換帳號等操作,以下是詳細的設定步驟與常見指令範例。
檢查 gcloud CLI 版本
安裝完成後,建議先確認 gcloud CLI 的版本,以確保安裝成功且版本是最新的:
gcloud version
- 此指令會顯示 gcloud CLI 的版本資訊以及已安裝的其他相關工具(例如 bq、gsutil)。
- 確認顯示的版本與 官方最新版本 一致,若版本過舊,建議進行升級:
gcloud components update
設定專案和區域
在操作 GCP 資源時,您需要指定所屬的專案和預設區域,這有助於簡化後續指令中的參數設定。
1️⃣ 設定 GCP 專案
gcloud config set project <YOUR_PROJECT_ID>
- <YOUR_PROJECT_ID> 是您 GCP 專案的唯一 ID,可以在 Google Cloud Console 中找到。
- 設定專案後,您在執行 gcloud 指令時,會自動將操作鎖定在此專案中,避免誤操作其他專案資源。
2️⃣ 設定預設計算區域 (Zone) 和區域 (Region)
# 設定預設區域 (Zone)
gcloud config set compute/zone <YOUR_ZONE>
# 設定預設區域 (Region)
gcloud config set compute/region <YOUR_REGION>
- <YOUR_ZONE> 範例:
us-central1-a
、asia-east1-b
。 - <YOUR_REGION> 範例:
us-central1
、asia-east1
。 - 設置預設區域後,許多 gcloud 指令在未指定區域時,會自動套用預設值,讓指令更簡潔。
查看目前設定
gcloud config list
- 顯示當前 gcloud CLI 的所有設定,包括專案、區域、帳號資訊等。
- 若需要更詳細的設定資訊,可以加入
--all
參數:
gcloud config list --all
- 在進行多專案操作時,隨時查看設定能避免操作錯誤,例如誤將資源建立在錯誤的專案或區域中。
切換帳號與驗證設定
gcloud auth login
- 此指令會在瀏覽器中開啟 Google 登入頁面,登入完成後,gcloud CLI 會自動儲存認證資訊。
- 若您有多個 Google 帳號,使用
gcloud auth list
檢視目前可用的帳號:
gcloud auth list
- 切換至其他帳號:
gcloud config set account <YOUR_ACCOUNT_EMAIL>
- 也可以使用服務帳戶進行認證,適合在自動化腳本或 CI/CD 環境中使用:
gcloud auth activate-service-account --key-file=<YOUR_SERVICE_ACCOUNT_KEY_FILE.json>
常見的 gcloud CLI 指令與範例
gcloud CLI 支援豐富的 GCP 服務管理指令,以下是專案管理、Compute Engine、Cloud Storage、網路與防火牆設定的常用指令及應用範例。
專案管理 (Projects)
# 列出所有 GCP 專案
gcloud projects list
# 切換至特定專案
gcloud config set project <PROJECT_ID>
# 創建新的專案
gcloud projects create <NEW_PROJECT_ID> --name="My New Project"
# 刪除專案
gcloud projects delete <PROJECT_ID>
- 在管理多個專案時,切換專案可以確保所有資源創建、設定操作都在正確的專案內執行。
Compute Engine 管理 (VM 執行個體)
# 創建新的 VM 執行個體
gcloud compute instances create example-instance --zone=us-central1-a --machine-type=e2-medium
# 列出所有 VM 執行個體
gcloud compute instances list
# 啟動 VM 執行個體
gcloud compute instances start example-instance
# 停止 VM 執行個體
gcloud compute instances stop example-instance
# 刪除 VM 執行個體
gcloud compute instances delete example-instance
- 透過 CLI 操作 VM,比起圖形介面更適合批次處理或自動化流程,例如在腳本中控制 VM 啟動與關閉以節省資源。
儲存空間 (Cloud Storage)
# 創建儲存桶 (Bucket)
gcloud storage buckets create gs://my-example-bucket
# 列出所有儲存桶
gcloud storage buckets list
# 上傳檔案至儲存桶
gcloud storage cp local-file.txt gs://my-example-bucket
# 下載檔案
gcloud storage cp gs://my-example-bucket/remote-file.txt ./local-file.txt
# 刪除儲存桶
gcloud storage buckets delete gs://my-example-bucket
- 在處理大規模資料遷移時,gcloud CLI 能與批次指令結合,快速完成資料備份和恢復操作。
網路與防火牆 (Firewall Rules)
# 創建允許 HTTP 流量的防火牆規則
gcloud compute firewall-rules create allow-http --allow tcp:80 --target-tags=http-server
# 列出防火牆規則
gcloud compute firewall-rules list
# 刪除防火牆規則
gcloud compute firewall-rules delete allow-http
- 可以將防火牆設定指令加入部署腳本中,確保應用程式在上線時自動配置好所有網路規則,減少手動配置的風險。
實戰:用 gcloud CLI 部署一個簡單的 Web 伺服器
以下是一個利用 gcloud CLI 部署 Nginx Web 伺服器的完整流程,適合初學者實際操作:
- 創建 VM 執行個體
gcloud compute instances create web-server --zone=us-central1-a --tags=http-server
- 設置防火牆允許 HTTP 流量
gcloud compute firewall-rules create allow-http --allow tcp:80 --target-tags=http-server
- 連線至 VM 並安裝 Nginx
# 連線至 VM
gcloud compute ssh web-server
# 在 VM 中安裝 Nginx
sudo apt update
sudo apt install nginx -y
- 確認 VM 的外部 IP,瀏覽器中驗證 Nginx 是否成功運作
gcloud compute instances list
- 複製外部 IP,在瀏覽器中輸入
http://<EXTERNAL_IP>
,應該能看到 Nginx 的預設歡迎頁面。
結論與學習資源推薦
gcloud CLI 是一個功能強大且靈活的工具,讓使用者能夠通過命令列高效地管理 Google Cloud 資源。
對於初學者而言,除了本篇介紹,建議進一步參考以下資源:
希望這篇文章能夠幫助您快速掌握 gcloud CLI,並在 GCP 上開啟更高效的工作流程!