linux

K8S在Linux上如何配置

小樊
85
2025-02-17 09:34:15
栏目: 智能运维

在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 "x.x.x.108 k8s-master-108 y.y.y.107 k8s-node-107 z.z.z.105 k8s-node-105" >> /etc/hosts
    
  4. 修改主机名
    hostnamectl set-hostname k8s-master-108
    hostnamectl set-hostname k8s-node-107
    hostnamectl set-hostname k8s-node-105
    
  5. 设置网桥参数
    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
    

安装Docker

  1. 卸载旧版本Docker
    yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. 安装gcc依赖
    yum -y install gcc gcc-c++
    
  3. 设置Docker仓库
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  4. 安装Docker Engine-Community
    yum list docker-ce --showduplicates | sort -r
    yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io
    
  5. 启动Docker
    systemctl enable docker
    systemctl start docker
    systemctl restart docker
    
  6. 验证Docker安装
    docker version
    docker run hello-world
    

部署Kubernetes集群

  1. 初始化Master节点
    kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --apiserver-advertise-address x.x.x.108 --token-ttl 0
    
  2. 配置kubectl
    mkdir -p $HOME/.kube
    cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    chown $(id -u):$(id -g) $HOME/.kube/config
    
  3. 加入Worker节点: 在Worker节点上运行Master节点初始化时生成的kubeadm join命令。

验证集群状态

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

kubectl get nodes

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

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

0
看了该问题的人还看了