Rancher持續集成部署K8S集羣的腳本

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	

參數列表
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章