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

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro)

Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。

Sealos 特性与优势
  1. 支持离线安装,工具与部署资源包分离,方便不同版本间快速升级。
  2. 证书有效期默认延期至 99 年。
  3. 工具使用非常简单。
  4. 支持使用自定义配置文件,可灵活完成集群环境定制。
  5. 使用内核进行本地负载,稳定性极高,故障排查也极其简单。
  6. 最主要的优势是不需要翻墙出去!!!
下载 sealos 命令行工具
VERSION=v4.3.7
wget https://github.com/labring/sealos/releases/download/${VERSION}/sealos_${VERSION#v}_linux_amd64.tar.gz \&& tar zxvf sealos_${VERSION#v}_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
先决条件
  • 每个集群节点应该有不同的主机名。主机名不要带下划线。
  • 所有节点的时间需要同步。
  • 需要在 K8s 集群的第一个 master 节点上运行 sealos run 命令,目前集群外的节点不支持集群安装
  • 建议使用干净的操作系统来创建集群。不要自己装 Docker!
  • 支持大多数 Linux 发行版,例如:Ubuntu、CentOS、Rocky linux。
  • 支持 Docker Hub 中的所有 Kubernetes 版本。
  • 支持使用 Containerd 作为容器运行时。
  • 在公有云上安装请使用私有 IP
生成集群配置文件

Sealos 的 gen 命令可以用于生成 Kubernetes 集群的配置文件(Clusterfile),这个配置文件可以在之后通过 sealos apply 命令来应用。gen 命令可以帮助用户快速生成一个基本的配置文件,用户可以在此基础上根据自己的需求进行修改和调整。

sealos gen labring/kubernetes:v1.25.15 labring/helm:v3.8.2 labring/calico:v3.24.1 \--masters 172.19.100.15,172.19.100.7,172.19.100.17 \--nodes 172.19.100.10 --passwd 'lAf3GIBasW@N3gJAqON8otFOxYs' > Clusterfile.yaml

在生成了 Clusterfile 之后,用户可以根据自己的需求来修改这个文件。添加或修改环境变量;修改集群cidr配置。完成修改后,用户就可以通过 sealos apply 命令来根据这个配置文件来创建或更新集群了。

apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:creationTimestamp: nullname: default
spec:hosts:- ips:- 172.16.66.41:22- 172.16.66.42:22- 172.16.66.43:22roles:- master- amd64- ips:- 172.16.66.44:22roles:- node- amd64image:- labring/kubernetes:v1.25.15- labring/helm:v3.8.2- labring/calico:v3.24.1ssh:passwd: redhat
... ...
初始化集群
sealos apply -f Clusterfile.yaml

初始化成功界面

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

[root@sealos-01 ~]# kubectl  get nodes 
NAME        STATUS   ROLES           AGE     VERSION
sealos-01   Ready    control-plane   4m38s   v1.25.15
sealos-02   Ready    control-plane   3m46s   v1.25.15
sealos-03   Ready    control-plane   2m43s   v1.25.15
sealos-04   Ready    <none>          2m16s   v1.25.15[root@sealos-01 ~]# kubectl  -n kube-system get pods 
NAME                                READY   STATUS    RESTARTS        AGE
coredns-565d847f94-bvc79            1/1     Running   0               2m59s
coredns-565d847f94-lv8wp            1/1     Running   0               2m59s
etcd-sealos-01                      1/1     Running   1               3m13s
etcd-sealos-02                      1/1     Running   0               2m5s
etcd-sealos-03                      1/1     Running   0               78s
kube-apiserver-sealos-01            1/1     Running   1               3m15s
kube-apiserver-sealos-02            1/1     Running   1               109s
kube-apiserver-sealos-03            1/1     Running   1               68s
kube-controller-manager-sealos-01   1/1     Running   3 (2m13s ago)   3m15s
kube-controller-manager-sealos-02   1/1     Running   2               118s
kube-controller-manager-sealos-03   1/1     Running   1               76s
kube-proxy-4xgvw                    1/1     Running   0               2m24s
kube-proxy-7crtv                    1/1     Running   0               2m59s
kube-proxy-9hkn9                    1/1     Running   0               81s
kube-proxy-wzms8                    1/1     Running   0               54s
kube-scheduler-sealos-01            1/1     Running   3 (2m14s ago)   3m14s
kube-scheduler-sealos-02            1/1     Running   1               118s
kube-scheduler-sealos-03            1/1     Running   1               74s
kube-sealos-lvscare-sealos-04       1/1     Running   1               46s

使用 containerd 作为容器运行时,镜像和容器的操作使用 crictl 命令。

