用 kubeadm 部署 K8s 集群要改一堆配置,装一堆依赖,步骤繁琐还容易踩坑?
今天分享 Sealos 一键部署 K8s 集群的工具!包你用了一次就会爱上它!从此对 kubeadm 部署 K8s 集群说拜拜~
全程简化操作,1 条命令就能完成部署,新手也能轻松上手!从此再也不怕领导叫你部署 K8s 嫌麻烦~
建议先收藏,部署中遇到问题欢迎在留言区交流~
Kubeadm手动部署参考:https://blog.csdn.net/qq_48450494/article/details/127738876
1 部署环境准备
环境配置(1 主 2 从)
注意主机命名规范:这里采用 节点作用名称+节点IP 来命名,加节点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!
所有节点统一初始化(必做)
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 <span class="hljs-string" style="color: #98c379; line-height: 26px;">'state UP'</span> -A2 | grep inet | egrep -v <span class="hljs-string" style="color: #98c379; line-height: 26px;">'(127.0.0.1|inet6|docker)'</span> | awk <span class="hljs-string" style="color: #98c379; line-height: 26px;">'{print $2}'</span> | tr -d <span class="hljs-string" style="color: #98c379; line-height: 26px;">"addr:"</span> | 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
如何下载和安装Sealos命令行工具,包括版本选择、二进制下载、包管理工具安装和源码安装等多种方法
3 一键部署 K8s 集群
在Master节点执行下列命令
$ 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

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

4)重置集群
当你想清理K8s集群时,使用sealos reset一条命令直接卸载,亲测非常好用!
# 完全清理K8s集群环境
sealos reset
如果部署过程中遇到问题,欢迎在留言区留言,第一时间为你解答!
END
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qiuyl.com/xueyw/514


Abutogel: <a href=" https://abutowin.icu/# ">S...