通过Sealos 180秒部署一套K8S集群

通过Sealos 180秒部署一套K8S集群

一、主机准备

1.1 主机操作系统说明

序号 操作系统及版本 备注
1 CentOS7u9

1.2 主机硬件配置说明

k8s集群CPU及内存最低分别为2颗CPU、2G内存,硬盘建议为100G+

需求 CPU 内存 硬盘 角色 主机名
8C 8G 1024GB master k8s-master01
8C 8G 1024GB master k8s-master02
8C 8G 1024GB master k8s-master03
8C 16G 1024GB worker(node) k8s-worker01
8C 16G 1024GB worker(node) k8s-worker02

1.3 主机配置

1.3.1 主机名配置

由于本次使用5台主机完成kubernetes集群部署,其中3台为master节点,名称分别为k8s-master01、k8s-master02、k8s-master03;其中2台为worker节点,名称分别为:k8s-worker01及k8s-worker02

powershell 复制代码
master节点
# hostnamectl set-hostname k8s-master01
powershell 复制代码
master节点
# hostnamectl set-hostname k8s-master02
powershell 复制代码
master节点
# hostnamectl set-hostname k8s-master03
powershell 复制代码
worker01节点
# hostnamectl set-hostname k8s-worker01
powershell 复制代码
worker02节点
# hostnamectl set-hostname k8s-worker02

1.3.2 主机IP地址配置

powershell 复制代码
k8s-master01节点IP地址为:192.168.10.140/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.140"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
powershell 复制代码
k8s-master02节点IP地址为:192.168.10.141/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.141"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
powershell 复制代码
k8s-master03节点IP地址为:192.168.10.142/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.142"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
powershell 复制代码
k8s-worker01节点IP地址为:192.168.10.143/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.143"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
powershell 复制代码
k8s-worker02节点IP地址为:192.168.10.144/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.144"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"

1.3.3 主机名与IP地址解析

所有集群主机均需要进行配置。

powershell 复制代码
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.140 k8s-master01
192.168.10.141 k8s-master02
192.168.10.142 k8s-master03
192.168.10.143 k8s-worker01
192.168.10.144 k8s-worker02

1.3.4 防火墙配置

所有主机均需要操作。

powershell 复制代码
关闭现有防火墙firewalld
# systemctl disable firewalld
# systemctl stop firewalld
# firewall-cmd --state
not running

1.3.5 SELINUX配置

所有主机均需要操作。修改SELinux配置需要重启操作系统。

powershell 复制代码
# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
powershell 复制代码
# sestatus

1.3.6 时间同步配置

所有主机均需要操作。最小化安装系统需要安装ntpdate软件。

powershell 复制代码
# crontab -l
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com

1.3.7 升级操作系统内核

所有主机均需要操作。

powershell 复制代码
导入elrepo gpg key
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
powershell 复制代码
安装elrepo YUM源仓库
# yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
powershell 复制代码
安装kernel-ml版本,ml为最新稳定版本,lt为长期维护版本
# yum --enablerepo="elrepo-kernel" -y install kernel-lt.x86_64
powershell 复制代码
设置grub2默认引导为0
# grub2-set-default 0
powershell 复制代码
重新生成grub2引导文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
powershell 复制代码
更新后,需要重启,使用升级的内核生效。
# reboot
powershell 复制代码
重启后,需要验证内核是否为更新对应的版本
# uname -r

1.3.8 关闭SWAP分区

修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a

powershell 复制代码
永远关闭swap分区,需要重启操作系统
# cat /etc/fstab
......

# /dev/mapper/centos-swap swap                    swap    defaults        0 0

在上一行中行首添加#

二、Sealos软件准备

powershell 复制代码
[root@k8s-master01 ~]# wget https://github.com/labring/sealos/releases/download/v4.3.0/sealos_4.3.0_linux_amd64.rpm
powershell 复制代码
[root@k8s-master01 ~]# yum -y install sealos_4.3.0_linux_amd64.rpm

三、使用Sealos部署K8S集群

powershell 复制代码
[root@k8s-master01 ~]# vim sealos-install-k8s.sh
[root@k8s-master01 ~]# cat sealos-install-k8s.sh
sealos run labring/kubernetes:v1.26.5 labring/helm:v3.12.0 labring/calico:v3.24.6 \
--masters 192.168.10.140,192.168.10.141,192.168.10.142 \
--nodes 192.168.10.143,192.168.10.144 -p centos
powershell 复制代码
[root@k8s-master01 ~]# sh sealos-install-k8s.sh
相关推荐
名字还没想好☜1 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂2 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
Cloud云卷云舒3 小时前
AI Agent记忆系统:分层记忆体系的技术架构与实践
云原生·ai-native·haishandb
Ulyanov3 小时前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
spider_xcxc5 小时前
Helm 部署 K8s 集群完整笔记
java·开发语言·kubernetes
窝子面5 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
张忠琳18 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
阿里云云原生19 小时前
让 AI Agent 看见正在发生的业务,阿里云 EventHouse 正式商业化
云原生
Elastic 中国社区官方博客19 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
AOwhisky20 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发