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
删除旧内核(可选)
# 查看系统全部内核包
rpm -qa | grep kernel
# 用命令删除旧内核(注意:别把新升级的内核删除了,删除时需认真确认删除目标)
yum remove kernel-3.10.0-957.el7.x86_64
四、安装docker
-
确认docker与rancher版本(参考,可跳过)
https://docs.rancher.cn/docs/rancher2/installation/requirements/installing-docker/_index
-
通过脚本一键安装(推荐)
curl https://releases.rancher.com/install-docker/19.03.sh | sh
-
使用yum安装docker(同脚本安装方式二选一)
# 定义安装版本 export docker_version=19.03.13 # 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
端口放行
端口放行请查看 端口需求 或 通过 firewalld 放行端口
开放端口命令:
# 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=4001/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=9796/tcp --permanent &&
firewall-cmd --zone=public --add-port=10249-10256/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 --privileged 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
同步节点时间
# 如果需要查看调试信息,可以添加参数-d
# 以内网某台服务器作为同步目标,那么目标服务器同样需要执行上面的步骤,安装ntpdate
ntpdate 192.168.0.*
# ntpdate ntp1.aliyun.com
时间写入硬件
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://docs.rancher.cn/docs/rancher2/cluster-admin/cleaning-cluster-nodes/_index/