Sealos的k8s高可用集群搭建
Sealos 介绍](https://sealos.io/zh-Hans/docs/Intro)
Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。
Sealos 特性与优势
- 支持离线安装,工具与部署资源包分离,方便不同版本间快速升级。
- 证书有效期默认延期至 99 年。
- 工具使用非常简单。
- 支持使用自定义配置文件,可灵活完成集群环境定制。
- 使用内核进行本地负载,稳定性极高,故障排查也极其简单。
- 最主要的优势是不需要翻墙出去!!!
下载 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 集群部署工具,能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 特性与优势 支持离线安装,工具与部署资源包分离&#…...
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中(即内核内存buffer)&am…...

【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问
1,openresty 源码安装,带ssl模块 https://openresty.org/cn/download.html (1)PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx…...

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

【STM32】ADC|多通道ADC采集
本次实现的是ADC实现数字信号与模拟信号的转化,数字信号时不连续的,模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法,使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时,0~ 3.3v(模拟信…...
蓝桥杯算法日记|贪心、双指针
3412 545 2928 2128 贪心学习总结: 1、一般经常用到sort(a,an);【a[n]】排序,可以给整数排,也可以给字符串按照字典序排序 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里的模型,主要是由以下原因导致: Ollama 服务未正确暴露给 Docker 容器或客户端模型未正确下载或名称不匹配网络配置或权限问题 排查以上问题的思路首先排查ollama服务是否启动,然后再看端口号 使…...
速度超越DeepSeek!Le Chat 1100tok/s闪电回答,ChatGPT 4o和DeepSeek R1被秒杀?
2023年,当全球科技界还在ChatGPT引发的AI狂潮中沉浮时,一场来自欧洲的"静默革命"正悄然改变游戏规则。法国人工智能公司Mistral AI推出的聊天机器人Le Chat以"比ChatGPT快10倍"的惊人宣言震动业界,其背后承载的不仅是技术…...

JVM速成=。=
JVM跨平台原理 跨平台:一次编译,到处运行 本质:不同操作系统上运行的JVM不一样,只需要把java程序编译成一份字节码文件,JVM执行不同的字节码文件。 Java是高级语言,提前编译一下(变成字节码文件…...
Packer 手动修复安装腾讯云插件
文章目录 Packer [腾讯云插件文档](https://developer.hashicorp.com/packer/integrations/hashicorp/tencentcloud) 提供的版本:v1.2.0,目前 Packer 构建镜像时,不支持现有2种[硬盘类型](https://www.tencentcloud.com/zh/document/product/…...

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

开发完的小程序如何分包
好几次了,终于想起来写个笔记记一下 我最开始并不会给小程序分包,然后我就各种搜,发现讲的基本上都是开发之前的小程序分包,可是我都开发完要发布了,提示我说主包太大需要分包,所以我就不会了。。。 好了…...
Flutter PIP 插件 ---- Android
在 Flutter Android 应用中实现画中画功能 画中画(Picture-in-Picture, PiP)模式允许您的应用在一个固定在屏幕角落的小窗口中运行,同时用户可以与其他应用进行交互。本指南将介绍如何在 Flutter Android 应用中实现画中画功能,包括其局限性和解决方案。 项目地址 flutter_p…...
【20250211】字符串:459.重复的子字符串
#方法一:暴力求解法 # class Solution: # def repeatedSubstringPattern(self, s): # n len(s) # substr "" # #只重复一次不算“重复多次” # if n < 1: # return False # else: # …...

【DeepSeek学Cuda】矩阵转置:行读取优先还是列读取优先。
目录 **1. 实现A(按行读取,按列存储)2. 实现B(按列读取,按行存储)**3. 哪种更好 Professional cuda programming5. "当L1缓存被禁用时,所有内存访问都直接指向全局内存(Global …...

如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?
大家好,今天我们来探讨一下如何将3DMAX中的3D文件转换为AutoCAD中的2D图形。无论是出于设计交流、施工准备还是其他实际需求,这种转换在工程设计领域都是一项非常实用的技能。接下来,我将为大家详细介绍几种实现这一转换的方法,帮助大家轻松跨越3D与2D设计之间的鸿沟。让我…...
Softhsm储存安全数据性能整理
目标:存储百万条数据对象 测试方案一:总大小2GB,每个数据对象大小约512KB,总条数4096条; 测试方案一:总大小2GB,每个数据对象大小约256B,总条数8388608条; 测试环境&am…...

【C++】——精细化哈希表架构:理论与实践的综合分析
先找出你的能力在哪里,然后再决定你是谁。 —— 塔拉韦斯特弗 《你当像鸟飞往你的山》 目录 1. C 与哈希表:核心概念与引入 2. 哈希表的底层机制:原理与挑战 2.1 核心功能解析:效率与灵活性的平衡 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 []…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...