1、系统配置要求
Rancher在以下操作系统及其后续的非主要发行版上受支持:
Ubuntu 16.04.x (64-bit)
Docker 18.06.x, 18.09.x
Ubuntu 18.04.x (64-bit)
Docker 18.06.x, 18.09.x
RancherOS 1.3.x+ (64-bit)
Docker 18.06.x, 18.09.x
Windows Server version 1803 (64-bit)
Docker 17.06
1、Ubuntu、Centos操作系统有Desktop和Server版本,选择请安装server版本,别自己坑自己!
2、如果您正在使用RancherOS,请确保切换到受支持的Docker版本:
sudo ros engine switch docker-18.09.2
2、主机名配置
因为K8S的规定,主机名只支持包含 -
和 .
(中横线和点)两种特殊符号,并且主机名不能出现重复。
3、Hosts
配置每台主机的hosts(/etc/hosts),添加host_ip $hostname
到/etc/hosts
文件中。
4、CentOS关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
5、关闭防火墙(可选)或者放行相应端口
对于刚刚接触Rancher的用户,建议在关闭防火墙的测试环境或桌面虚拟机来运行rancher,以避免出现网络通信问题。
关闭防火墙
1、CentOS
systemctl stop firewalld.service && systemctl disable firewalld.service
2、Ubuntu
ufw disable
6、配置主机时间、时区、系统语言
- 查看时区
date -R
或者timedatectl
- 修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 修改系统语言环境
sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile
- 配置主机NTP时间同步
7、Kernel性能调优
cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
数值根据实际环境自行配置,最后执行
sysctl -p
保存配置。
8、内核模块
警告如果要使用ceph存储相关功能,需保证worker节点加载
RBD模块
以下模块需要在主机上加载
模块名称 |
---|
br_netfilter |
ip6_udp_tunnel |
ip_set |
ip_set_hash_ip |
ip_set_hash_net |
iptable_filter |
iptable_nat |
iptable_mangle |
iptable_raw |
nf_conntrack_netlink |
nf_conntrack |
nf_conntrack_ipv4 |
nf_defrag_ipv4 |
nf_nat |
nf_nat_ipv4 |
nf_nat_masquerade_ipv4 |
nfnetlink |
udp_tunnel |
VETH |
VXLAN |
x_tables |
xt_addrtype |
xt_conntrack |
xt_comment |
xt_mark |
xt_multiport |
xt_nat |
xt_recent |
xt_set |
xt_statistic |
xt_tcpudp |
模块查询: lsmod | grep <模块名>
模块加载: modprobe <模块名>
9、ETCD集群容错表
建议在ETCD集群中使用奇数个成员,通过添加额外成员可以获得更高的失败容错。具体详情可以查阅optimal-cluster-size。
集群大小 | MAJORITY | 失败容错 |
---|---|---|
1 | 1 | 0 |
2 | 2 | 0 |
3 | 2 | 1 |
4 | 3 | 1 |
5 | 3 | 2 |
6 | 4 | 2 |
7 | 4 | 3 |
8 | 5 | 3 |
9 | 5 | 4 |