CentOS7.7-mini版安裝rancher2.x並初始化
一、初始化網絡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
動態獲取IP4
ONBOOT=yes
BOOTPROTO=dhcp
靜態設置IP4
ONBOOT=yes
BOOTPROTO=static #啓用靜態IP地址
IPADDR0=192.168.0.6 #設置IP地址
GATEWAY0=192.168.0.1 #設置網關
DNS1=192.168.0.1 #設置主DNS
輸入命令: service network restart 重啓網絡
ping www.baidu.com 上網成功
二、配置阿里雲yum
- 備份yum資源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下載新的CentOS-Base.repo 到/etc/yum.repos
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 運行yum makecache生成緩存
yum makecache
三、升級內核(可選)
注意:安裝後reboot手動進入新內核,然後設置 GRUB 默認的內核版本(否則可能出現內核簽名問題,導致無法啓動,本人花費很長時間都未解決)
錯誤狀態信息如下:
1. vmlinuz 4.16.12 has invlid signature
2. need to load the kernel first
四、安裝docker
-
確認docker與rancher版本(參考)
https://rancher.com/docs/rancher/v2.x/en/installation/requirements/ -
安裝docker
# 定義安裝版本 export docker_version=18.09.9 # step 1: 安裝必要的一些系統工具 sudo yum remove docker docker-client docker-client-latest \ docker-common docker-latest docker-latest-logrotate \ docker-logrotate docker-engine -y; sudo yum update -y; sudo yum install -y yum-utils device-mapper-persistent-data \ lvm2 bash-completion; # Step 2: 添加軟件源信息 sudo yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo; # Step 3: 更新並安裝 Docker-CE sudo yum makecache all; yum list docker-ce --showduplicates | sort -r; sudo yum install -y docker-ce-${docker_version} docker-ce-cli-${docker_version} containerd.io; # Step 4: 如果已經安裝高版本Docker,可進行降級安裝(可選) yum downgrade --setopt=obsoletes=0 -y docker-ce-${docker_version} docker-ce-selinux-${docker_version};
docker卸載與安裝參考地址:https://docs.docker.com/install/linux/docker-ce/centos/
(docker必須是受支持的版本,rancher2.x基於Kubernetes,而Kubernetes對docker版本有嚴格的限制)# 定義用戶名 NEW_USER=rancher # 添加用戶(可選) sudo adduser $NEW_USER # 爲新用戶設置密碼 sudo passwd $NEW_USER # 爲新用戶添加sudo權限 sudo echo "$NEW_USER ALL=(ALL) ALL" >> /etc/sudoers # 把當前用戶加入docker組 sudo usermod -aG docker $NEW_USER;
-
配置docker鏡像加速器
修改daemon配置文件/etc/docker/daemon.json來使用加速器:
阿里雲提供專屬加速器地址(免費使用)
https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors -
啓動服務並設置開機自啓
sudo systemctl enable docker
sudo systemctl start docker
-
測試一下
docker info
五、設置Kubernetes節點主機名
Kubernetes節點主機名不能重複,所以我們需要修改
1. 查看主機名
hostname
2. 修改主機名
因爲K8S的規定,主機名只支持包含 -
和 .
(中橫線和點)兩種特殊符號,並且主機名不能出現重複。
hostnamectl set-hostname 主機名
3. 查看主機名
hostname
hostnamectl
4. 重啓
reboot
5. 再次查看
六、關閉防火牆(可選)或者放行相應端口
對於剛剛接觸Rancher的用戶,建議在關閉防火牆的測試環境或桌面虛擬機來運行rancher,以避免出現網絡通信問題。
關閉防火牆
systemctl stop firewalld.service && systemctl disable firewalld.service
端口放行
端口放行請查看端口需求
開放端口命令:
# rancher-server
firewall-cmd --zone=public --add-port=22/tcp --permanent &&
firewall-cmd --zone=public --add-port=80/tcp --permanent &&
firewall-cmd --zone=public --add-port=443/tcp --permanent &&
firewall-cmd --zone=public --add-port=2376/tcp --permanent
# rancher-node
firewall-cmd --zone=public --add-port=22/tcp --permanent &&
firewall-cmd --zone=public --add-port=80/tcp --permanent &&
firewall-cmd --zone=public --add-port=443/tcp --permanent &&
firewall-cmd --zone=public --add-port=2376/tcp --permanent &&
firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent &&
firewall-cmd --zone=public --add-port=4789/udp --permanent &&
firewall-cmd --zone=public --add-port=6443/tcp --permanent &&
firewall-cmd --zone=public --add-port=6783/tcp --permanent &&
firewall-cmd --zone=public --add-port=6783/udp --permanent &&
firewall-cmd --zone=public --add-port=6784/udp --permanent &&
firewall-cmd --zone=public --add-port=8472/udp --permanent &&
firewall-cmd --zone=public --add-port=9099/tcp --permanent &&
firewall-cmd --zone=public --add-port=10250/tcp --permanent &&
firewall-cmd --zone=public --add-port=10254/tcp --permanent &&
firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent &&
firewall-cmd --zone=public --add-port=30000-32767/udp --permanent
刷新規則
firewall-cmd --reload
查看已開放得所有端口 點擊查看Centos7更多開放端口命令
firewall-cmd --list-ports
七、安裝rancher
執行以下命令:
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
八、登錄Rancher
打開瀏覽器,輸入https://<server_ip>
,server_ip
替換爲運行Rancher容器主機的ip;
九、常見問題與參考資料
- 添加Kubernetes節點時,主機名不能重複
- [etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
- 時間同步
時間同步
安裝ntpdate工具
yum -y install ntp ntpdate
所有節點設置ntp服務開啓啓動
sudo systemctl start ntpd #啓動ntp服務
sudo systemctl enable ntpd #設置ntp服務開機啓動
所有節點啓動時間同步
timedatectl set-ntp yes
同步節點時間
ntpdate 192.168.0.* #如果需要查看調試信息,可以添加參數-d
時間寫入硬件
hwclock --systohc
hwclock -w
參考資料:
Rancher 2.x部署過程中常見問題分析與解決:https://mp.weixin.qq.com/s/F6s6W3W9uYoFvfjBlRIt9g
Rancher 2.x中文官方文檔:https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide/
Rancher 2.x創建集羣:https://rancher.com/docs/rancher/v2.x/en/quick-start-guide/deployment/quickstart-manual-setup/#4-create-the-cluster
Rancher 2.x節點清理:https://www.cnrancher.com/docs/rancher/v2.x/cn/install-prepare/remove-node/