rancher2 HA部署注意事項


 

 

參考:

https://rancher.com/docs/rancher/v2.x/en/installation/ha-server-install/

https://www.cnblogs.com/rancher-maomao/p/8445111.html

 

部署要點:

域名解析准備:

域名解析至三個IP作輪詢解析,類似下方:

rancher.qq.com 192.168.1.1

racher.qq.com 192.168.1.2

racher.qq.com 192.168.1.3

 

系統版本

建議使用Ubuntu 16.04版本,CentOS7沒有配置成功,需要修改的地方太多了;

Docker版本:

RKE在Github上的readme中已有說明,Kubernetes1.10.1需要Docker 1.13.1;

主機名:

如果是克隆的系統一定要修改主機名,hostname主機名必須不同!

主機文件:

/etc/hosts要配置正確,一定要有127.0.0.1 localhost 這一項。Hosts文件中包含所有主機節點的IP和名稱列表。使用vi進行編輯,不能使用中文全角的空格;

SELinux:

必須關閉!Ubuntu 16.04默認未安裝,無需設置。CentOS7下可修改配置文件/etc/sysconfig/selinux,設置SELINUX=disabled ,重啟后永久關閉。

IPV4轉發

必須開啟!Ubuntu 16.04下默認已啟用,無需設置。

防火牆:

Ubuntu默認未啟用UFW防火牆,無需設置。也可手工關閉:sudo ufw disable

禁用SWAP:

一定要禁用swap,否則kubelet組件無法運行,永久禁用swap可以直接修改/etc/fstab文件,注釋掉swap項。swapoff -a 只是臨時禁用,下次關機重啟又恢復原樣;

啟用Cgroup:

修改配置文件/etc/default/grub,啟用cgroup內存限額功能,配置兩個參數:

GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

注意:要執行sudo update-grub 更新grub,然后重啟系統后生效。

SSH免密登錄:

ssh-keygen 全部回車

ssh-copy-id 用戶名@IP

用戶名為非root用戶,執行命令時不要加sudo,本機也要。

RKE部署用戶:

1、RKE部署用戶是cluster.yml配置文件中的用戶,也就是上述能ssh免密登錄到其他機器的用戶;

2、如果使用普通用戶進行RKE安裝,要將普通用戶(如user01)加入到docker組,命令:sudo usermod -aG docker user01  注意:重啟系統以后才能生效,只重啟Docker服務是不行的!重啟后,user01用戶也可以直接使用docker run命令。

4、在Ubuntu上使用apt安裝完docker后,會自動創建docker用戶組,無需手工創建docker組,只需要將部署RKE的用戶(如user01)加入到docker組即可,查看是否存在docker組、以及user01用戶是否在docker組中,可以直接查看/etc/group文件;

5、修改配置文件/etc/ssh/sshd_config,將PermitRootLogin prohibit-password 改為PermitRootLogin yes ,允許root遠程ssh登錄;

取消注釋#AuthorizedKeysFile   %h/.ssh/authorized_keys ,允許記錄授權秘鑰文件;

RKE下載

https://github.com/rancher/rke/releases

rke_linux-amd64這個版本

yml文件下載

我下載的是公用證書,自簽名類似,關鍵是下面幾步

 https://raw.githubusercontent.com/rancher/rancher/e9d29b3f3b9673421961c68adf0516807d1317eb/rke-templates/3-node-certificate-recognizedca.yml

下載之后,改名成自己喜歡的名稱

注意需要配置的地方:

節點配置

nodes:
  - address: 1.1.1.1
	user: root
	role: [controlplane,etcd,worker]
	ssh_key_path: ~/.ssh/id_rsa
  - address: 2.2.2.2
	user: root
	role: [controlplane,etcd,worker]
	ssh_key_path: ~/.ssh/id_rsa
  - address: 3.3.3.3
	user: root
	role: [controlplane,etcd,worker]
	ssh_key_path: ~/.ssh/id_rsa
address 為自己的IP
用戶名為可以免密登錄的用戶名。
以下為關鍵的證書配置
一般證書名為兩個:
fullchain.pem與privkey.pem
自簽名是三個,類似,具體位置見官方文檔

cat FILENAME | base64 -w0
這個文件名是剛才證書的文件名,使用證書的文件生成base64 字符串,輸入yml文檔中
apiVersion: v1
kind: Secret
metadata:
  name: cattle-keys-ingress
  namespace: cattle-system
type: Opaque
data:
  tls.crt: 
tls.key:
注意這里的格式,在輸入之前先備份,base64字條串為新起來行,頂行或crt:后面有空格

FQDN配置

 

需要修改兩處:
 
        

到些處,所有准備工作已經完成

./rke_linux-amd64 up --config rancher-cluster.yml 正式配置
不報錯就成功
全部成功后,使用配置的域名訪問,其它與單機安裝一樣。配置的域名就是FQDN。
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM