Rancher2.1從集羣搭建到Pipeline部署完整教程。Rancher Kubernetes管理平臺 ,可以讓用戶在生產環境中輕鬆快捷的部署和管理容器及Kubernetes。Rancher 2.x版本內置的CI/CD Pipeline,讓用戶得以快速搭建團隊所需的CI/CD流水線。本文將分享用戶自身的最佳實踐,step by step完成從集羣搭建到Pipeline部署的完整流程。node
快速搭建集羣的更詳細教程可參照官方文檔:linux
https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide/#topdocker
建立第一個集羣json
配置要求最好按照官方建議的來:centos
IP | 角色 |
---|---|
192.168.242.80 | rancher server |
192.168.242.81 | master1 |
192.168.242.82 | master2 |
192.168.242.83 | node1 |
192.168.242.84 | node2 |
要求(列出大體要求,具體步驟特別是docker安裝部分參照上面的基礎環境配置): - CPU: 4C; - 內存:8G以上(親測16G比較舒服,4G的也能夠吧,可是部署應用基本上起不來3個Pod); - Centos/RedHat Linux 7.5+(64位); - Docker 17.03.2;(用其餘版本的立馬從新裝吧) - 配好主機名和host,關防禦牆和selinux;(/etc/hosts和/etc/hostname) - 配置Docker鏡像加速地址等信息 /etc/docker/daemon.json,以下代碼 - 使用非root帳戶 - 主機名只支持包含 - 和 .(中橫線和點)兩種特殊符號,不能重複 centos7修改hostname和hosts 一、修改/etc/hostname vi /etc/hostname 打開以後的內容是: localhost.localdomain 把它修改爲想要的名字就能夠,好比:master 保存退出 1.一、修改主機IP(虛擬機才使用此步) 1.二、修改主機網卡(虛擬機才使用此步) 1.三、關閉防火牆 firewalld的基本使用 啓動: systemctl start firewalld 關閉: systemctl stop firewalld 查看狀態: systemctl status firewalld 開機禁用 : systemctl disable firewalld 開機啓用 : systemctl enable firewalld 二、修改/etc/hosts文件 vi /etc/hosts 打開以後的內容是: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 而後在最後面加一行: 192.168.80.10 master 保存退出,而後重啓機器,這時候就能夠經過hostname來訪問這臺機器的服務了 三、映射互訪問(如master和slave1) 在/etc/hosts裏面再加一行: 192.168.80.10 master 192.168.80.11 slave1 四、查看主機名: uname -n //單獨主機名 uname -a //詳細信息 hostname //單獨主機名 查看主機IP: hostname -i //主機IP
二、安裝Docker服務器
root執行less
curl https://releases.rancher.com/install-docker/17.03.sh | sh
配置加速器(此處是個人專屬加速器,可填寫公共加速器或自行註冊阿里雲的)dom
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://oegbalmw.mirror.aliyuncs.com"] } EOF 重啓Docker服務 sudo systemctl daemon-reload sudo systemctl restart docker
登錄服務器curl
配置好環境後執行下面命令建立rancher server(這裏須要點耐心等等) $ sudo docker run -d -v /opt/rancher:/var/lib/rancher --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
運行完後,就能夠經過IP來訪問Rancher的管理臺了,接下來咱們就能夠點擊 「添加集羣」 來添加個「集羣圈」了,裏面纔是添加宿主機爲不一樣節點(主機)進來管理容器。ide
除了rancher server 不執行管理端命令外,都要先安裝Docker。
四、建立一個集羣
這裏命名是根據一個IP網段來的,加入你有阿里雲-深圳A或深圳B等都須要單首創建它的集羣來管理這個網段類的服務器。
我搭設的是1個server 2個master 2個node的集羣 ,選擇好角色,粘貼至各主機去運行,在高級選項中寫上對應的主機外網ip;
4.1 master只選擇etcd和control,
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.6 --server https://192.168.0.80 --token zkp8f6829qz4w6mp5f9kvp6672msbsxh4rcxfskqs6qn8wbn7k9rmr --ca-checksum 50aa0d2435a0dae2b49739f46408e0d237af88a43232819cecd23ff7564978d7 --etcd --controlplane
4.2 node只選擇worker;
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.6 --server https://192.168.0.80 --token zkp8f6829qz4w6mp5f9kvp6672msbsxh4rcxfskqs6qn8wbn7k9rmr --ca-checksum 50aa0d2435a0dae2b49739f46408e0d237af88a43232819cecd23ff7564978d7 --worker
搭多各master實現高可用也是沒問題的。(到這裏要需等片刻,主機還在拉取文件,出現下圖纔算成功)