Jenkins 连接K8S
其他机器配置K8S客户端的命令,jenkins配置连接 K8S
·
jenknis 机器添加kubectl
命令的方式
mkdir /root/.kube -p
## 复制k8s的Master下的 /root/.kube/config 到被安全机器上去即可
chmod 600 /root/.kube/config
特别需要注意的地方
如果 k8s 一直 ImagePullBackOff
不成功,但是在 node节点又正常。查了很久的原因,原来我在设置harbor的仓库的时候设置成私有
了。所以一定要设置公共
才行。
参考文章
https://www.cnblogs.com/hellxz/p/easyway_jenkins_integration_k8s.html
nodeport的原理
nodeport的原理是通过iptables的nat实现的
iptables -nvL -t nat|grep 30002
安装插件
kubernetes #
git parameter # git分支选择插件
添加方式
系统管理–> 系统设置—>添加一个云(最底下)。在下拉菜单中选择kubernets并添加。
http://172.16.10.128:6443/
配置云kubernetes连接K8S集群的验证文件
下面的内容也可以通过如下命令得到:
##
kubectl config view --raw -o json
###
kubectl config view --raw -o json|jq ".users[0].user"
获取/root/.kube/config
中certificate-authority-data
的内容并转化成base64 encoded
文件。
echo 'certificate-authority-data-value' | base64 -d > ./ca.crt
# 也可以这样获得
kubectl config view --raw -o json|jq '.clusters[].cluster."certificate-authority-data"' |tr -d '"'|base64 -d> ca.cert
获取/root/.kube/config中certificate-authority-data
和 的内容并转化成base64 encoded
文件
echo "client-certificate-data" |base64 -d > client.crt
echo "client-key-data" |base64 -d > client.key
## 也可以这样获得
kubectl config view --raw -o json|jq '.users[].user."client-certificate-data"' |tr -d '"'|base64 -d > client.cert
kubectl config view --raw -o json|jq '.users[].user."client-key-data"'|tr -d '"'|base64 -d > client.key
生成client P12认证文件cert.pfx,用于配置Jenkins连接k8s集群的认证凭据
生成Client P12
认证文件cert.pfx
,并下载至本地:
[root@k8s-01 aa]# openssl pkcs12 -export -out ./cert.pfx -inkey ./client.key -in ./client.crt -certfile ./ca.crt
Enter Export Password:
Verifying - Enter Export Password:
添加凭据,Password值添加生成cert.pfx文件时输入的密钥
注意的地方
根据连接测试的报错进行配置:
验证:
更多推荐
已为社区贡献5条内容
所有评论(0)