在Kubernetes部署过程中,Debian网络设置是一个关键步骤。以下是详细的步骤指南:
首先,在每个节点上设置主机名,并在/etc/hosts
文件中添加相应的条目以确保节点之间的通信。
sudo hostnamectl set-hostname "k8s-master01"
sudo hostnamectl set-hostname "k8s-node01"
sudo hostnamectl set-hostname "k8s-node02"
echo "192.168.16.20 k8s-master01.test.local k8s-master01" >> /etc/hosts
echo "192.168.16.21 k8s-node01.test.local k8s-node01" >> /etc/hosts
echo "192.168.16.22 k8s-node02.test.local k8s-node02" >> /etc/hosts
为了确保Kubernetes顺利运行,建议禁用swap分区。
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
如果Debian系统启用了操作系统防火墙,需要在主控节点和工作节点上分别允许以下端口。
在主控节点上:
sudo ufw allow 6443/tcp
sudo ufw allow 2379/tcp
sudo ufw allow 2380/tcp
sudo ufw allow 10250/tcp
sudo ufw allow 10251/tcp
sudo ufw allow 10252/tcp
sudo ufw allow 10255/tcp
sudo ufw reload
在工作节点上:
sudo ufw allow 10250/tcp
sudo ufw allow 30000:32767/tcp
sudo ufw reload
在所有节点上安装containerd运行时,并设置必要的内核参数。
sudo apt update
sudo apt install -y containerd
cat <<eof | sudo tee /etc/modules-load.d/containerd.conf
overlaybr_netfilter
eof
sudo modprobe overlay
sudo modprobe br_netfilter
cat <<eof | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
eof
sudo sysctl --system
Debian使用netplan
来配置网络设置。以下是配置步骤:
如果系统中尚未安装netplan,可以通过以下命令安装:
sudo apt update
sudo apt install netplan.io
使用以下命令查看网络接口名称:
ip addr show
编辑netplan配置文件,通常位于/etc/netplan/
目录下,配置文件的扩展名是.yaml
。例如,编辑/etc/netplan/01-netcfg.yaml
文件:
network:
renderer: networkd
ethernets:
ens33:
dhcp4: false
addresses: [192.168.16.20/24]
gateway4: 192.168.16.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
将ens33
替换为实际的网络接口名称,并根据实际情况修改IP地址、子网掩码、网关和DNS服务器地址。
应用配置并重启网络服务:
sudo netplan apply
在主节点上初始化Kubernetes集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
在节点上加入集群:
sudo kubeadm join 192.168.16.20:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef12345678
选择合适的网络插件(如Calico)并配置。以下是使用Calico的示例:
wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml
kubectl apply -f calico.yaml
如果防火墙已启用,开放Calico所需的端口:
sudo ufw allow 179/tcp
sudo ufw allow 4789/udp
sudo ufw allow 51820/udp
sudo ufw allow 51821/udp
sudo ufw reload
验证集群是否正常运行:
kubectl get nodes
kubectl get pods -n kube-system
通过以上步骤,您可以在Debian上成功配置网络并部署Kubernetes集群。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>