首页主机资讯怎样在Linux系统里安装Kubernetes

怎样在Linux系统里安装Kubernetes

时间2026-01-20 09:21:03发布访客分类主机资讯浏览748
导读:在 Linux 上安装 Kubernetes 的标准流程 一 环境准备 节点规划:至少准备1 台 Master与1 台 Worker;推荐配置为每台2 核 CPU、4GB 内存、20GB+ 磁盘,并确保节点间网络互通、可访问外网(用于拉取...

在 Linux 上安装 Kubernetes 的标准流程

一 环境准备

  • 节点规划:至少准备1 台 Master1 台 Worker;推荐配置为每台2 核 CPU、4GB 内存、20GB+ 磁盘,并确保节点间网络互通、可访问外网(用于拉取镜像)。如使用云服务器,需放通相关端口。
  • 系统设置:
    • 关闭 Swap:swapoff -a,并在 /etc/fstab 中注释 swap 行(Kubelet 要求)。
    • SELinux:建议设为 permissive/disabled(如修改 /etc/selinux/config 的 SELINUX= 项)。
    • 防火墙/安全组:放通 6443、2379-2380、10250、10251、10252、10255/tcp 等端口,或按云厂商指引开放。
    • 时间同步:启用 chrony/ntp,避免证书校验与时间敏感问题。
    • 主机名与 hosts:为各节点设置唯一 hostname,必要时在 /etc/hosts 做解析。

二 安装容器运行时与 kubeadm kubelet kubectl

  • 容器运行时:以 Docker CE 为例(也可使用 containerd,本文以 Docker 演示)。
    • CentOS/RHEL:
      • 安装依赖与仓库,执行:
        sudo yum install -y yum-utils
        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 start docker & & sudo systemctl enable docker
    • Ubuntu/Debian:
      • 更新索引并安装:
        sudo apt-get update & & sudo apt-get install -y docker.io
  • 安装 Kubernetes 组件(所有节点):
    • CentOS/RHEL(YUM 源示例,可按需替换为国内镜像源):
      cat < < EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=1
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOF
      sudo yum install -y kubelet kubeadm kubectl
      sudo systemctl enable --now kubelet
    • Ubuntu/Debian(APT 源示例):
      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
  • 说明:kubeadm 用于初始化与加入集群,kubelet 运行在每个节点,kubectl 用于与 API Server 交互。

三 初始化控制平面 Master

  • 初始化命令(示例,按需调整参数):
    • 使用国内镜像仓库加速与控制面网段:
      sudo kubeadm init \ –image-repository registry.aliyuncs.com/google_containers \ –kubernetes-version v1.23.0 \ –apiserver-advertise-address < Master_IP> \ –service-cidr 10.96.0.0/12 \ –pod-network-cidr 10.244.0.0/16
    • 如使用 Calico,常用 /16 的 Pod CIDR;如使用 Flannel,常用 10.244.0.0/16
  • 初始化完成后,按提示执行:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 记录输出的 kubeadm join 命令,用于后续将 Worker 加入集群。

四 部署网络插件

  • 集群必须安装一种 Pod 网络插件,使 Pod 之间、Pod 与 Service 之间可通信。常见选择:Calico、Flannel
  • Calico 为例(推荐与上面的 10.244.0.0/16192.168.0.0/16 匹配):
    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 # 等待节点状态变为 Ready

五 加入 Worker 节点与验证

  • 在每台 Worker 上执行 Master 输出的 kubeadm join 命令,例如:
    sudo kubeadm join < Master_IP> :6443 \ –token \ –discovery-token-ca-cert-hash sha256:
  • 在 Master 上查看节点:
    kubectl get nodes
  • 常见问题速查:
    • 节点 NotReady:检查 kubelet 是否运行、容器运行时是否可用、网络插件是否部署成功。
    • 镜像拉取失败:配置 Docker 镜像加速 或使用国内镜像仓库;必要时在节点上手动拉取所需镜像。
    • 时间不同步:启用 chrony/ntp 同步时间。

附 常用维护命令

  • 重置节点(清理环境,重新加入前执行):
    sudo kubeadm reset
  • 清理并重装思路:reset → 重启 kubelet → 重新 kubeadm init/join

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


若转载请注明出处: 怎样在Linux系统里安装Kubernetes
本文地址: https://pptw.com/jishu/786951.html
Debian系统Node.js日志存储方案 Linux下如何成功安装Kubernetes

游客 回复需填写必要信息