[root@sealos-01 ~]# crictl images
IMAGE                                          TAG                 IMAGE ID            SIZE
sealos.hub:5000/calico/cni                     v3.24.1             67fd9ab484510       87.4MB
sealos.hub:5000/calico/csi                     v3.24.1             6a8c8f9f60dc6       9.04MB
sealos.hub:5000/calico/node-driver-registrar   v3.24.1             417ab3368bad1       11.1MB
sealos.hub:5000/calico/node                    v3.24.1             75392e3500e36       80.2MB
sealos.hub:5000/calico/pod2daemon-flexvol      v3.24.1             f1bf9f7296b3b       7.06MB
sealos.hub:5000/calico/typha                   v3.24.1             068eca72ba120       28.4MB
sealos.hub:5000/coredns/coredns                v1.9.3              5185b96f0becf       14.8MB
sealos.hub:5000/etcd                           3.5.9-0             73deb9a3f7025       103MB
sealos.hub:5000/kube-apiserver                 v1.25.15            0d36923e7b122       35.1MB
sealos.hub:5000/kube-controller-manager        v1.25.15            9c2734ae92bb5       31.9MB
sealos.hub:5000/kube-proxy                     v1.25.15            5dd63335012de       20.5MB
sealos.hub:5000/kube-scheduler                 v1.25.15            f9d1697d9af02       16.3MB
sealos.hub:5000/pause                          3.8                 4873874c08efc       309kB
重置集群
sealos reset 
添加节点

要向集群中添加节点,可以使用 --nodes 选项:

sealos add --nodes x.x.x.x

要向集群中添加控制节点,可以使用 --masters 选项:

sealos add --masters x.x.x.x
删除节点

要从集群中删除节点,可以使用 --nodes 选项:

sealos delete --nodes x.x.x.x

要从集群中删除控制节点,可以使用 --masters 选项:

sealos delete --masters x.x.x.x
查看集群证书有效期
kubeadm  certs check-expiration

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sealos 高可用

LVScare是一款基于 IPVS 技术的轻量级负载均衡和健康检查工具,可以实时监控和管理后端服务。Sealos与LVScare结合来实现Kubernetes master节点的高可用性。Sealos利用其生命周期管理能力,通过配合LVScare的轻量级,0依赖,高可用的特性,可以非常有效地保证Kubernetes集群的稳定性和可靠性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相关文章:

Sealos的k8s高可用集群搭建

Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro) Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具&#xff0c;能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装&#xff0c;工具与部署资源包分离&#…...

Android和DLT日志系统

1 Linux Android日志系统 1.1 内核logger机制 drivers/staging/android/logger.c static size_t logger_offset( struct logger_log *log, size_t n) { return n & (log->size - 1); } 写的off存在logger_log中&#xff08;即内核内存buffer&#xff09;&am…...

【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问

1&#xff0c;openresty 源码安装&#xff0c;带ssl模块 https://openresty.org/cn/download.html &#xff08;1&#xff09;PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式&#xff0c;那么在编译Nginx时就必须把PCRE库编译进Nginx&#xf…...

如何将网站提交百度收录完整SEO教程

百度收录是中文网站获取流量的重要渠道。本文以我的网站&#xff0c;www.mnxz.fun&#xff08;当然现在没啥流量&#xff09; 为例&#xff0c;详细讲解从提交收录到自动化维护的全流程。 一、百度收录提交方法 1. 验证网站所有权 1、登录百度搜索资源平台 2、选择「用户中心…...

【STM32】ADC|多通道ADC采集

本次实现的是ADC实现数字信号与模拟信号的转化&#xff0c;数字信号时不连续的&#xff0c;模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法&#xff0c;使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时&#xff0c;0~ 3.3v(模拟信…...

蓝桥杯算法日记|贪心、双指针

3412 545 2928 2128 贪心学习总结&#xff1a; 1、一般经常用到sort&#xff08;a&#xff0c;an&#xff09;&#xff1b;【a[n]】排序&#xff0c;可以给整数排&#xff0c;也可以给字符串按照字典序排序 2、每次选最优 双指针 有序数组、字符串、二分查找、数字之和、反转字…...

ArcGIS Pro SDK (二十七)自定义许可

ArcGIS Pro SDK (二十七)自定义许可 环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 文章目录 ArcGIS Pro SDK (二十七)自定义许可1 在Config.xaml中添加扩展配置2 在Module1.cs中实现接口IExtensionConfig1 在Config.xaml中添加扩展配置 <modules><inse…...

通过客户端Chatbox或OpenwebUI访问识别不到本地ollama中的模型等问题的解决

Chatbox和Open WebUI 等无法获取到 Ollama里的模型&#xff0c;主要是由以下原因导致&#xff1a; Ollama 服务未正确暴露给 Docker 容器或客户端模型未正确下载或名称不匹配网络配置或权限问题 排查以上问题的思路首先排查ollama服务是否启动&#xff0c;然后再看端口号 使…...

