簡體   English   中英

kubernetes 服務的 gitlab 管道中的證書和服務令牌

[英]Certicate and Service token in gitlab pipeline for kubernetes service

我是新手,我正在嘗試在 gitlab 上配置我的項目,以便能夠將其與 kubernetes 集群基礎設施管道集成。 在我配置 gitlab 時,我要求提供證書和令牌。 由於 kuberntes 部署在 azure 上,我如何創建/檢索證書和所需的令牌? 它可能指的是 kuberntes 服務中的哪個用戶/秘密?

在此處輸入圖像描述

您可以使用以下步驟獲取CA 證書的默認值:

CA 證書:

CA 證書只不過是我們在配置文件中用於對集群進行身份驗證的 Kubernetes 證書。

  1. 連接到 AKS 群集, az aks get-credentials — resource-group <RG> — name <KubeName>
  2. 運行kubectl get secrets ,在 output 中運行命令后,您將獲得一個默認的令牌名稱,您可以復制該名稱。
  3. 運行kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode獲取證書,您可以復制證書並在設置跑步者時使用。

Output:

在此處輸入圖像描述

代幣:

該令牌將屬於具有集群管理員權限的服務帳戶Gitlab將使用該權限訪問 AKS 集群,因此如果之前未創建,您可以使用以下步驟創建新的管理員服務帳戶

  1. 創建一個 Yaml 文件,內容如下:

     apiVersion: v1 kind: ServiceAccount metadata: name: gitlab-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: gitlab-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: gitlab-admin namespace: kube-system
  2. 運行kubectl apply -f <filename>.yaml將服務帳戶應用並綁定到集群。

  3. Run kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}') to get the token for the Gitlab Admin we created in the file and bind with the上一步中的集群。 您可以復制令牌值並在運行器設置中使用它。

Output:

在此處輸入圖像描述

暫無
暫無

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

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