温馨提示×

centos上k8s网络如何配置

小樊
56
2025-04-23 01:32:45
栏目: 智能运维

在CentOS上配置Kubernetes(k8s)网络通常涉及以下几个步骤:

  1. 环境准备
  • 关闭防火墙:
systemctl stop firewalld systemctl disable firewalld 
  • 关闭SELinux:
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
  • 关闭交换分区:
swapoff -a sed -i '/swap/ s/^/#/' /etc/fstab 
  • 配置静态IP:编辑网络配置文件,例如 /etc/sysconfig/network-scripts/ifcfg-eth0,设置 BOOTPROTOstatic,并添加以下行:
IPADDR 192.168.1.100 NETMASK 255.255.255.0 GATEWAY 192.168.1.1 DNS1 8.8.8.8 

然后重启网络服务:

systemctl restart network 
  • 配置主机名:使用 hostnamectl 命令设置主机名,例如:
hostnamectl set-hostname k8s-master 
  • 配置 /etc/hosts 文件:在每个节点上编辑 /etc/hosts 文件,添加集群中所有节点的IP地址和主机名:
192.168.1.100 k8s-master 192.168.1.101 k8s-node1 192.168.1.102 k8s-node2 
  • 时间同步:安装并配置NTP服务以同步时间。
yum install ntpdate ntpdate time.windows.com 
  1. 安装Docker
  • 添加Docker的Yum源:
cat > /etc/yum.repos.d/docker.repo <<EOF [docker-ce] name=Docker CE base baseurl=https://download.docker.com/linux/centos/7/x86_64/stable/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://download.docker.com/linux/centos/gpg EOF 
  • 安装Docker CE:
yum install -y docker-ce docker-ce-cli containerd.io 
  • 启动Docker并设置开机启动:
systemctl start docker && systemctl enable docker 
  1. 安装kubeadm、kubelet和kubectl
  • 添加镜像源:
cat > /etc/yum.repos.d/kubernetes.repo <<EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.ustc.edu.cn/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.ustc.edu.cn/kubernetes/yum/doc/yum-key.gpg https://mirrors.ustc.edu.cn/kubernetes/yum/doc/rpm-package-key.gpg EOF 
  • 安装:
yum install -y kubelet kubeadm kubectl 
  • 设置开机启动:
systemctl enable kubelet && systemctl start kubelet 
  1. 部署Kubernetes集群
  • 初始化Master节点:
kubeadm init --apiserver-advertise-address 192.168.1.100 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.15 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16 
  • 配置kubectl:将Master节点的配置文件复制到本地,并配置 kubectl
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 
  • 加入Worker节点:在Master节点上获取Join命令,并在每个Worker节点上运行。
  1. 安装网络插件(以Calico为例):
  • 下载Calico配置文件:
wget https://docs.projectcalico.org/manifests/calico.yaml 
  • 应用Calico配置:
kubectl apply -f calico.yaml 
  1. 验证网络配置
  • 检查网络连接:
ping 8.8.8.8 ping 114.114.114.114 
  • 检查集群状态:
kubectl get nodes kubectl get pods -n kube-system 

0