首页主机资讯k8s在centos安装教程

k8s在centos安装教程

时间2026-01-21 07:17:04发布访客分类主机资讯浏览836
导读:在 CentOS 7 上安装 Kubernetes 集群教程 本教程基于 CentOS 7,使用 containerd 作为容器运行时,采用 kubeadm 快速搭建单控制平面集群,并部署 Flannel 作为 Pod 网络插件。 一 环境...

在 CentOS 7 上安装 Kubernetes 集群教程

本教程基于 CentOS 7,使用 containerd 作为容器运行时,采用 kubeadm 快速搭建单控制平面集群,并部署 Flannel 作为 Pod 网络插件。

一 环境准备

  • 准备至少 2 台 CentOS 7 主机(建议 2 CPU / 4GB 内存 以上),可互通;记录 Master IP
  • 基本设置(所有节点执行):
    • 关闭防火墙(生产环境建议以安全组替代):
      • systemctl stop firewalld & & systemctl disable firewalld
    • 调整 SELinux:
      • setenforce 0
      • sed -i ‘s/^SELINUX=enforcing$/SELINUX=permissive/’ /etc/selinux/config
    • 关闭交换分区:
      • swapoff -a
      • sed -i ‘/swap/d’ /etc/fstab
    • 内核网络参数(k8s 网络所需):
      • cat < /etc/sysctl.d/k8s.conf
        net.bridge.bridge-nf-call-ip6tables = 1
        net.bridge.bridge-nf-call-iptables = 1
        EOF
      • sysctl --system
    • 可选:设置主机名与 /etc/hosts 解析,便于管理。
    • 可选:时间同步(提高稳定性):
      • yum install -y ntpdate & & ntpdate ntp.aliyun.com

二 安装容器运行时 Containerd

  • 安装 containerd:
    • yum install -y yum-utils device-mapper-persistent-data lvm2
    • yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    • yum install -y containerd.io
  • 生成默认配置并启动:
    • mkdir -p /etc/containerd
    • containerd config default > /etc/containerd/config.toml
    • systemctl enable --now containerd & & systemctl status containerd

三 安装 Kubernetes 组件

  • 添加 Kubernetes YUM 源(国内镜像,提升拉取速度):
    • cat < /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
      enabled=1
      gpgcheck=0
      EOF
  • 安装 kubelet、kubeadm、kubectl:
    • yum install -y kubelet kubeadm kubectl
  • 启动 kubelet:
    • systemctl enable --now kubelet

四 初始化控制平面

  • 预拉取镜像(避免初始化卡住):
    • kubeadm config images pull --cri-socket unix:///run/containerd/containerd.sock
  • 初始化集群(指定 containerd socket 与 Pod 网段,Flannel 常用 10.244.0.0/16):
    • kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket unix:///run/containerd/containerd.sock
  • 配置 kubectl:
    • mkdir -p $HOME/.kube
    • cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    • chown $(id -u):$(id -g) $HOME/.kube/config

五 部署网络插件与加入工作节点

  • 部署 Flannel 网络插件:
    • kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    • 等待片刻,查看节点是否变为 Ready
      • kubectl get nodes
      • kubectl get pods -A
  • 获取加入命令并在工作节点执行:
    • 在 Master 上生成并打印加入命令:
      • kubeadm token create --print-join-command
    • 在 Worker 节点执行输出的 kubeadm join 命令(包含 TOKENCA 证书哈希)。

六 常见问题与建议

  • 镜像拉取慢或失败:优先使用国内镜像源,或提前执行 kubeadm config images pull;必要时在 containerd 配置镜像加速。
  • 节点 NotReady:确认已安装并成功运行 CNI 插件(如 Flannel),以及内核参数与防火墙策略正确。
  • 安全建议:生产环境不建议直接关闭防火墙,改用云厂商安全组或精细化放行 6443/10250/10251/10252 等端口。
  • SELinux:本教程设置为 permissive 以简化部署;如需开启,请为 kubelet/容器配置相应 SELinux 策略。
  • 版本选择:Kubernetes 版本与 kubeadm/kubelet/kubectl 需保持一致;如需指定版本,可在 yum install 时附加版本号。

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


若转载请注明出处: k8s在centos安装教程
本文地址: https://pptw.com/jishu/788267.html
centos上如何验证k8s安装 安装k8s需要centos啥版本

游客 回复需填写必要信息