跳到主要內容

發表文章

目前顯示的是有「helm」標籤的文章

如何在 GKE 上部署 Gitlab Runner (使用 Helm) 並整合 Workload Identity

  如何在 GKE 上部署  Gitlab Runner (使用 Helm) 並整合 Workload Identity Gitlab Runner + Helm + workload Identity to deploy Application on GKE 建立 Service Account 給 Gitlab Runner 使用 如果想讓 Gitlab Runner 可以在 GCP  上部署任何應用程式,  必須給他一組有特定權限的 Service Account Gitlab Runner 要使用這個 Service Account, 比較 Hardcore 一點的做法是, 直接下載 Service Account 的 Credential,  再透過 gcloud 指令拿 Credential 去做認證 gcloud auth activate-service-account $SERVICE_ACCOUNT_EMAIL \     --key-file=$CRED  \     --project=$PROJECT    這個做法的缺點是, 需要煩惱如何安全地保管 Credential  比較安全一點的做法是 透過 GKE Workload Identity 將 GKE 裡的 Service Account 與 GCP 上的 Service Account 連結在一起 假設 Gitlab Runner 架構規劃如下: 在 GCP 上總共有三個 Project (cicd/dev/prod), cicd 的 Project 裡有一座 GKE 用來跑 Gitlab Runner, Runner 會將應用程式部署到 dev, 以及 prod 的 App Engine 上 要實現以上的架構 首先 Step 1. 建立 Google Service Account  # Parameters KSA_NAME="gitlab-runner-pd" RUNNER_GSA_PROJECT="cicd" NAMESPACE="gitlab" RUNNER_NAME="gitlab-runner-pd" TOKEN="eZH45H6uQ...