通过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
相关推荐
老马啸西风10 小时前
windows wsl ubuntu 如何安装 open-jdk8
linux·windows·ubuntu·docker·容器·k8s·kvm
老任与码12 小时前
安装docker时,yum install -y yum-utils报错的解决
运维·docker·容器
大咖分享课12 小时前
云原生环境下的安全控制框架设计
云原生·零信任·云原生安全·kubernetes安全·安全框架设计·微服务安全
cherishSpring13 小时前
window上docker安装RabbitMQ
docker·容器·rabbitmq
观无13 小时前
Eureka 和 Nacos
云原生·eureka
段帅龙呀14 小时前
kubeadm方式部署Kubernetes v1.22.2集群
云原生·容器·kubernetes
bailang_zhizun14 小时前
【Docker】在银河麒麟ARM环境下离线安装docker
运维·docker·容器
至善迎风15 小时前
本地部署 Kimi K2 全指南(llama.cpp、vLLM、Docker 三法)
docker·容器·llama·kimi
老马啸西风15 小时前
windows docker-03-如何一步步学习 docker
网络·windows·网络协议·学习·http·docker·容器