首页主机资讯Linux上Kubernetes安装指南

Linux上Kubernetes安装指南

时间2025-12-16 19:28:04发布访客分类主机资讯浏览234
导读:Linux 上 Kubernetes 安装指南 一 环境准备与规划 节点规模:建议至少 3 台(1 个 Master + 2 个 Worker),每台至少 2GB 内存、2 核 CPU、20GB 存储,并保证节点间 网络互通。 操作系统:...

Linux 上 Kubernetes 安装指南

一 环境准备与规划

  • 节点规模:建议至少 3 台1 个 Master + 2 个 Worker),每台至少 2GB 内存、2 核 CPU、20GB 存储,并保证节点间 网络互通
  • 操作系统:CentOS 7.xUbuntu 16.04+
  • 容器运行时:安装 Docker(或 Containerd,本文以 Docker 为例)。
  • 网络规划:提前确定 Pod 网络 CIDRService CIDR,避免与现有网络冲突。
  • 安全基线:准备 Kubernetes 仓库 GPG 公钥,用于安装 kubeadm/kubelet/kubectl。
    以上为后续步骤的前置条件与通用规划。

二 使用 kubeadm 快速安装步骤

    1. 基础环境(所有节点)
    • 关闭 SELinux(示例):
      setenforce 0
      sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
    • 禁用 Swap:
      swapoff -a
      sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab
    • 开启内核转发与桥接相关参数:
      cat < < EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sysctl --system
    • 可选:按需配置防火墙放行 6443/10250/8472(UDP) 等端口,或临时关闭防火墙以便排障。
    1. 安装容器运行时(以 Docker 为例,所有节点)
    • CentOS:
      sudo yum install -y docker
      sudo systemctl start docker & & sudo systemctl enable docker
    • Ubuntu:
      sudo apt-get update & & sudo apt-get install -y docker.io
      sudo systemctl start docker & & sudo systemctl enable docker
    1. 安装 kubeadm/kubelet/kubectl(所有节点)
    • CentOS 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 APT(示例):
      sudo apt-get update & & sudo apt-get install -y apt-transport-https ca-certificates curl
      curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-keyring.gpg
      echo “deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] 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
    1. 初始化 Master 节点
    • 拉取所需镜像(可选,提前排查拉取问题):kubeadm config images list
    • 初始化(示例):
      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
    • 完成后按提示执行:
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
    1. 加入 Worker 节点
    • 使用 kubeadm init 输出的 kubeadm join 命令在各 Worker 上执行,例如:
      sudo kubeadm join < MASTER_IP> :6443 --token --discovery-token-ca-cert-hash sha256:
    1. 部署 Pod 网络插件
    • 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
    1. 验证
    • kubectl get nodes(所有节点状态应为 Ready
    • kubectl get pods -A(核心组件与网络插件运行正常)
      以上流程覆盖 kubeadm 的标准安装路径,包含镜像仓库加速与常见初始化参数示例。

三 快速替代方案

  • Ubuntu 单节点/开发环境可使用 MicroK8s(基于 snap):
    • 安装:sudo snap install microk8s --classic
    • 启用常用组件:microk8s enable dashboard dns registry
    • 状态与操作:microk8s status;microk8s kubectl get nodes
      适合快速上手与功能验证。

四 常见问题与排查

  • 节点 NotReady
    • 检查 kubelet容器运行时 是否运行:systemctl status kubelet / docker
    • 确认 Pod 网络 CIDR 与网络插件已正确部署且只部署了一个网络插件
    • 检查节点间 网络连通性 与必要的 防火墙/安全组 放行策略
  • 镜像拉取失败
    • 配置 Docker 镜像加速(如国内镜像源)
    • 使用 kubeadm config images list 确认所需镜像版本,必要时提前拉取或指定 image-repository(如 registry.aliyuncs.com/google_containers)
  • kubelet 启动异常
    • 查看日志:journalctl -xeu kubelet
    • 核对 cgroup 驱动 与系统参数(如 systemd/cgroups 配置)
      以上为最常见的三类问题及处理方向。

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


若转载请注明出处: Linux上Kubernetes安装指南
本文地址: https://pptw.com/jishu/773113.html
Kubernetes安装过程中常见问题 Linux环境下如何解决Laravel的跨域问题

游客 回复需填写必要信息