jenkins连接k8s集群
jenkins:普通方式部署(单节点,master)
kubeadmin部署k8s集群(配置好StorageClass)
https://www.cnblogs.com/smallleiit/articles/12377732.html
https://blog.csdn.net/programer_bei/article/details/101289835
先去.kube/config获取服务端与客户端内容,生成cert.pfx(这个是要上传到jenkins上,让jenkins有权与k8s通信,并执行yaml生成pod)
把上面获取的cert.pfx导入到jenkins的凭证上面,jenkins安装Kubernetes插件
配置jenkins上的cloud,写入所需的url地址与密钥,配置pod模板(改模板是jenkins的job调用)
如上图所示:jenkins通道,写入jenkins地址,url:port(port==50000为slave节点通过jnlp与jenkins的master节点通信,即回传信息给master,此处的port也可以使用固定的端口号,可以选择随机,前提是在jenkins与k8s是内网,既能任意端口互通,没有云厂家安全组限制)当配置port为固定端口后,需要在jenkins的全局安全配置上,开启tcp代理端口,50000,如下图
配置好jenkins与k8s连接后
可以使用pipline与自由构建job使用k8s节点进行编译与构建
标签表达式为Pod模板的名字
pipline上的node写入pod模板名字
pod模板可以启动多个container,因为配置了jnlp方式让jenkins与k8s通信,所以,k8s每个pod启动都会默认加入jnlp容器
参考链接:https://www.jianshu.com/p/fc0d8cba1802