簡體   English   中英

“永久”GKE kubectl服務帳戶身份驗證

[英]“permanent” GKE kubectl service account authentication

我將應用程序部署到從CI運行的Google Cloud上的Kubernetes CI使用包含auth信息的kubectl配置(直接在CVS中或在構建期間從env變量模板化)

CI具有單獨的Google Cloud服務帳戶,我通過生成kubectl配置

gcloud auth activate-service-account --key-file=key-file.json

gcloud container clusters get-credentials <cluster-name>

這會設置kubectl配置,但令牌會在幾個小時后到期。

除了在構建和運行gcloud container clusters get-credentials期間提供CI密鑰文件之外,我還有哪些選擇“永久” kubectl配置?

您應該研究RBAC (基於角色的訪問控制),它將對避免過期的角色進行身份驗證,與目前過期的證書相反。

對於那些提出同樣問題並提出異議的人。

這是我目前的解決方案:

有一段時間我將key-file.json視為身份令牌,將其放入CI配置並在安裝了gcloud CLI的容器中使用它。 我使用密鑰文件/令牌登錄GCP並讓gcloud 生成 kubectl配置 - 用於GCP容器注冊表登錄的方法相同。

這工作正常,但在CI中使用kubectl是一種反模式。 我切換到基於容器注冊表推送事件的部署。 這在使用龍骨 通量等的k8s中相對容易做到。因此CI只需要將Docker圖像推送到repo並且其工作在那里結束。 其余的在k8s內部處理,因此不需要kubectl和CI作業中的配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM