当前位置: 首页 > news >正文

2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统

摘要

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

操作实践

1、服务器规划

kubernetes集群大体上分为两类:一主多从和多主多从。

a、一M多N:一台Master节点和多台Node节点,但是有单机故障风险,适合用于测试环境

b、多M多N:多台Master节点和多台Node节点,安全性高,适合用于生产环境

2、环境准备

a、初始化环境

# 每台机器都需要进行初始化环境,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久# 时间同步 
yum install ntpdate -y
ntpdate time.windows.com

b、设置主机名

# 配置静态 IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 每台机器都需要配置hosts
# 根据规划设置主机名
hostnamectl set-hostname <hostname>
# 按照集群规划,在每台机器的hosts文件中添加以下内容
vi /etc/hosts  
192.168.0.123 master1
192.168.0.124 master2
192.168.0.125 node1

c、免密登录

#在master上生成密钥对
ssh-keygen #一路按回车即可,会在当前用户.ssh目录下生产相应秘钥文件#拷贝公钥到其它master、node节点上
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.124
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.125

d、内核升级

# 阿里云 RPMS 资源
https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/ # 2、wget命令下载
wget https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
wget https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm# 3、资源安装
yum install -y ./kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm ./kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
# 或
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
# 或,安装所有
rpm -Uvh *.rpm# 4、配置启动内核
# 查看当前内核,或 grep "menuentry " /boot/grub2/grub.cfg 
cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}'
# 设置启动内核,或 grub2-set-default 0
grub2-set-default 'CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)'
# 重新生成grub2配置文件(grub2-mkconfig将扫描系统中已安装的操作系统,将它们添加到GRUB2的启动菜单中。如果系统上有多个内核可用,还会添加一个子菜单,以便在启动时选择内核)
grub2-mkconfig -o /boot/grub2/grub.cfg
# 查看启动内核
grub2-editenv list

关于内核种类说明:
kernel-ml 中ml是mainline stable的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本
kernel-lt 中lt是long term support的缩写,elrepo-kernel中罗列出来的长期支持版本。根据他人经验,k8s一般安装LT版本。

3、安装sealos

a、下载sealos

wget https://github.com/labring/sealos/releases/download/v5.0.0/sealos_5.0.0_linux_amd64.tar.gz

b、解压赋权

tar zxvf sealos_5.0.0_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
4、安装 k8s 集群

a、生成集群配置
生成一个包含多个镜像、指定了主节点和工作节点的集群的配置

# 有docker版
sealos gen registry.cn-hangzhou.aliyuncs.com/images-sysncer/kubernetes-docker:v1.25.0 registry.cn-hangzhou.aliyuncs.com/images-sysncer/helm:v3.8.2 registry.cn-hangzhou.aliyuncs.com/images-sysncer/calico:v3.24.1 \
--masters 192.168.0.123,192.168.0.124 \
--nodes 192.168.0.125 --passwd Admin123 --port 22 --output Clusterfile# 无docker版
sealos gen registry.cn-hangzhou.aliyuncs.com/images-sysncer/kubernetes:v1.25.0 registry.cn-hangzhou.aliyuncs.com/images-sysncer/helm:v3.8.2 registry.cn-hangzhou.aliyuncs.com/images-sysncer/calico:v3.24.1 \
--masters 192.168.0.123,192.168.0.124 \
--nodes 192.168.0.125 --passwd Admin123 --port 22 --output Clusterfile

参数说明:
–masters : master节点地址
–nodes : node节点地址
–passwd : 服务器root密码
–port 22 : ssh端口
–output : 生成的文件路径及名称

b、修改配置文件

在生成了 Clusterfile 之后,用户可以根据自己的需求来修改这个文件。添加或修改环境变量;修改集群cidr配置,不添加和修改也可以直接创建集群。

不修改默认安装启动组件有:coredns、etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kube-sealos-lvscare。

c、创建集群

sealos apply -f Clusterfile# 查看集群节点
kubectl get nodes# 查看pod状态
kubectl get pod -A
5、测试验证

a、创建一个nginx-deployment.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80

b、创建deployment资源

kubectl apply -f nginx-deployment.yaml# 查看创建的资源
kubectl get pod -A

