Rancher持续集成部署K8S集群的脚本
文章目录Rancher CLI 安装概要安装Rancher CLI 安装概要Rancher CLI 是一款 Racher 的客户端工具, 允许通过 shell 命令来调用Rancher的API接口, 大大的方便了对Rancher的操作安装登录rancher 在右下角下载 Rancher CLI, 这里我们下载linux版本的下载到对应目录tar -zxvf rancher-linu...
文章目录
1. 概要
Rancher CLI 是一款 Racher 的客户端工具, 允许通过 shell 命令来调用Rancher的API接口, 大大的方便了对Rancher的操作.
在做CI/CD 集成的时候需要通过Shell 来操作Rancher的K8s集群, 这个时候就需要 rancher cli + kubectl 来实现了
2. 安装
2.1 Rancher CLI安装
登录rancher 在右下角下载 Rancher CLI, 这里我们下载linux版本的
下载到对应目录
tar -zxvf rancher-linux-amd64-v2.2.0.tar.gz
配置环境变量
vim /etc/profile
添加上刚刚解压的目录
## rancehr-cli
export PATH=$PATH:/usr/local/rancher-v2.2.0
执行一下 source /etc/profile
测试 rancher
命令
完成
2.2 kubectl 安装
如果要控制K8s集群还要安装 kubectl 命令, 注意url的版本号
wget https://storage.googleapis.com/kubernetes-release/release/v1.15.2/bin/linux/amd64/kubectl
将二进制文件赋予执行权限
chmod +x ./kubectl
移动文件到 /usr/local/bin
mv ./kubectl /usr/local/bin/kubectl
测试命令
3 Rancher CLI 配置API Key
API key 可以和Rancher用户绑定, 可以通过 API key 来登陆rancher 实现对集群的操作
3.1 添加API key
点击右上角用户, API & Keys
填写描述, 无需制定集群范围, 并且永不过期
拿到key的信息如下
3.2 测试API key
rancher login 试一下
使用刚刚提供的 API 地址访问
rancher login https://ip:port/v3 --token token-nslsb:jv7txpbqq8kmkt5qd6rhfkvg9wz888pzn6h9nzkwrm2h8v2l72ph4g
输入yes , 得到下面结果成功
3.3 配置部署镜像的脚本
3.3.1 获取集群和项目的ID
3.3.1.1 集群ID
简单直接的在url 能看见
或者集群界面, API查看也能看到
3.3.1.2 项目ID
项目ID 也能在url 找到, 一般都拼接有项目所属的集群ID
3.3.2 更新对应集群下对应项目下对应NameSpace下的deployment
命令模版如下
rancher kubectl --namespace=${NAMESPACE} apply -f ./${DEPLOYMENT_FILE}.yaml
${NAMESPACE}
是当前项目的命令空间, ${DEPLOYMENT_FILE}
用于更新 deployment 的yaml文件
Jenkins 配置示例
echo yes | rancher login ${RANCHER_URL} -t ${RANCHER_TOKEN} --context ${RANCHER_PROJECT_ID}
sed -i 's^${registry_url}^'"${REGISTRY_URL}^g" "./deployment-${ENV}.yaml"
sed -i 's^${image_tag}^'"pa-1.5.0${IMAGE_TAG}^g" "./deployment-${ENV}.yaml"
rancher kubectl --namespace=${NAMESPACE} apply -f ./deployment-${ENV}.yaml
参数列表
更多推荐
所有评论(0)