[英]How to add an Azure AKS Kubernetes Cluster self-signed CA to GitLab CI/CD Kubernetes integration?
我正在尝试将我的Azure AKS Kubernetes集群添加到我的GitLab CI / CD Kubernetes集成中。
运行此命令后,我可以从我的电脑上执行集群上的kubectl
命令:
az aks get-credentials --resource-group <resource-group-name> --name <kubernetes-cluster-name>
它创建了一个.kube/config
文件,其内容如下:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <some long base64 string here>
server: https://<resource-group-name+some-hexadecimal-chars>.hcp.westeurope.azmk8s.io:443
name: <kubernetes-cluster-name>
contexts:
- context:
cluster: <kubernetes-cluster-name>
user: clusterUser_<resource-group-name>_<kubernetes-cluster-name>
name: <kubernetes-cluster-name>
current-context: <kubernetes-cluster-name>
kind: Config
preferences: {}
users:
- name: clusterUser_<resource-group-name>_<kubernetes-cluster-name>
user:
client-certificate-data: <some long base64 string here>
client-key-data: <some long base64 string here>
token: <some secret string of hexadecimal chars here>
在GitLab表单中,我必须输入以下字段:
我试过这些值:
<kubernetes-cluster-name>
与azure上的集群名称和.kube/config
文件中的集群名称相.kube/config
。 .kube/config
文件中复制了url https://<resource-group-name+some-hexadecimal-chars>.hcp.westeurope.azmk8s.io:443
。 .kube/config
文件中的certificate-authority-data
,但是没有用,我已经尝试了.kube/config
文件中的所有三个base64字符串,没有用。 .kube/config
文件中。 在GitLab中,当我尝试按下Install
按钮以安装Helm Tiller时,我收到此错误:
Something went wrong while installing Helm Tiller
Can't start installation process. nested asn1 error
有时我会得到这个错误:
Kubernetes error: SSL_connect returned=1 errno=0 state=error: certificate verify failed
我试图让它从昨天开始工作,谷歌很多,没有找到任何东西。
我认为问题在于第三个字段,即CA证书,也许还有一些其他方法可以从命令行az
或kubectl
获取此内容。
这里有人从GitLab到Azure AKS的Kubernetes集成吗?
我后来发现.kube/config
文件的certificate-authority-data
中的base64字符串我将其内容复制到GitLab“添加Kubernetes集群”的CA Certificate
字段中,它是PEM格式,但是base64编码。
PEM格式已经是证书位的base64编码表示,但它在中间有一些换行符。 整个内容在进入.kube/config
之前再次进行base64编码,因此它变成了一个很大的base64单行字符串。
我只需要对这个大的单行字符串进行base64解码(我在Chrome的控制台窗口中使用了javascript atob("....")
),这给了我这样的东西:
-----BEGIN CERTIFICATE-----
MIIEyDCCArCgAwIBAgIRAOL3N8oMIwWIxcFTZhTkfgMwDQYJKoZIhvcNAQELBQAw
...
...
...
5gP7yoL1peZ+AWjCgcUVZYiItqrBLpWYDgY9g8btYDUIiWlqkmC0+kBaPfwCtckx
cUp3vlwRITrv0mzrxiQjTLTUpEy7EcD+U6IecA==
-----END CERTIFICATE-----
然后我只是将这些内容复制到GitLab“CA证书”字段中并且它有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.