假设3台虚拟机ip是192.168.0.100/101/102

(在所有节点上执行)

1,cat /etc/redhat-release ,确保centos版本>=7.5
2,配置主机名解析,

cat>>/etc/hosts<<EOF
192.168.0.100 master
192.168.0.101 node1
192.168.0.102 node2
EOF

3,k8s要求集群内节点时间精确一致。参考CentOS7 时间与网络时间同步,运行如下命令

yum -y install ntp ntpdate && ntpdate 0.asia.pool.ntp.org && hwclock --systohc

4,关闭防火墙(不关闭防火墙的配置可参考K8s生产环境下启用防火墙开启防火墙如何部署k8s,本人没测试)

systemctl stop firewalld && systemctl disable firewalld && systemctl stop iptables && systemctl disable iptables 

5,禁用SELINUX,否则可能有奇怪的bug。
vim /etc/selinux/config,修改SELINUX=enforcing成SELINUX=disabled,之后重启生效.
使用getenforce命令查看是否开启了SELinux。

6,禁用swap分区。vim /etc/fstab,注释掉最后一行即可,之后重启生效

#/dev/mapper/centos-swap swap                    swap    defaults        0 0

7,

cat>>/etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_forward=1
EOF

之后运行sysctl -p 使其生效。

8,加载网桥过滤模块,并查看是否加载成功

modprobe br_netfilter && lsmod | grep br_netfilter

9,

1,安装ipset和ipvsadmin
yum install ipset ipvsadmin -y
这里安装时提示没有可用的安装包ipvsadmin,之后发现ipvsadm -Ln命令报错 未找到命令ipvsadm,yum install ipvsadm -y后就好了。不知道是不是教程这里写错了。

2,添加需要加载的模块写入脚本文件
cat <<EOF> /etc/sysconfig/modules/ipvs.modules
#!bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

3,为脚本文件添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules

4,执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules

5,查看模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4

10,重启,执行reboot

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