在CentOS上部署Kubernetes集群时,网络的配置是一个关键步骤。以下是一个基本的指南,帮助你配置网络。
在所有节点上关闭防火墙,并禁止其开机自启。
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux可以避免一些权限问题。
永久关闭:
sed -i 's/enforcing/disabled/' /etc/selinux/config
reboot
临时关闭:
setenforce 0
为了保证kubelet正常工作,必须禁用交换分区。
永久关闭:
sed -ri 's/.*swap.*/#&/' /etc/fstab
reboot
临时关闭:
swapoff -a
在每个节点上添加以下网络参数,以允许桥接的IPv4流量传递到iptables的链,并启用IP转发。
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
# 加载br_netfilter模块
modprobe br_netfilter
# 查看是否加载
lsmod | grep br_netfilter
# 生效sysctl
sysctl --system
设置每个节点的主机名,并在/etc/hosts
文件中添加主机名和IP地址的对应关系。
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
cat >> /etc/hosts << EOF
192.168.10.100 k8s-master
192.168.10.101 k8s-node1
192.168.10.102 k8s-node2
EOF
在所有节点上安装ntpdate并进行时间同步。
yum install ntpdate
ntpdate time.windows.com
安装containerd并配置相关文件。
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y containerd.io cri-tools
cat > /etc/containerd/config.toml << EOF
disabled_plugins = ["restart"]
[plugins.linux]
shim_debug = true
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://frz7i079.mirror.aliyuncs.com"]
plugins.cri.sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.2"
EOF
systemctl enable containerd && systemctl start containerd
cat > /etc/modules-load.d/containerd.conf << EOF
overlaybr_netfilter
EOF
在master节点上初始化集群。
kubeadm init
将node节点加入到集群中。
kubeadm join <master节点的IP和端口>
以上步骤涵盖了在CentOS上部署Kubernetes集群时的基本网络配置。请根据你的具体环境和需求进行相应的调整。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Node.js在CentOS上如何配置