在Debian上配置Kubernetes(K8s)网络通常涉及以下几个步骤:
设置主机名和更新hosts文件:
/etc/hosts 文件中添加节点IP和主机名的映射。sudo hostnamectl set-hostname "k8s-master01" echo "192.168.16.20 k8s-master01.test.local k8s-master01" | sudo tee -a /etc/hosts echo "192.168.16.21 k8s-worker01.test.local k8s-worker01" | sudo tee -a /etc/hosts echo "192.168.16.22 k8s-worker02.test.local k8s-worker02" | sudo tee -a /etc/hosts 关闭所有节点的swap分区:
sudo swapoff -a sudo sed -i '/ swap / s/1/g' /etc/fstab 配置网络接口:
/etc/network/interfaces 文件来配置静态IP地址或其他网络方式(DHCP或PPPoE)。auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 如果使用DHCP自动获取IP地址:auto eth0 iface eth0 inet dhcp 配置DNS:
/etc/resolv.conf 文件,添加DNS服务器地址:echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf 初始化Kubernetes集群:
kubeadm init 命令来初始化控制平面。需要指定API服务器地址、Pod网络CIDR、服务CIDR等参数。sudo kubeadm init --apiserver-advertise-address=192.168.1.100 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.0.0.0/16 安装网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 对于Calico,可以参考其官方文档进行安装:wget https://docs.projectcalico.org/manifests/calico.yaml kubectl apply -f calico.yaml 配置kubectl:
kubectl 以连接到Kubernetes集群:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 验证网络配置:
kubectl get nodes kubectl get pods --all-namespaces 防火墙配置:
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 通过以上步骤,你可以在Debian上成功配置Kubernetes的网络环境。根据具体需求,可能还需要进行额外的配置,例如设置防火墙规则、配置Docker源等。