Connect to Kubernetes
使用本地 kubeconfig 配置文件生成客户端证书,jenkins 利用客户端证书来连接 kubernetes 集群,利用集群的弹性资源动态分配代理节点。本文主要目的是通过本地 kubeconfig 文件来生成证书。
导出证书
使用 kubectl config view
去预览本地 kubeconfig 配置,一般使用客户端证书的本地连接会存在三个值,分别是 certificate-authority-data
既客户端 CA 证书,存在于 Cluster 项中;client-certificate-data
客户端公钥、 client-key-data
客户端私钥;这三个文件经过 base64
编码之后存放于 config
文件中。
step 1 导出证书
echo $certificate-authority-data |base64 -d >client-ca.crt
echo $client-certificate-data |base64 -d >client-pub.crt
echo $client-client-key-data |base64 -d >client-key.crt
step 2 生成 pkcs12 格式的客户端证书文件
openssl pkcs12 -export -out client-cert.pfx -inkey client-key.crt -in client-pub.crt -certfile client-ca.crt
导入证书
在 jenkins 中创Certificate
类型的凭据,将生成的 pkcs12
证书导入,输入密码。