总结

selaos 可以快速的完成 K8s 集群的搭建和部署用于产品的快速交付,但是需要具备一定的代码研发能力可以足够掌握软件运行的细节并且结合实际的业务需求进行开发。

相关文章:

2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统

摘要 Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式&#xff0c;抛弃了传统的云计算架构&#xff0c;转向以 Kubernetes 为云内核的新架构&#xff0c;使企业能够像使用个人电脑一样简单地使用云。 操作实践 1、服务器规划 kubernetes集群大体上…...

Ps:首选项 - 单位与标尺

Ps菜单&#xff1a;编辑/首选项 Edit/Preferences 快捷键&#xff1a;Ctrl K Photoshop 首选项中的“单位与标尺” Units & Rulers选项卡允许用户根据工作需求定制 Photoshop 的测量单位和标尺显示方式。这对于保持工作的一致性和精确性&#xff0c;尤其是在跨设备或跨平台…...

DiskDigger(文件恢复工具) v2.0.3 中文授权版

DiskDigger中文版是一款实用文件恢复工具&#xff0c;它能从任何媒介中恢复误删除的文件。支持硬盘、USB 闪存盘、闪存卡(SD/CF/MMS)、CD、DVD 和软盘等。支持恢复任何格式的文件。DiskDigger 能彻底的扫描每个扇区来跟踪文件&#xff0c;从而最大限度恢复挽回文件信息。 软件…...

C/C++逆向:x96dbg(x64dbg/x86dbg)的使用

这篇文章主要来说一下x96dbg(x64/x86)的基本使用&#xff0c;这里还是使用上篇文章中的简单程序用来作为本篇文章的实例&#xff0c;因为上篇文章再生成程序时选用的解决方案平台为x86所以生成的程序则需要我们使用x32dbg来进行分析。 这边与IDA一样&#xff0c;我们可以将程序…...

超声波清洗机是智商税吗?专业博主分享四大必买超声波清洗机款式

有些人觉得超声波清洗机不过是个“智商税”&#xff0c;花几百块买个小盒子不值当&#xff0c;毕竟自己用手也能清洗。但这种看法过于片面。事实上&#xff0c;超声波清洗已经有几十年的历史&#xff0c;随着科技的发展&#xff0c;现代超声波清洗机不仅能够批量、自动清洁&…...

TIM输出比较

文章目录 前言一、TIM输出比较简介二、PWM简介2.1 PWM基本概念2.2 PWM参数2.3 PWM波形2.4 PWM基本结构2.5 PWM参数计算 三、舵机简介3.1 舵机的工作原理3.2 输入PWM信号的要求3.3 硬件电路 四、直流电机及驱动简介4.1 直流电机4.2 TB6612电机驱动芯片 前言 提示&#xff1a;本…...

JNPF 5.0升级钜惠,感恩回馈永远在路上

尊敬的JNPF用户们&#xff1a; 经过引迈团队数月的辛勤努力和不断的技术创新&#xff0c;JNPF快速开发平台迎来全新升级——5.0版本&#xff01;此次5.0版本的迭代革新&#xff0c;不仅代表着我们技术实力的进一步提升&#xff0c;是我们对用户需求的深度理解和积极回应。为了…...

三维平面电磁铁、交流电磁铁、显微镜磁场北京大学方案

根据用户北京大学需求设计制造方案如下 三维平面电磁铁产品规格 5MPS63-25型三维平面电磁铁&#xff0c;X、Y方向磁场由2对正交的磁极产生&#xff0c;Z轴由一组同轴线圈产生&#xff1b; 每轴对应的两个线圈正接产生均匀磁场&#xff0c;反接产生梯度磁场&#xff1b; …...

awk引号转义问题

这是我在终端运行的脚本&#xff1a; for ib1 in $(seq 0 999);do ibstr$(printf sample52-%d $ib1);calculate_rmsd --reorder Motif52.pdb ${ibstr}.pdb | awk "{printf "%d %8f\n", $ib1, $0}" >> sample52_hotspots; done 但是报错&#xff1a; …...

