通过独立的jenkins部署K8S应用
PS:这种方式是jenkins独立,然后slave已容器方式运行,master是独立出来的,减少运维成本,还能提高效率。
如果使用master部署需要把master加入k8s集群
jenkins安装不赘述
创建证书秘钥
在k8s-master节点上生成对应的证书
#1、查看kubernetes的config文件 cat ~/.kube/config #2、根据配置文件生成证书.替换引号内部的信息为config内相关value echo "certificate-authority-data" | base64 -d > ca.crt echo "client-certificate-data" | base64 -d > client.crt echo "client-key-data" | base64 -d > client.key #3、生成jenkins使用的cert.pfx,此处需要设置一个4位数以上的密码 openssl pkcs12 -export -out cert.pfx -inkey client.key -in client.crt -certfile ca.crt ls ca.crt cert.pfx client.key client.crt
添加凭据
在jenkins里添加凭据
凭据类型选Certificate
上传cert.pfx,输入刚才设置的密码即可
安装插件
jenkins的地址为http://192.168.1.22:8080/
安装完毕后安装kubernetes插件重启
打开代理
manage jenkins ->configure global security -> 代理
制作jenkins-slave镜像
FROM jenkins/jnlp-slave:latest-jdk11 USER root #修改镜像时区 RUN ln -sf /usr/share/zoneinfo/Asia/ShangHai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone && \ dpkg-reconfigure -f noninteractive tzdata #重新配置tzdata软件包,使得时区设置生效 #修改debia源 RUN echo "deb http://mirrors.163.com/debian/ buster main" > /etc/apt/sources.list && \ echo "deb http://mirrors.163.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list && \ echo "deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib" >> /etc/apt/sources.list #安装docker相关依赖 RUN apt-get update && \ apt-get -y install apt-transport-https ca-certificates curl gnupg2 apt-utils lsb-release software-properties-common && \ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gp