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	

参数列表
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