debian

Kubernetes部署过程中Debian网络设置

小樊
44
2025-04-10 05:51:16
栏目: 智能运维
Debian服务器限时活动,0元免费领! 查看>>

在Kubernetes部署过程中,Debian网络设置是一个关键步骤。以下是详细的步骤指南:

1. 设置主机名和更新hosts文件

首先,在每个节点上设置主机名,并在/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

2. 关闭所有节点的swap分区

为了确保Kubernetes顺利运行,建议禁用swap分区。

sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

3. 为Kubernetes集群添加防火墙规则

如果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

4. 安装containerd运行时

在所有节点上安装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

5. 配置网络

Debian使用netplan来配置网络设置。以下是配置步骤:

安装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

6. 使用kubeadm安装Kubernetes集群

在主节点上初始化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

7. 配置Pod网络

选择合适的网络插件(如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

8. 验证网络配置

验证集群是否正常运行:

kubectl get nodes
kubectl get pods -n kube-system

通过以上步骤,您可以在Debian上成功配置网络并部署Kubernetes集群。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:Linux系统部署过程中的网络配置如何优化

0
看了该问题的人还看了