速度超越DeepSeek!Le Chat 1100tok/s闪电回答,ChatGPT 4o和DeepSeek R1被秒杀?

2023年&#xff0c;当全球科技界还在ChatGPT引发的AI狂潮中沉浮时&#xff0c;一场来自欧洲的"静默革命"正悄然改变游戏规则。法国人工智能公司Mistral AI推出的聊天机器人Le Chat以"比ChatGPT快10倍"的惊人宣言震动业界&#xff0c;其背后承载的不仅是技术…...

JVM速成=。=

JVM跨平台原理 跨平台&#xff1a;一次编译&#xff0c;到处运行 本质&#xff1a;不同操作系统上运行的JVM不一样&#xff0c;只需要把java程序编译成一份字节码文件&#xff0c;JVM执行不同的字节码文件。 Java是高级语言&#xff0c;提前编译一下&#xff08;变成字节码文件…...

Packer 手动修复安装腾讯云插件

文章目录 Packer [腾讯云插件文档](https://developer.hashicorp.com/packer/integrations/hashicorp/tencentcloud) 提供的版本&#xff1a;v1.2.0&#xff0c;目前 Packer 构建镜像时&#xff0c;不支持现有2种[硬盘类型](https://www.tencentcloud.com/zh/document/product/…...

学习总结三十

下头论文 # P10605 下头论文 题目背景 莲子一直在苦恼关于论文的灵感。她为此花了太多时间&#xff0c;以至于没有时间理会她的伙伴梅莉。 题目描述 一天&#xff0c;莲子发现了一个绝妙的点子&#xff0c;并希望通过实验等过程将其完善。具体来说&#xff0c;她需要依次完成 n…...

开发完的小程序如何分包

好几次了&#xff0c;终于想起来写个笔记记一下 我最开始并不会给小程序分包&#xff0c;然后我就各种搜&#xff0c;发现讲的基本上都是开发之前的小程序分包&#xff0c;可是我都开发完要发布了&#xff0c;提示我说主包太大需要分包&#xff0c;所以我就不会了。。。 好了…...

Flutter PIP 插件 ---- Android

在 Flutter Android 应用中实现画中画功能 画中画(Picture-in-Picture, PiP)模式允许您的应用在一个固定在屏幕角落的小窗口中运行,同时用户可以与其他应用进行交互。本指南将介绍如何在 Flutter Android 应用中实现画中画功能,包括其局限性和解决方案。 项目地址 flutter_p…...

【20250211】字符串:459.重复的子字符串

#方法一&#xff1a;暴力求解法 # class Solution: # def repeatedSubstringPattern(self, s): # n len(s) # substr "" # #只重复一次不算“重复多次” # if n < 1: # return False # else: # …...

【DeepSeek学Cuda】矩阵转置:行读取优先还是列读取优先。

目录 **1. 实现A&#xff08;按行读取&#xff0c;按列存储&#xff09;2. 实现B&#xff08;按列读取&#xff0c;按行存储&#xff09;**3. 哪种更好 Professional cuda programming5. "当L1缓存被禁用时&#xff0c;所有内存访问都直接指向全局内存&#xff08;Global …...

如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?

大家好,今天我们来探讨一下如何将3DMAX中的3D文件转换为AutoCAD中的2D图形。无论是出于设计交流、施工准备还是其他实际需求,这种转换在工程设计领域都是一项非常实用的技能。接下来,我将为大家详细介绍几种实现这一转换的方法,帮助大家轻松跨越3D与2D设计之间的鸿沟。让我…...

Softhsm储存安全数据性能整理

目标&#xff1a;存储百万条数据对象 测试方案一&#xff1a;总大小2GB&#xff0c;每个数据对象大小约512KB&#xff0c;总条数4096条&#xff1b; 测试方案一&#xff1a;总大小2GB&#xff0c;每个数据对象大小约256B&#xff0c;总条数8388608条&#xff1b; 测试环境&am…...

【C++】——精细化哈希表架构:理论与实践的综合分析

先找出你的能力在哪里&#xff0c;然后再决定你是谁。 —— 塔拉韦斯特弗 《你当像鸟飞往你的山》 目录 1. C 与哈希表&#xff1a;核心概念与引入 2. 哈希表的底层机制&#xff1a;原理与挑战 2.1 核心功能解析&#xff1a;效率与灵活性的平衡 2.2 哈希冲突的本质&#x…...

【cocos creator】拖拽排序列表

DEMO下载 GameCtrl.ts import ItemCtrl from "./ItemCtrl";const { ccclass, property } cc._decorator;ccclass export default class GameCtrl extends cc.Component {property(cc.Node)content: cc.Node null;property(cc.Node)prefab: cc.Node null;arr []…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...