1.简介
rancher 简化了 k8s操作的软件,通过rancher可以在不用关心k8s底层通过图形化界面直接部署微服务.
harbor 类似于docker hub 的私有仓库,docker可以通过docker pull 拉取镜像.
jenkins 自动化部署工具,可以自定义脚本和执行时机.
rancher-cli 远程控制rancher的命令行工具
2.步骤
2.1 打包 rancher-cli 和 kubectl 到镜像中
先下载 rancher-cli
在下载 kubectl
curl -LO https://dl.k8s.io/release/v1.21.0/bin/linux/amd64/kubectl
https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/
这两个文件放到一个目录下创建dockerfile
FROM eipharbor.jiuqi.com.cn/linux/base/c7-systemd:latest ADD rancher-linux-amd64-v2.4.9.tar.gz /usr/src ADD kubectl /usr/src RUN cd /usr/src; tar xf rancher-linux-amd64-v2.4.9.tar.gz; mv rancher-v2.4.9/rancher /usr/bin/rancher; rm -rf rancher-v2.4.9; install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl; CMD ["/usr/sbin/init"]
打包镜像,上传到harbor上
上传 harbor上有几个命令
docker login
docker tag
docker push
可以自行了解
2.2 在jenkinsfile 中添加 如下命令即可重启rancher实现自动化部署
withDockerContainer("harbor.com.cn/jenkins_tool/rancher-cli:1.0"){ sh "rancher login ${RANCHER_LOGIN_URL} --token token-2q5tg:6hvcqspdkmv4zf8zjgfwdpfwcpk9psbkc9zn6pjsq8stdkg9l7vwkk --skip-verify --context c-cs6ph:p-lndf4" sh "rancher kubectl rollout restart deployment/${params.SERVICE_NAME} --namespace ybz" }
先用
rancher右上角的用户选项生成token
--context 参数可以执行命令 rancher context switch 查看