首页主机资讯Linux系统如何部署Kubernetes

Linux系统如何部署Kubernetes

时间2026-01-20 09:24:03发布访客分类主机资讯浏览446
导读:Linux 上部署 Kubernetes 实操指南 一 环境准备与规划 节点与规模:建议至少准备3台 Linux 服务器(1 个 Master + 2 个 Worker);每台至少2 核 CPU、2GB 内存、20GB 磁盘,并确保节点间...

Linux 上部署 Kubernetes 实操指南

一 环境准备与规划

  • 节点与规模:建议至少准备3台 Linux 服务器1 个 Master + 2 个 Worker);每台至少2 核 CPU、2GB 内存、20GB 磁盘,并确保节点间网络互通(公网或内网均可)。
  • 操作系统:推荐使用 CentOS 7.xUbuntu 16.04+
  • 容器运行时:安装 Docker/Containerd(下文以 Docker 为例)。
  • 网络规划:提前规划 Service CIDRPod CIDR,避免与现有网络冲突;例如:Service CIDR 10.96.0.0/12Pod CIDR 10.244.0.0/16
  • 基础安全与稳定性:建议时间同步(如 chrony/ntpd)、按需配置防火墙放行、并关闭 Swap(临时:swapoff -a;永久:注释 /etc/fstab 中的 swap 行)。

二 安装容器运行时与 kubeadm 组件

  • 安装 Docker(CentOS 示例):
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl enable --now docker
    # 可选:配置镜像加速
    sudo tee /etc/docker/daemon.json <
        <
    EOF
    {
    
      "registry-mirrors": ["https://mirrors.aliyuncs.com"]
    }
        
    EOF
    sudo systemctl daemon-reload &
        &
         sudo systemctl restart docker
    
  • 添加 Kubernetes YUM 源(CentOS 示例,使用国内镜像源提升拉取成功率):
    cat <
        <
        EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    
  • 安装 kubeadm、kubelet、kubectl 并设为开机自启:
    sudo yum install -y kubelet kubeadm kubectl
    sudo systemctl enable --now kubelet
    
  • Ubuntu 可改用 APT 源安装(示例):
    sudo apt-get update &
        &
         sudo apt-get install -y apt-transport-https curl
    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
    sudo systemctl enable --now kubelet
    

三 初始化控制平面与加入工作节点

  • 初始化 Master(示例,按需替换参数):
    sudo kubeadm init \
      --apiserver-advertise-address=<
        MASTER_IP>
         \
      --image-repository registry.aliyuncs.com/google_containers \
      --kubernetes-version=v1.23.0 \
      --service-cidr=10.96.0.0/12 \
      --pod-network-cidr=10.244.0.0/16
    
    初始化成功后,按提示保存输出的 kubeadm join 命令,用于后续加入节点。
  • 配置 kubectl(在 Master 上):
    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 上执行保存的 join 命令):
    sudo kubeadm join <
        MASTER_IP>
        :6443 \
      --token <
        TOKEN>
         \
      --discovery-token-ca-cert-hash sha256:<
        HASH>
        
    
  • 验证节点状态:
    kubectl get nodes
    
    当所有节点状态为 Ready 时,控制平面与节点已就绪。

四 部署网络插件与验证

  • 选择并部署 Pod 网络插件(集群中仅能启用一种 Pod 网络插件)。
    • Calico(推荐,生产常用):
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      
    • Flannel(轻量易用):
      kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
      
  • 验证网络与系统组件:
    kubectl get pods -n kube-system
    kubectl get nodes
    
    确保 corednskube-proxy 与网络插件 Pod 均为 Running,节点为 Ready

五 常见问题与加固建议

  • 节点 NotReady:检查 kubelet容器运行时 是否运行、节点间网络与端口是否可达、时间是否同步;必要时查看 journalctl -u kubelet 日志定位。
  • 镜像拉取失败:配置 镜像加速 或自建镜像仓库;如使用国内源初始化可显著降低拉取失败率。
  • 无法连接 API Server:确认 6443 端口开放、token 未过期、以及 apiserver-advertise-address 配置正确。
  • 安全加固:生产环境不建议直接关闭防火墙,应按需放行必要端口(如 6443、10250、10251、10252、8472/udp 等);SELinux 可按需设为 permissive 而非永久禁用;严格管理 token 生命周期并及时轮换。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux系统如何部署Kubernetes
本文地址: https://pptw.com/jishu/786954.html
如何在Linux机器上搭建Kubernetes 如何在Linux服务器上安装Kubernetes

游客 回复需填写必要信息