# Terraform 參數使用說明 ## 新增 1. 創建 project ID 的資料夾 2. 在 project ID 下創建對應服務的資料夾 3. 在服務的資料夾裡面建立要生成該服務的名稱檔案,例如我要建立一個 cloudSQL 服務,名稱為 cloudsql-test,檔名就是 cloudsql-test,不帶任何副檔名 4. 在對應的服務檔案內新增所有的參數以及參數值 ## 更新 1. 根據要修改的 project ID、服務以及已經生成好的服務名稱去尋找在此資料夾下的檔案 2. 修改檔案的參數對應值 ## 刪除 1. 確認專案上已經沒有此服務名稱的服務,直接刪除對應 project ID 以及服務下的服務名稱檔案即可 ## 注意 - 下方參數說明有打 * 表示一但變更,更新時會導致該服務整個重建或是不給更新 ## cloudSQL 參數說明 |參數|說明| |---|---| |*cloudSQL_Region|設定此 cloudSQL 所在的區域,例如新加坡:"asia-southeast1"| |*cloudSQL_Zone|設定此 cloudSQL 所在的地區,例如新加坡 a 區:"asia-southeast1-a"| |*vpc_Name|設定此 cloudSQL 對應那個 vpc 網路| |*cloudSQL_IP_Name|設定此 cloudSQL 使用的 vpc peer 名稱| |*cloudSQL_Version|設定此 cloudSQL 的 DB 版本| |*cloudSQL_Specification|設定此 cloudSQL 機器規格,db-custon-cpu數量(cores)-記憶體大小(MB),例如:"db-custom-2-13312" 表示 2 核 13.3G| |*cloudSQL_DiskSize|設定此 cloudSQL 的硬碟大小(G),如使用後超過會自動追加| |*cloudSQL_DiskType|設定此 cloudSQL 的硬碟類別,有 PD_HDD 以及 PD_SSD 兩種| |cloudSQL_authorized_IP|設定此 cloudSQL 外部連線的 ip 白名單列表| |cloudSQL_user1_name|設定此 cloudSQL 的使用者1名稱| |cloudSQL_user1_password|設定此 cloudSQL 的使用者1密碼| ## gcs 參數說明 |參數|說明| |---|---| |gcs_Region|設定此 projcet 所在的區域,例如新加坡:"asia-southeast1"| |gcs_Zone|設定此 projcet 所在的地區,例如新加坡 a 區:"asia-southeast1-a"| |*gcs_Location|設定此 gcs 值區所在的區域,例如新加坡:"asia-southeast1"| |*gcs_StroageClass|設定此 gcs 值區所使用的硬碟類型| |gcs_Domains|設定此 gcs 負載平衡接收的域名| |*gcs_SSL_Enable|設定此 gcs 負載平衡是否啟用 https| |*gcs_SSL|當 gcs_SSL_Google 不為 true 時,需要手動指定憑證路徑,此名稱對應 setting/secret/ 裡的資料夾| |*gcs_SSL_Google|當為 true 時,則由 google 生成憑證並套用到 https 負載平衡,其餘則需設定 gcs_SSL 參數| ## k8s 參數說明 |參數|說明| |---|---| |Region|設定此 projcet 所在的區域,例如新加坡:"asia-southeast1"| |Zone|設定此 projcet 所在的地區,例如新加坡 a 區:"asia-southeast1-a"| |NodePool_Name|設定此 cluster 的 node pool 的名稱| |NodePool_Region|設定此 cluster 的 node pool 所在的區域,例如新加坡:"asia-southeast1"| |NodePool_Min_Node_Count|設定此 cluster 的 node pool 自動擴充的最小節點數,此數值乘上 k8s_NodePool_Locations 數量即為整個 node pool 的最小數值| |NodePool_Max_Node_Count|設定此 cluster 的 node pool 自動擴充的最大節點數,此數值乘上 k8s_NodePool_Locations 數量即為整個 node pool 的最大數值| |NodePool_Locations|設定此 cluster 的 node pool 啟用哪些地區,例如我只想啟用新加坡-a 區,值為:"asia-southeast1-a",如果想多區,值為 "asia-southeast1-a,asia-southeast1-b,asia-southeast1-c",如果 k8s_Cluster_Default_Node_Locations 沒有設定的地區,這邊也不能設定| |NodePool_MachineType|設定此 cluster 的 node pool 的機器類型| |NodePool_DiskSize|設定此 cluster 的 node pool 每個 node 的硬碟大小(G)| |NodePool_DiskType|設定此 cluster 的 node pool 的硬碟類型,有 pd-standard、pd-ssd 以及 pd-balanced 三種,預設建議為 pd-standard| |NodePool_ImageType|設定此 cluster 的 node pool 使用的 images 類型,實際種類請參考 https://cloud.google.com/kubernetes-engine/docs/concepts/node-images| |NodePool_Version|設定此 cluster 的 node pool 使用的 k8s 版本| |NodePool_auto_repair|設定此node pool異常時是否自動維修true or false | |NodePool_auto_upgrade|設定此node pool有新版本時是否自動更新true or false | |Cluster_Region|設定此 cluster 所在的區域,例如新加坡:"asia-southeast1"| |Cluster_Default_Node_Locations|設定此 cluster 預設啟用哪些地區,例如我只想啟用新加坡-a 區,值為:"asia-southeast1-a",如果想多區,值為 "asia-southeast1-a,asia-southeast1-b,asia-southeast1-c",這個要注意,如果後續才開啟多區,需要等莫約 1 小時才會生效,會影響硬碟可使用的生成區域| |Cluster_Pod_IP_Range|設定此 cluster 的 pod ip 範圍| |Cluster_Service_IP_Range|設定此 cluster 的 service ip 範圍| |Cluster_Master_Version|設定此 cluster 的 master 最小 k8s 版本| |Cluster_Master_IP_Range|設定此 cluster 的控制層內部 ip 範圍| |Network|設定此 cluster 要連結到哪個 vpc 網路| ## vpc 參數說明 |參數|說明| |---|---| |vpc_Region|設定此 projcet 所在的區域,例如新加坡:"asia-southeast1"| |vpc_Zone|設定此 projcet 所在的地區,例如新加坡 a 區:"asia-southeast1-a"| |Subnetwork_IP_Range|設定此 vpc 的子網路 ip 範圍| |Subnetwork_Region|設定此 vpc 所在的區域,例如新加坡:"asia-southeast1"| |Router_Name|設定 cloudNAT 使用的 router 名稱| |cloudNAT_IP_Count|設定 cloudNAT 閘道使用的 ip 數量| |cloudNAT_IP_Name|設定 cloudNAT 閘道的 ip 名稱開頭| |*cloudNAT_Name|設定 cloudNAT 的名稱| |*cloudSQL_IP_Name|設定 cloudSQL 使用的 vpc peer 的名稱| |*cloudSQL_IP_Range|設定 cloudSQL 使用的 vpc peer 的 ip 範圍起點,只接收 x.x.0.0,預設網路遮罩 16| |*nginx_ingress_name|設定 nginx ingress 用的 ip 名稱部分字段| ## logging 參數說明 |參數|說明| |---|---| |logging_Region|設定此 projcet 所在的區域,例如新加坡:"asia-southeast1"| |logging_Zone|設定此 projcet 所在的地區,例如新加坡 a 區:"asia-southeast1-a"|
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up