温馨提示×

centos下k8s网络配置怎么做

小樊
61
2025-06-16 16:06:56
栏目: 智能运维

在CentOS下配置Kubernetes(k8s)网络涉及多个步骤,以下是详细的配置指南:

1. 环境准备

  • 硬件和网络要求:确保每台节点有足够的资源(如内存、CPU、硬盘空间)和网络连接。
  • 软件版本:建议使用CentOS 7或CentOS 8,并安装Docker、kubeadm和kubectl。

2. 基本网络配置

配置静态IP

  • 编辑网络接口配置文件,例如 /etc/sysconfig/network-scripts/ifcfg-ens33
  • 设置 BOOTPROTOstaticONBOOTyes
  • 添加静态IP地址、子网掩码、网关和DNS服务器信息。
DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.8.106
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
  • 保存并退出编辑器,然后重启网络服务以使配置生效:
systemctl restart network

配置主机名解析

  • 使用 hostnamectl 命令设置每台机器的主机名。
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
  • 编辑 /etc/hosts 文件,为每个节点配置主机名。
192.168.8.106 k8s-master
192.168.8.107 k8s-node1
192.168.8.108 k8s-node2

关闭防火墙和禁用SELinux

  • 关闭防火墙以简化网络配置,但请注意,这可能会降低系统的安全性。
systemctl stop firewalld
systemctl disable firewalld
  • 禁用SELinux。
setenforce 0
sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/selinux/config

时间同步

  • 在所有机器上进行时间同步,以免各节点时钟不一致导致出错。
systemctl start chronyd
systemctl enable chronyd

3. 安装Kubernetes

  • 按照Kubernetes官方文档进行安装,包括安装Docker、kubeadm和kubectl。

4. 配置CNI网络插件

  • Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • Cilium
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

5. 验证网络配置

  • 部署一个简单的Pod以测试网络连接。
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
  • 应用配置:
kubectl apply -f pod.yaml
  • 测试网络连接:
kubectl exec -it test-pod -- /bin/sh
ping 192.168.8.107

通过以上步骤,您可以在CentOS上成功配置Kubernetes集群的网络。根据具体需求选择合适的网络插件,并确保网络插件正确安装和配置,以实现集群内部和外部的通信畅通。

0