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 查看