首页主机资讯如何在Linux服务器上安装Kubernetes

如何在Linux服务器上安装Kubernetes

时间2026-01-20 09:25:03发布访客分类主机资讯浏览370
导读:在 Linux 服务器上安装 Kubernetes 的标准流程 一 环境准备与规划 节点与资源:建议至少准备3台服务器(1个 Master + 2个 Worker),每台至少2核 CPU、2GB 内存、20GB 磁盘;所有节点之间网络互通...

在 Linux 服务器上安装 Kubernetes 的标准流程

一 环境准备与规划

  • 节点与资源:建议至少准备3台服务器(1个 Master + 2个 Worker),每台至少2核 CPU、2GB 内存、20GB 磁盘;所有节点之间网络互通,可访问外网以下载镜像。
  • 系统与网络:操作系统建议CentOS 7+Ubuntu 18.04+;规划好Pod 网络 CIDRService CIDR,并确保节点主机名、MAC 地址、product_uuid唯一。
  • 端口与防火墙:放行控制面与节点通信端口,例如6443、2379–2380、10250、10251、10252、10255(按所用网络插件与云安全组策略调整)。
  • 容器运行时:Kubernetes 通过 CRI 对接运行时;常见为 containerdDocker(需 cri-dockerd)
  • 基础要求:禁用Swap,完成时间同步,并按需配置内核网络参数与网桥转发。

二 安装容器运行时与系统设置

  • 安装容器运行时(二选一)
    • containerd(推荐)
      • 安装与启动:参考发行版文档安装 containerd,启用并启动服务(systemd)。
      • 验证端点:确保存在 /var/run/containerd/containerd.sock
    • Docker(使用 cri-dockerd)
      • 安装 Docker,部署并启用 cri-dockerd,确保其监听 unix:///var/run/cri-dockerd.sock
  • 内核与系统参数(所有节点)
    • 关闭 Swap:执行 swapoff -a,并在 /etc/fstab 注释 swap 行。
    • 网桥与转发:启用桥接流量进入 iptables(按需设置 net.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1),开启 ipv4 转发。
  • 防火墙与安全策略(示例为 firewalld)
    • 放行端口:firewall-cmd --permanent --add-port=6443/tcp2379-2380/tcp10250/tcp10251/tcp10252/tcp10255/tcp;随后 firewall-cmd --reload
  • 时间同步
    • 使用 NTP/chrony 保证节点时间一致,避免证书与组件异常。

三 安装 kubeadm、kubelet、kubectl

  • 配置软件源
    • Ubuntu/Debian:导入 GPG 并添加 Kubernetes APT 源,更新索引后安装工具包。
    • CentOS/RHEL:添加 Kubernetes YUM 源后安装工具包。
  • 安装与版本策略
    • 安装 kubeadm、kubelet、kubectl,建议锁定版本避免误升级;kubelet 版本不应高于 API Server,允许小版本差异
  • 启动与开机自启
    • 启动并启用 kubelet(此时会不断重启,等待 kubeadm 初始化指令)。
  • cgroup 驱动一致性
    • 确保容器运行时与 kubelet 使用相同的 cgroup driver(如 systemd),否则 kubelet 可能启动失败。

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

  • 初始化 Master(示例)
    • 命令:kubeadm init --apiserver-advertise-address=< MASTER_IP> --pod-network-cidr=< POD_CIDR> --service-cidr=< SERVICE_CIDR> --image-repository=< REGISTRY>
    • 国内镜像加速:可指定 --image-repository=registry.aliyuncs.com/google_containers
    • 常见 Pod CIDR:10.244.0.0/16(Flannel)192.168.0.0/16(Calico)
  • 配置 kubectl
    • 非 root 用户执行:mkdir -p $HOME/.kube & & sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config & & sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 安装 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
  • 加入 Worker 节点
    • 使用 kubeadm init 输出中的 kubeadm join ... --token < TOKEN> --discovery-token-ca-cert-hash sha256:< HASH> 命令在各 Worker 上执行。
  • 验证
    • kubectl get nodes 应显示所有节点状态为 Ready

五 常见问题与快速排查

  • 节点 NotReady
    • 检查 kubelet 与容器运行时状态;确认 Pod 网络插件已成功部署;核对节点间网络连通性Pod CIDR 是否冲突。
  • 镜像拉取失败
    • 配置合适的 镜像仓库/镜像加速;在受限网络环境预先导入所需镜像。
  • 端口或防火墙阻断
    • 核对并放行 6443、2379–2380、10250 等关键端口;云上需同步配置安全组规则。
  • kubeadm 初始化异常或中断
    • 先执行 kubeadm reset 清理状态后重试;检查 cgroup 驱动一致性与内核参数。
  • 时间漂移
    • 确认 NTP/chrony 正常工作,避免因时间偏差导致证书校验失败。

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


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

游客 回复需填写必要信息