我是新手,我正在尝试在 gitlab 上配置我的项目,以便能够将其与 kubernetes 集群基础设施管道集成。在我配置 gitlab 时,我要求提供证书和令牌。由于 kuberntes 部署在 azure 上,我如何创建/检索证书和所需的令牌?它可能指的是 kuberntes 服务中的哪个用户/秘密?
问问题
47 次
1 回答
2
您可以使用以下步骤获取CA 证书的默认值:
CA 证书:
CA 证书只不过是我们在配置文件中用于对集群进行身份验证的 Kubernetes 证书。
- 连接到 AKS 群集,
az aks get-credentials — resource-group <RG> — name <KubeName>
- 运行
kubectl get secrets
,在输出中运行命令后,您将获得一个默认令牌名称,您可以复制该名称。 - 运行
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
获取证书,您可以复制证书并在设置运行器时使用。
输出:
令牌:
该令牌将属于具有 cluster-admin 权限的服务帐户,用于Gitlab
访问 AKS 群集,因此您可以使用以下步骤创建一个新的管理员服务帐户(如果之前未创建):
创建一个包含以下内容的 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
运行
kubectl apply -f <filename>.yaml
以应用服务帐户并将其绑定到集群。运行
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')
以获取我们在文件中创建的 Gitlab Admin 的令牌,并在上一步中与集群绑定。您可以复制令牌值并在运行器设置中使用它。
输出:
于 2021-12-14T05:44:24.950 回答