找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2093

积分

0

好友

294

主题
发表于 昨天 15:47 | 查看: 9| 回复: 0

你是否还在为使用 kubeadm 部署 K8s 集群而烦恼?需要修改大量配置,安装各种依赖,步骤繁琐不说,还极易踩坑。

今天要介绍一个名为 Sealos 的工具,它能够实现 Kubernetes 集群的一键部署!其操作被极大简化,全程只需 1 条命令即可完成,即便是新手也能轻松上手。从此,当需要部署 K8s 集群时,你将告别复杂的 kubeadm 流程。

注:Kubeadm 手动部署方式可参考其他文档,例如:https://blog.csdn.net/qq_48450494/article/details/127738876

1 部署环境准备

环境配置(1 主 2 从)

注意主机命名规范:这里采用 节点作用名称+节点IP 来命名。加入节点IP有助于我们直观了解各节点的网络规划,也便于后续的查找与区分。

名称 IP 地址 操作系统 配置 角色
k8s-master01-192-168-10-1 192.168.10.1 CentOS7.9 2C4G 控制节点
k8s-node01-192-168-10-2 192.168.10.2 CentOS7.9 2C4G 工作节点
k8s-node02-192-168-10-3 192.168.10.3 CentOS7.9 2C4G 工作节点

先决条件

  • 每个集群节点应该有不同的主机名,且主机名不要带下划线。
  • 所有节点的时间需要同步。
  • 建议使用干净的操作系统来创建集群。不要预先自行安装 Docker 或 Containerd!

所有节点统一初始化(必做)

1)关闭防火墙和 SELinux

# 关闭防火墙并设置开机禁用
systemctl disable --now firewalld
# 永久关闭SELinux(需重启生效,临时关闭用setenforce 0)
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

2)修改主机名与 hosts 解析

# master节点
hostnamectl set-hostname k8s-master01-192-168-10-1
# node1节点
hostnamectl set-hostname k8s-node01-192-168-10-2
# node2节点
hostnamectl set-hostname k8s-node02-192-168-10-3

# 所有节点配置hosts(添加以下内容)
cat >> /etc/hosts <<EOF
192.168.10.1   k8s-master01-192-168-10-1
192.168.10.2   k8s-node01-192-168-10-2
192.168.10.3   k8s-node02-192-168-10-3
EOF

3)时间同步

#删除centos默认repo包,配置阿里云Centos-7.repo包
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#方式1:安装配置chrony时间同步
IP=`ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1`
yum install -y chrony
sed -i '3,6s/^/#/g' /etc/chrony.conf
sed -i "7s|^|server $IP iburst|g" /etc/chrony.conf
echo "allow all" >> /etc/chrony.conf
echo "local stratum 10" >> /etc/chrony.conf
systemctl restart chronyd
systemctl enable chronyd
timedatectl set-ntp true
sleep 5
systemctl restart chronyd
chronyc sources

#方式2:时间同步  注意:系统重启后恢复成原时间
yum install ntpdate -y
ntpdate ntp1.aliyun.com

2 安装 Sealos 工具(仅在 master 节点执行)

下载并安装 Sealos

下载 Sealos 二进制版本压缩包:https://github.com/labring/sealos/releases

# 解压、并安装
tar zxvf sealos_xxxxx_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin

更多下载方式,请移步官方文档:https://sealos.run/docs/k8s/quick-start/install-cli ,其中介绍了包括版本选择、二进制下载、包管理工具安装和源码安装在内的多种方法。

3 一键部署 K8s 集群

在 Master 节点执行下列命令。对于希望简化 K8s 集群 部署流程的 运维 人员来说,这个过程极其友好。

$ sealos run \
     registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29.9 \
     registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \
     registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
     --masters 192.168.10.1 \
     --nodes 192.168.10.2,192.168.10.3 \
     -p [your-ssh-passwd]

部署过程说明

  • 执行命令后,Sealos 会自动下载 K8s 组件镜像、容器运行时(containerd)、网络插件等。
  • 部署时间约 5-10 分钟(取决于网络速度),期间无需人工干预。
  • 若部署失败,执行 sealos reset 清理环境后,重新运行部署命令即可。

更多高级操作(如添加节点、删除节点、离线部署K8s集群等)请参考:https://sealos.run/docs/k8s/quick-start/deploy-kubernetes

4 集群验证

1)查看集群节点状态

# 所有节点状态为Ready即部署成功
kubectl get nodes

2)查看集群组件状态

# 查看所有命名空间的Pod运行状态
kubectl get pods -A
# 查看集群信息
kubectl cluster-info

Kubernetes集群信息输出截图

3)查看集群签发的证书时间

Kubernetes集群证书有效期检查结果

4)重置集群

当你想清理 K8s 集群环境时,使用 sealos reset 这一条命令即可直接卸载,非常便捷。

# 完全清理K8s集群环境
sealos reset

希望这篇使用 Sealos 快速部署 Kubernetes 的指南能帮助你提升效率。技术实践中的问题与经验,欢迎在 云栈社区 这样的开发者社区中交流探讨。




上一篇:Linux systemd 设计与实现剖析:Unit管理、并行启动与架构解析
下一篇:Linux内存水位线配置详解:min_free_kbytes调优与OOM Killer预防实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 17:42 , Processed in 0.247382 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表