C语言典型例题46

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 题目&#xff1a; 习题3.6 企业发放的奖金根据利润提成。利润I低于或等于100 000元的&#xff0c;奖金可提成10%&#xff1b; 利润高于100 000元&#xff0c;低于200000元&…...

【目标检测】AGMF-Net:遥感目标检测的无注意力全局多尺度融合网络

《Attention-Free Global Multiscale Fusion Network for Remote Sensing Object Detection》 遥感目标检测的无注意力全局多尺度融合网络 原文&#xff1a;https://ieeexplore.ieee.org/document/10371366 摘要 遥感目标检测&#xff08;RSOD&#xff09;在复杂背景和小目标…...

2007-2022年上市公司资源节约数据

2007-2022年上市公司资源节约数据 1、时间&#xff1a;2007-2022年 2、来源&#xff1a;上市公司年报、社会责任报告、上市公司网站信息 3、指标&#xff1a;水资源节约、电力节约、原煤节约、天然气节约、汽油节约、柴油节约、集中供热节约、折算成统一标准煤共计节约 4、…...

onlyoffice连接器(connector)开发使用精讲 二次开发 深入开发【一】

连接器是onlyoffice调用web api的一个基础工具&#xff0c;可以方便开发者或者用户与业务系统结合使用web功能。 关于connector官方说明文档在这里&#xff1a;Automation API - ONLYOFFICE Api Documentation 注意&#xff1a;该功能针对开发者版、企业版&#xff0c;社区版常…...

VAuditDemo安装漏洞

目录 VAuditDemo安装漏洞 index.php header.php config.php lib.php install.php 分析结果 漏洞利用 第一步&#xff1a;删除install.lock文件&#xff0c;访问 install.php 抓包 第二步&#xff1a;通过审计构造payload 第三步&#xff1a;修改抓包请求内容&#x…...

算法学习-2024.8.16

一、Tensorrt学习补充 TensorRT支持INT8和FP16的计算。深度学习网络在训练时&#xff0c;通常使用 32 位或 16 位数据。TensorRT则在网络的推理时选用不这么高的精度&#xff0c;达到加速推断的目的。 TensorRT对于网络结构进行了重构&#xff0c;把一些能够合并的运算合并在了…...

ansible环境搭建

任务背景 公司的服务器越来越多, 维护⼀些简单的事情都会变得很繁琐。⽤ shell脚本来管理少量服务器效率还⾏, 服务器多了之后, shell脚本⽆ 法实现⾼效率运维。这种情况下&#xff0c;我们需要引⼊⾃动化运维⼯具, 对 多台服务器实现⾼效运维。 任务要求 通过管理服务器能够…...

在线陪玩App小程序源码开发:技术挑战与解决方案

随着互联网技术的飞速发展和用户需求的多样化&#xff0c;在线陪玩App小程序逐渐在游戏娱乐领域占据了一席之地。这类小程序不仅为用户提供了丰富的娱乐体验&#xff0c;也为开发者带来了新的机遇。然而&#xff0c;在开发过程中&#xff0c;数据处理、性能优化、系统扩展性和安…...

iOS profiles文件过期如何更新

创建发布用的Certificates 首先进入到https://developer.apple.com/account页面选择【证书】进入【新建证书】页面 点击【新建证书】按钮&#xff1a; 根据需求选中对应的【证书类型】&#xff0c;我选的是【Apple Distribution】&#xff0c; 开发者证书选择【Apple Devel…...

C/C++|C++标准库 string 流之std::ostringstream 和 std::istringstream 流

我们在 sstream 头文件中定义了三个类型来支持内存IO(ostringstream\istringstream\stringstream)&#xff0c;这些类型可以向 string 写入数据&#xff0c;这里我们主要讲&#xff1a; std::ostringstream 和 std::istringstream( C Primer 中文版第五版) 以上的两个类型都继…...

Java-Redis

文章目录 基础基础内容使用场景/功能常见数据类型下载与安装可视化&#xff08;多个&#xff09;发布订阅功能事务两种持久化主从模式哨兵模式集群模式Cluster缓存淘汰过期删除缓存一致 Cache Aside缓存击穿缓存穿透缓存雪崩 实战内容配置文件配置Redis的BeanRedis为什么这么快…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...