linux

Linux下K8S集群如何搭建

小樊
54
2025-08-03 09:25:01
栏目: 智能运维

在Linux下搭建Kubernetes(K8S)集群是一个相对复杂的过程,需要按照一定的步骤进行。以下是一个基本的配置流程:

准备工作

  1. 服务器要求:至少需要3台以上装有CentOS 7.7或更高版本的64位系统的服务器。每台服务器的硬件配置应至少为2GB内存,2核CPU,30GB硬盘空间。
  2. 网络要求:集群中所有服务器之间网络互通,并且可以访问外网以拉取镜像。
  3. 其他要求:禁止swap分区。

配置环境

  1. 关闭防火墙和SELinux
    systemctl stop firewalld
    systemctl disable firewalld
    sed -i 's/enforcing/disabled/' /etc/selinux/config
    setenforce 0
    
  2. 关闭swap分区
    swapoff -a
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    
  3. 添加主机名与IP对应关系
    echo "192.168.1.100 k8s-master" | sudo tee -a /etc/hosts
    echo "192.168.1.101 k8s-worker1" | sudo tee -a /etc/hosts
    echo "192.168.1.102 k8s-worker2" | sudo tee -a /etc/hosts
    
  4. 修改主机名
    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-worker1
    hostnamectl set-hostname k8s-worker2
    
  5. 配置内核参数
    cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    EOF
    sudo sysctl --system
    
  6. 时间同步
    sudo yum install ntpdate
    sudo ntpdate time.windows.com
    
  7. 安装Docker
    sudo yum install -y docker
    sudo systemctl start docker
    sudo systemctl enable docker
    
  8. 安装Kubernetes组件
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl
    

初始化Master节点

在Master节点上执行以下命令初始化Kubernetes集群:

sudo kubeadm init --apiserver-advertise-address=192.168.1.100 --pod-network-cidr=10.244.0.0/16

配置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节点

在Worker节点上执行以下命令加入集群:

sudo kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash <hash>

部署网络插件

部署网络插件以实现Pod间通信,例如使用Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

验证集群状态

在Master节点上运行以下命令验证集群状态:

kubectl get nodes
kubectl get pods --all-namespaces

如果节点显示为Ready,则表示集群已成功部署并运行。

以上步骤提供了一个基本的Kubernetes集群配置流程。请注意,这只是一个简化的示例,实际部署过程中可能需要更多的配置和步骤,特别是在网络配置、安全性设置、存储解决方案等方面。建议参考Kubernetes官方文档以获取更详细和准确的指导。

0
看了该问题的人还看了