本文最后更新于 407 天前,其中的信息可能已经有所发展或是发生改变
k8s服务证书
Kubernetes
服务证书key是用来与Kubernetes API server
建立连接的,生成方法是,从Kubernetes API server
的/root/.kube/config
文件中,获取/root/.kube/config
中certificate-authority-data
的内容,并转化成base64
编码的文件即可。
通过解码获取kubectl使用的admin证书
查看 /root/.kube/config文件,文件中有三个值 certificate-authority-data 、client-certificate-data 、 client-key-data ,解码它们获得证书
生成pkcs文件
#!/bin/bash
CONFIG="/root/.kube/config"
echo "Reading CA Certificate..."
echo -n $(cat $CONFIG | grep certificate-authority-data | cut -d: -f2) | base64 -d > ca-cert.crt
echo "Reading Client Certificate..."
echo -n $(cat $CONFIG | grep client-certificate-data | cut -d: -f2) | base64 -d > client.crt
echo "Reading Client Key..."
echo -n $(cat $CONFIG | grep client-key-data | cut -d: -f2) | base64 -d > client.key
echo "Creating PKCS#12 file..."
openssl pkcs12 -export -out jenkins-connection.pfx -inkey client.key -in client.crt -certfile ca-cert.crt
根据这三个文件生成一个PKCS12格式的客户端证书文件,注意生成证书的时候,一定要填写密码,后面会用到
bash 脚本名
此时我们创建了4个文件:ca.crt、jenkins-connection.pfx、client.crt、client.key,其中ca.crt的文件内容在创建Jenkins连接到kubernetes集群时需要用,jenkins-connection.pfx需要上传到Jenkins的凭据配置中
jenkins配置
添加连接配置
安装kubernetes插件