我想在Gitlab的k8s集成中安装Helm,并参考 https://docs.gitlab.com/ee/user/project/clusters/#adding-an-existing-kubernetes-cluster
但是当我点击 Helm Tiler 的Install
按钮时,响应是 401。
我的流程如下。
- 在 GCP 中部署 K8
- 要
API_URL
运行这个
$ kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}'
https://xx.xxx.xx.xx // set this `API_URL`
- 创建 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
.
- 要
CA Certificate
运行这个
$ kubectl get secret gitlab-token-xxxx -o jsonpath="{['data']['ca.crt']}" | base64 --decode
-----BEGIN CERTIFICATE-----
MIIDDDCCAfSgAwIBAgIRAJ0S/Fsf1dDFRZP9TCnby60wDQYJKoZIhvcNAQELBQAw
......
.....
FZ1tsRI3EbTNuKsyKtvjwg==
-----END CERTIFICATE-----
我用这个作为CA Certificate
- 要
Token
运行这个
$ kubectl get secret <secret name> -o jsonpath="{['data']['token']}" | base64 --decode
eyJhbGciOi.........
我用这个作为Token
- 我在此页面填写。
请教我正确的方法!
感谢您看到这个问题。
我通过以下方法安装了它而没有显示错误!谢谢!
kubectl create clusterrolebinding gitlab-internal-cluster-rule --clusterrole=cluster-admin --serviceaccount=gitlab-managed-apps:default