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

2023-09-18 21:00:00

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

一、主机准备

1.1 主机操作系统说明

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

1.2 主机硬件配置说明

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

需求CPU内存硬盘角色主机名
8C8G1024GBmasterk8s-master01
8C8G1024GBmasterk8s-master02
8C8G1024GBmasterk8s-master03
8C16G1024GBworker(node)k8s-worker01
8C16G1024GBworker(node)k8s-worker02

1.3 主机配置

1.3.1 主机名配置

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

master节点
# hostnamectl set-hostname k8s-master01
master节点
# hostnamectl set-hostname k8s-master02
master节点
# hostnamectl set-hostname k8s-master03
worker01节点
# hostnamectl set-hostname k8s-worker01
worker02节点
# hostnamectl set-hostname k8s-worker02

1.3.2 主机IP地址配置

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"
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"
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"
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"
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地址解析

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

# 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 防火墙配置

所有主机均需要操作。

关闭现有防火墙firewalld
# systemctl disable firewalld
# systemctl stop firewalld
# firewall-cmd --state
not running

1.3.5 SELINUX配置

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

# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# sestatus

1.3.6 时间同步配置

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

# crontab -l
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com

1.3.7 升级操作系统内核

所有主机均需要操作。

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

1.3.8 关闭SWAP分区

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

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

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

在上一行中行首添加#

二、Sealos软件准备

在这里插入图片描述
 

在这里插入图片描述

 

在这里插入图片描述
 

在这里插入图片描述

 

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

 

三、使用Sealos部署K8S集群

[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
[root@k8s-master01 ~]# sh sealos-install-k8s.sh
更多推荐

Linux小程序-进度条

进度条我将实现三个版本:1简单原理版本2实际工程实践版本3c语言扩展-设计颜色首先我们需要有一些前置知识:关于行缓冲区和回车换行行缓冲区:c/c++语言会针对标准输出给我们提供默认的缓冲区,这次的角色是输出缓冲区输出的内容不会立马显示,而是放置在输出缓冲区内,只有当缓冲区刷新时我们才会看到输出的内容,而我们平时打印内容

腾讯云16核服务器性能测评_轻量和CVM配置大全

腾讯云16核服务器配置大全,CVM云服务器可选择标准型S6、标准型SA3、计算型C6或标准型S5等,目前标准型S5云服务器有优惠活动,性价比高,计算型C6云服务器16核性能更高,轻量16核32G28M带宽优惠价3468元15个月,腾讯云服务器网分享腾讯云16核CPU服务器可以选择的云服务器CVM规格列表:目录腾讯云16

七天学会C语言-第五天(函数)

1.调用有参函数有参函数是一种接受输入参数(参数值)并执行特定操作的函数。通过向函数传递参数,你可以将数据传递给函数,让函数处理这些数据并返回结果。例1:编写一程序,要求用户输入4个数字,输出前两个数中的最大数、后两个数中的最大数以及四个数中的最大数。#include<stdio.h>doublemax(doublex

jmeter学习文档

JMeter学习(一)工具简单介绍一、JMeter介绍ApacheJMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,JavaServlet,CGIScripts,JavaObject,数据库和FTP服务器等等

【深度学习实验】线性模型(五):使用Pytorch实现线性模型:基于鸢尾花数据集,对模型进行评估(使用随机梯度下降优化器)

目录一、实验介绍二、实验环境1.配置虚拟环境2.库版本介绍三、实验内容0.导入库1.线性模型linear_model2.损失函数loss_function3.鸢尾花数据预处理4.初始化权重和偏置5.优化器6.迭代7.测试集预测8.实验结果评估9.完整代码一、实验介绍线性模型是机器学习中最基本的模型之一,通过对输入特征进

计算机组成原理——基础入门总结(二)

上一期的路径:基础入门总结(一)目录一.输入输出系统和IO控制方式二.存储系统的基本概念三.cache的基本概念和原理四.CPU的功能和基本结构五.总线概述一.输入输出系统和IO控制方式IO设备又可以被统一称为外部设备~IO接口:由被称为IO控制器、设备控制器:负责协调主机与外部设备之间的数据传输。IO控制器具有统一的

web:[HCTF 2018]WarmUp

题目点进页面,页面只有一张滑稽脸,没有其他的提示信息查看网页源代码,发现source.php,尝试访问一下跳转至该页面,页面显示为一段php代码,需要进行代码审计<?phphighlight_file(__FILE__);classemmm{publicstaticfunctioncheckFile(&$page){/

【操作系统笔记】缓存一致性

CPU核心之间数据如何传播高速缓存中的值被修改了,那么怎么同步到内存中呢?①写直达(Write-Through)②写回(Write-Back)写直达(Write-Through)简单,但是很慢,每次写都需要经过内存总线写回(Write-Back):尽可能推迟更新,只有当替换算法要驱逐这个更新过的缓存块时,才把它写回到内

【管理运筹学】第 7 章 | 图与网络分析(5,最小费用流问题及最小费用最大流问题)

系列文章【管理运筹学】第7章|图与网络分析(1,图论背景以及基本概念、术语、矩阵表示)【管理运筹学】第7章|图与网络分析(2,最小支撑树问题)【管理运筹学】第7章|图与网络分析(3,最短路问题)【管理运筹学】第7章|图与网络分析(4,最大流问题)文章目录系列文章引言五、最小费用流问题5.1基本概念及定理5.2最小费用流

java复习-10-String类

String类实例化String本身包装的是一个数组,并且其有两种对象的实例化形式:直接赋值、构造方法实例化。publicclassStringDemo{publicstaticvoidmain(Stringargs[]){//直接赋值Stringstr1="Hello,World";//构造方法实例化Stringst

Prometheus-Rules 实战

文章目录1noderules2nginxrule2.1Nginx4xx错误率太多2.2Nginx5xx错误率太多2.3Nginx延迟高3mysqlrule3.1MySQL宕机3.2实例连接数过多3.3MySQL高线程运行3.4MySQL从服务器IO线程没有运行3.5MySQL从服务器SQL线程没有运行3.6MySQL复

热文推荐