文章目標:解釋如何透過使用者帳號和密碼將 Terraform 連接到 GCP。
開啟終端機terminal
輸入 gcloud auth application-default login ,並用瀏覽器登入
使用你的gmail做登入,獲得權限
記得創建一個專案,使用terraform101作為專案名稱
安裝gcloud cli
完成使用者認證 gcloud auth application-default login
使用terraform在本地端測試
下面需要根據你的OS做不同的選擇,來安裝對應的gcloud cli
指令碼可以直接複製使用,也可以到github連結下載安裝script。
brew install python@3.9:這個步驟是為了安裝Python 3,並且建議下載3.5至3.9之間的任一版本,以便後續的gcloud SDK可以正確運作。
brew install — cask google-cloud-sdk:這個命令使用Homebrew工具安裝Google Cloud SDK,這是一種簡單且推薦的安裝方法。
./google-cloud-sdk/install.sh:這個選項是手動下載Google Cloud SDK的壓縮檔,然後執行安裝腳本。
#######################################################
# 0. python3 安裝 (建議使用方法)
#######################################################
# 下載python3.5-3.9的版本,執行安裝
# gcloud sdk 限定python的版本
brew install python@3.9
#######################################################
# 1. brew 安裝 (建議使用方法)
#######################################################
brew install --cask google-cloud-sdk
#######################################################
# 2. 或使用下載後安裝 (1或2挑選一種方式即可)
#######################################################
# https://cloud.google.com/sdk/docs/install-sdk
# 先到上面的網站,下載安裝對應的壓縮檔案
./google-cloud-sdk/install.sh
指令碼可以直接複製使用,也可以到github連結下載安裝script。
sudo apt-get update -y
sudo apt install -y wget software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update -y
sudo apt install -y python3.9
python3.9 -V
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-427.0.0-linux-x86_64.tar.gz
tar -xf google-cloud-cli-427.0.0-linux-x86.tar.gz
./google-cloud-sdk/install.sh
#######################################################
# 0. python3 安裝 (建議使用方法)
#######################################################
# 下載python3.5-3.9的版本,執行安裝
# gcloud sdk 限定python的版本
# 此處以 ubuntu為例
sudo apt-get update -y
sudo apt install -y wget software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update -y
sudo apt install -y python3.9
python3.9 -V
#######################################################
# 1. Linux 安裝 (建議使用方法)
#######################################################
# 建議根據官方文件,挑選對應的Linux版本說明文件來進行安裝
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-427.0.0-linux-x86_64.tar.gz
tar -xf google-cloud-cli-427.0.0-linux-x86.tar.gz
./google-cloud-sdk/install.sh
指令碼可以直接複製使用,也可以到github連結下載安裝script。
python官網下載適合的Python版本:這個步驟建議下載並安裝Python 3.5至3.9之間的版本,以滿足gcloud SDK對特定Python版本的要求。您可以通過訪問https://www.python.org/downloads/網站來下載適用的Python版本。
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe
#######################################################
# 0. python3 安裝 (建議使用方法)
#######################################################
# 下載python3.5-3.9的版本,執行安裝
# gcloud sdk 限定python的版本
https://www.python.org/downloads/
#######################################################
# 1. powershell 安裝 (建議使用方法)
#######################################################
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe
在終端機中輸入 gcloud version,可以在螢幕中出現下列版本的提示,就代表我們正確的安裝完成。
gcloud version
接下來我們需要初始化和設定Google Cloud帳戶和專案,可以參考官方連結來做後續設定。
以下是設定對應專案的步驟:
開啟終端機或命令提示字元,輸入以下命令以啟動初始化過程:gcloud init
首次運行此命令時,您需要進行身份驗證。系統將打開瀏覽器視窗,請您登入Google帳戶,然後授予Google Cloud SDK訪問您的帳戶的權限。
登入後,您將被要求選擇要使用的Google Cloud專案。請選擇您要使用的專案與選擇用於初始化的預設區域和區域,在這邊我們使用創建得專案 terraform101–384507,不指定初始化的預設區域和區域。
最後,您可以選擇是否要使用Google Cloud SDK的Google Cloud Source Repositories集成,以及是否要設定帳單帳戶(用於專案的計費)。
完成上述步驟後,您的Google Cloud SDK將配置為使用所選擇的專案和設定,使您能夠輕鬆地使用Google Cloud服務。
最後可以使用 gcloud auth list 與gcloud config list,來確認設定檔案是否有誤,同時檢查是否使用到正確的設定檔案。
開啟終端機 terminal
輸入 gcloud auth application-default login ,並用瀏覽器登入
使用你的gmail做登入,就可以獲得權限
記得創建一個專案,使用terraform101作為專案名稱
gcloud auth application-default login
進入vscode 編輯器後,新建或開啟main.tf的檔案,並複製下列程式碼到視窗中,我們要利用這些程式碼練習,可以先輸入練習後,再來回來看代表的意義。
可以到下方的github連結中,下載對應的參考程式碼
首先創建一個檔案 main.tf,我們會在裡面創建GCS作為權限驗證與後續的部署Demo。
main.tf
provider "google" {
project = "<your gcp project>"
region = "asia-east1"
}
resource "google_storage_bucket" "quick-start-gcs" {
name = "quick-start-gcs-bucket"
location = "asia-east1"
force_destroy = true
}
provider google區塊主要用於配置 Terraform 的提供者(provider),以確保 Terraform 可以正確地與 Google Cloud Platform(GCP)進行交互。
google_storage_bucket 區塊的用途是定義和配置一個 Google Cloud Storage 存儲資源(Google Storage Bucket):
name:terraform-101-state-bucket 是這個資源的名稱,用於在 Terraform 配置中識別和引用這個存儲資源實例。。
location:通過變數 var.location,你可以指定存儲資源的位置,這表示存儲資源存放的地理位置。
force_destroy:表示當你刪除 Terraform 資源時,即使存儲資源中有數據,也將強制刪除存儲資源。。
最後執行 terraform apply -auto-approve來部署對應的資源到雲端架構上,就可以得到下列的結果。
terraform apply -auto-approve
Terraform tip:可以利用下列的 Terraform tip,來增進部署效率。
打開終端機中的 .bashrc or .zshrc 檔案
在文件最下方加入下列指令
執行 source ~/.zshrc 或是 source ~/.bashrc 讓下面的 alias 快捷鍵生效
alias tf="terraform"
alias tfv="terraform validate"
alias tfdp="terraform apply -auto-approve plan.out"
alias tfd="terraform apply -auto-approve"
alias tfr="terraform destroy -auto-approve"
alias tfp="terraform plan -out plan.out"
安裝 GCP Command Line Interface (CLI):根據你的作業系統,安裝 GCP CLI(gcloud),確認安裝完成,並使用 gcloud init 設定專案設定檔案。
使用 GCP 認證:在終端機中執行 gcloud auth application-default login,並使用你的 Gmail 帳號登入,獲取權限。可以創建一個新的專案,並使用 terraform101
作為專案名稱。
實際操作:創建一個名為 quick-start-gcs-bucket
的 Google Cloud Storage 存儲桶。使用本機 Terraform 設定好的 GCP 提供者和資源,最後執行 terraform apply -auto-approve 部署資源。
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雲端自動化架構課程 - https://devops-with-alex.com/go/terraform