GitLab 集成响应 401 中的头盔安装



我想在Gitlab的k8s集成中安装Helm,并参考 https://docs.gitlab.com/ee/user/project/clusters/#adding-an-existing-kubernetes-cluster

但是当我点击 Helm Tiler 的Install按钮时,响应是 401。

我的流程如下。

  1. 在 GCP 中部署 K8
  2. API_URL运行这个
$ kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}'
https://xx.xxx.xx.xx  // set this `API_URL` 
  1. 创建 GitLab 的服务帐户
$ kubectl create -f - <<EOF
   apiVersion: v1
   kind: ServiceAccount
   metadata:
     name: gitlab
     namespace: default
EOF
$ kubectl create -f - <<EOF
 kind: ClusterRoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   name: gitlab-cluster-admin
 subjects:
 - kind: ServiceAccount
   name: gitlab
   namespace: default
 roleRef:
   kind: ClusterRole
   name: cluster-admin
   apiGroup: rbac.authorization.k8s.io
EOF
$ kubectl get secrets
default-token-xxxx   kubernetes.io/service-account-token   3      25d
gitlab-token-xxxx    kubernetes.io/service-account-token   3      21h
tls-sample            kubernetes.io/tls                     2      24d

所以,我选择了gitlab-token-xxxx.

  1. CA Certificate运行这个
$ kubectl get secret gitlab-token-xxxx -o jsonpath="{['data']['ca.crt']}" | base64 --decode
-----BEGIN CERTIFICATE-----
MIIDDDCCAfSgAwIBAgIRAJ0S/Fsf1dDFRZP9TCnby60wDQYJKoZIhvcNAQELBQAw
......
.....
FZ1tsRI3EbTNuKsyKtvjwg==
-----END CERTIFICATE-----

我用这个作为CA Certificate

  1. Token运行这个
$ kubectl get secret <secret name> -o jsonpath="{['data']['token']}" | base64 --decode
eyJhbGciOi.........

我用这个作为Token

  1. 我在此页面填写。

请教我正确的方法!

感谢您看到这个问题。

我通过以下方法安装了它而没有显示错误!谢谢!

kubectl create clusterrolebinding gitlab-internal-cluster-rule --clusterrole=cluster-admin --serviceaccount=gitlab-managed-apps:default

最新更新