零基础入门kubeadm-ha:从环境准备到集群初始化的7个关键步骤
2026/8/7 22:20:15 网站建设 项目流程

零基础入门kubeadm-ha:从环境准备到集群初始化的7个关键步骤

【免费下载链接】kubeadm-hakubeadm-ha 使用 kubeadm 进行高可用 kubernetes 集群搭建,利用 ansible-playbook 实现自动化安装,既提供一键安装脚本,也可以根据 playbook 分步执行安装各个组件。项目地址: https://gitcode.com/gh_mirrors/ku/kubeadm-ha

kubeadm-ha是一个使用kubeadm进行高可用Kubernetes集群搭建的工具,通过ansible-playbook实现自动化安装,既提供一键安装脚本,也可以根据playbook分步执行安装各个组件,非常适合新手和普通用户快速部署Kubernetes集群。

一、了解kubeadm-ha的核心优势

kubeadm-ha具有不受国内网络限制、所有组件使用kubelet托管、多master高可用、tls双向认证、自定义tls证书有效期、RBAC授权、支持Network Policy等特性。它支持多种操作系统,包括RedHat、Rocky Linux、CentOS、Debian、Ubuntu等,满足不同用户的环境需求。

二、硬件与软件环境准备

2.1 硬件系统要求

  • Master节点:2c2g+
  • Worker节点:2c4g+

2.2 软件系统要求

  • 运行以下之一的一台或多台机器:RHEL 7、CentOS 7.4+、CentOS 8、Debian 9、Ubuntu 16.04+等
  • 各节点时区时间一致
  • 每个节点 mac 地址和 product_uuid 在集群内都是唯一的
  • 建议升级内核到4.17+
  • OpenEuler 操作系统需手动关闭 SELINUX 并重启系统后进行操作,命令如下:
    sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

三、端口占用情况确认

搭建集群时脚本会关闭节点上防火墙,集群搭建完毕后会使用到特定的端口,以下是主要端口信息:

3.1 控制平面节点端口

协议方向端口范围使用者用途
TCP入站6443Kubernetes APIserverAll
TCP入站2379-2380etcd server clientAPIkube-apiserver,etcd
TCP入站10248,10250Kubelet APISelf,Controlplane
TCP入站10251,10259kube-schedulerSelf
TCP入站10252,10257kube-controller-managerSelf

3.2 工作节点端口

协议方向端口范围使用者用途
tcp入站80ingress-controllerAll
tcp入站443ingress-controllerAll
tcp入站10248,10250KubeletAPISelf,Controlplane
TCP入站30000-32767NodePort ServicesAll

四、选择合适的Kube-apiserver负载模式

4.1 本地负载均衡

该模式在节点本地部署负载均衡器,节点本地所有需要链接apiserver的组件均通过本地负载均衡器进行访问。

  • 优点:兼容所有云;无额外的网络消耗;不会因lb宕机导致整个集群崩溃。
  • 缺点:集群外链接apiserver无法做到高可用;节点本地负载均衡器宕机则该节点无法正常工作。

4.2 VIP负载均衡

在集群外搭建主备负载,虚拟IP(VIP)飘在这些节点上,常见组合为HAproxy + keepalived。

  • 优点:集群内外链接apiserver均为高可用。
  • 缺点:公有云无法使用;有额外网络消耗;网络I/O集中于VIP节点。

五、获取项目代码

通过以下命令克隆仓库:

git clone https://gitcode.com/gh_mirrors/ku/kubeadm-ha

六、熟悉项目ansible play-book

项目中的play-book有不同的编号前缀,代表不同的功能:

  • 编号0X,1X,2X前缀的play-book为分步骤安装集群操作,如00-kernel.yml(升级内核,可选项)、01-base.yml02-container-engine.yml等,这些play-book有依赖关系,需按顺序执行。
  • 编号8X前缀的play-book为集群后节点添加删除操作。
  • 编号9X前缀的play-book为一键安装或维护整个集群操作,如90-init-cluster.yml(一键初始化集群)、93-backup-cluster.yml(集群备份)等。

七、集群初始化关键步骤

7.1 准备配置文件

参考项目中的示例配置文件,如example/hosts.allinone.ip.ini、example/variables.yaml等,根据实际环境修改节点信息、网络配置等参数。

7.2 分步执行play-book或一键安装

  • 分步执行:按照顺序执行01-base.yml、02-container-engine.yml、03-kubernetes-component.yml等play-book。
  • 一键安装:直接执行90-init-cluster.yml,实现集群的快速部署。

7.3 验证集群状态

安装完成后,通过kubectl命令验证集群节点、组件等是否正常运行,确保集群初始化成功。

通过以上7个关键步骤,零基础用户也能顺利完成kubeadm-ha的环境准备和集群初始化,快速搭建起高可用的Kubernetes集群。更多详细操作可参考项目中的官方文档,如docs/01-集群安装.md、docs/02-节点管理.md等。

【免费下载链接】kubeadm-hakubeadm-ha 使用 kubeadm 进行高可用 kubernetes 集群搭建,利用 ansible-playbook 实现自动化安装,既提供一键安装脚本,也可以根据 playbook 分步执行安装各个组件。项目地址: https://gitcode.com/gh_mirrors/ku/kubeadm-ha

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询