首页主机资讯如何在Linux机器上搭建Kubernetes

如何在Linux机器上搭建Kubernetes

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

在 Linux 上搭建 Kubernetes 的实操指南

一 环境准备与规划

  • 节点与资源:建议至少准备3台服务器(1个 Master + 2个 Worker),每台至少2核CPU、2GB内存、20GB磁盘;所有节点之间网络互通,可访问外网以下载镜像。操作系统可选CentOS 7.xUbuntu 16.04+。容器运行时可使用Dockercontainerd
  • 规划网络:为集群规划网段,常见为Service CIDR:10.96.0.0/12Pod CIDR:10.244.0.0/16(与所选网络插件保持一致)。
  • 主机名与解析:为每台机器设置唯一主机名,并在**/etc/hosts**或 DNS 中完成解析,便于组件通信。
  • 时间同步:安装并启用NTP/chrony,避免证书校验与组件通信异常。
  • 安全基线:建议启用防火墙并仅放行必要端口(如6443、10250、10251、10252、2379/2380、8472/4789等,取决于组件与网络插件),不建议直接关闭防火墙。

二 安装容器运行时与依赖

  • 安装 Docker(示例为 CentOS 7)
    • 安装与启动:
      • 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 mkdir -p /etc/docker
      • echo ‘{ “registry-mirrors”: [“https://mirrors.aliyuncs.com”]} ’ | sudo tee /etc/docker/daemon.json
      • sudo systemctl daemon-reload & & sudo systemctl restart docker
  • 安装 kubeadm、kubelet、kubectl(CentOS 7 示例)
    • 添加仓库(可用官方或国内镜像源):
      • 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 说明:使用APT源安装对应版本的 kubelet/kubeadm/kubectl,并启用 kubelet 服务。

三 使用 kubeadm 初始化集群

  • 关闭 Swap(必须):
    • 临时:sudo swapoff -a
    • 永久:注释 /etc/fstab 中的 swap 行并重启
  • 初始化 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
  • 配置 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
  • 记录节点加入命令:初始化成功后,终端会输出形如
    • kubeadm join < MASTER_IP> :6443 --token --discovery-token-ca-cert-hash sha256: 请妥善保存,用于后续将 Worker 加入集群。

四 安装网络插件与加入节点

  • 安装 Pod 网络插件(二选一,保持与 Pod CIDR 一致)
    • Flannel:
      • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    • Calico:
      • kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • 加入 Worker 节点
    • 在每台 Worker 上执行上一步保存的 kubeadm join 命令
  • 验证集群状态
    • kubectl get nodes
    • kubectl cluster-info 当所有节点状态为Ready时,集群可用。

五 常见问题与优化

  • 节点 NotReady
    • 检查 kubelet 与容器运行时状态(systemctl status kubelet/docker),查看 kubelet 日志(journalctl -xeu kubelet)
    • 核对网络插件是否安装成功、Pod CIDR 是否匹配
  • 镜像拉取失败
    • 配置镜像加速或自建镜像仓库;必要时使用 kubeadm 的 –image-repository 指定可用仓库
  • Token 过期或丢失
    • 在 Master 上重新生成:kubeadm token create --print-join-command
  • 云上或公网环境
    • 开放必要端口,确保 6443/10250 等端口对节点可达;如使用云负载均衡,正确配置 apiserver 对外地址与健康检查
  • 安全建议
    • 不建议直接关闭防火墙;遵循最小暴露面原则,仅放行所需端口与协议

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


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

游客 回复需填写必要信息