SealOS部署k8s集群(单节点)

一、 先决条件

  • 每个集群节点应该有不同的主机名。
  • 需要在 K8s 集群的第一个 master 节点上运行 sealos run 命令。
  • 建议使用干净的操作系统来创建集群。不要自己装 Docker!
  • 支持大多数 Linux发行版,但内核版本建议5以上。例如:Ubuntu、CentOS、Rocky linux。
  • 支持 Docker Hub 中的所有 Kubernetes 版本。
  • 支持使用 Containerd 作为容器运行时。
  • Sealos默认提供了一个私有镜像仓库。
  • 所有操作必须使用 root 用户执行。

二、准备(在所有主机上执行)

本次使用的操作系统是debian 12(本机IP地址192.168.80.12),因其内核为6.1.0-28-amd64

1,设置主机名k8s-master

hostnamectl set-hostname k8s-master  

2,编辑/etc/hosts文件,增加IP与主机名对应关系

192.168.80.12	k8s-master  

3,安装用到的依赖包

apt -y install curl jq ebtables socat iptables  

三、在k8s-master主机上执行部署

1)在线安装方式

1,下载sealos命令行工具(当前使用v5.0.1版本)

在https://github.com/labring/sealos/releases 下载对应系统的版本,debian 12对应的是:
https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.deb

2,在k8s-master上安装sealos命令行工具
dpkg -i sealos_5.0.1_linux_amd64.deb
3,在k8s-master上安装k8s(单节点)
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4

这里使用了calico网络插件。需要注意:helm应当在calico之前。
在干净的服务上直接执行上面的命令,不需要额外多余操作即可安装一个高可用K8S集群(单节点)

2)离线安装方式

离线包下载地址:通过网盘分享的文件:K8S
链接: https://pan.baidu.com/s/12FMstUEmHWPqSml1VVVgSA?pwd=c2bf 提取码: c2bf

1,在k8s-master上安装sealos命令行工具(sealos命令行工具包来源于其它外网环境)
dpkg -i sealos_5.0.1_linux_amd64.deb
2,导入tar包镜像(tar包镜像来源于其它外网环境的sealos的save导出)
sealos load -i kubernetes_v1.27.7.tar
sealos load -i helm_v3.9.4.tar
sealos load -i calico_v3.27.4.tar
3,在k8s-master上安装k8s(单节点)
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4

这里使用了calico网络插件。需要注意:helm应当在calico之前。
在干净的服务上直接执行上面的命令,不需要额外多余操作即可安装一个高可用K8S集群(单节点)

四、k8s镜像部署

当前安装的k8s集群使用containerd作为容器运行;使用calico作为网络插件CNI;sealos默认提供了一个私有镜像仓库,sealos的私有仓库默认运行在集群的第一个节点上,第一个节点是指创建集群的时候输入的第一个节点的地址,使用下面的命令查看守护进程的状态。

systemctl status registry.service

1,使用sealos login命令来登陆,默认用户名和密码为 admin:passw0rd

sealos login -u admin -p passw0rd 192.168.80.12:5000

注:192.168.80.12:5000 (k8s-master的IP地址)为私有镜像仓库中地址

2,sealos导入docker镜像

sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar

3,sealos重新打tag,注意tag的写法,使用私有镜像时,需要该写法。

sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

4,推送到本地的私有镜像

sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

5,GBase8s单机部署yaml文件(gbase8s-standard-deployment.yaml)

# gbase8s-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: gbase8s-deployment
spec:replicas: 1selector:matchLabels:app: gbase8stemplate:metadata:labels:app: gbase8sannotations:# 使用calico方式,指定使用IP地址,数据库集群中必须指定IP# 所有IP网段,使用kubectl get pod -A -o wide | grep calico-apiserver获取# 或者k8s-master上使用ip a获取的tunl0网卡对应的网络cni.projectcalico.org/ipAddrs: "[\"100.116.59.101\"]"spec:containers:- name: gbase8s# 镜像地址image: 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64ports:- containerPort: 9088---
apiVersion: v1
kind: Service
metadata:name: gbase8s-service
spec:selector:app: gbase8sports:- name: sqlexecport: 9088targetPort: 9088nodePort: 30088type: NodePort

6,部署GBase8s(单节点)服务

使用kubectl apply部署GBase8s(单节点)的k8s服务

kubectl apply -f gbase8s-standard-deployment.yaml

7,查看pod部署

使用kubectl get pod查看部署情况

kubectl get pod -o wide

示例输出如下:

NAME                                  READY   STATUS    RESTARTS   AGE
gbase8s-deployment-6cd4dbc946-ltfk6   1/1     Running   0          88m

五、一些常用的sealos和kubectl(命令与docker有很大的相同)

1) kubectl命令

显示service

kubectl get service -o wide

显示service详细信息

kubectl describe service gbase8s-service

删除service

kubectl delete service gbase8s-service

显示deployment

kubectl get deployment -o wide

显示deployment详细信息

kubectl describe deployment gbase8s-deployment

删除depolyment

kubectl delete deployment gbase8s-deployment

显示pod

kubectl get pod -o wide

显示pod详细信息

kubectl describe pod gbase8s-deployment-6cd4dbc946-ltfk6  

2) sealos命令

导入docker镜像

sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar

给镜像打新的tag

sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \
192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

推送至本地镜像仓库

sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

清理k8s集群

sealos reset

增加master节点

sealos add --masters 192.168.0.13,192.168.0.14

增加node节点

sealos add --nodes 192.168.0.21,192.168.0.22

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 服务器安全配置:密码复杂度与登录超时设置

Linux服务器安全配置指南:密码复杂度与登录超时设置 一、密码复杂度设置 通过PAM模块pam_cracklib.so实现密码强度策略,配置文件: system-auth该文件主要用于定义系统范围内的认证策略,涵盖了用户登录、su 命令切换用户、sudo 权限提升等多种认证场景。当用户尝试进行系…

AI Agent开发框架分析:前端视角

1. Mastra (https://mastra.ai/docs) 优点: 提供直观的界面构建器,适合无代码/低代码开发支持JavaScript/TypeScript,可直接集成到前端项目可视化工作流设计,降低入门门槛内置多种UI组件,加速前端开发 缺点&#xf…

linux上使用unsloth微调大模型的环境踩坑之路-4070ti、4090

我们实验室有2套环境 一套:4070ti。安装了cuda12.4 一套:3张4090.安装了cuda12.4 现在开始给第一套装能运行unsloth能运行的环境 第一步:开始创建虚拟环境 conda create -n test_env python3.11 第二步:进入虚拟环境 conda activa…

网络安全演练有哪些形式

OPENVAS使用 1、确定指定IP是否能ping通 2、创建扫描目标 3、创建扫描任务(scan management →newtask) 4、开始任务start 5、查看扫描细节 6、查看扫描结果,包含漏洞详细信息,亦可到处PDF文件 7、导出扫描结果报告 8、为…

ConcurrentModificationException:检测到并发修改完美解决方法

🚦 ConcurrentModificationException:检测到并发修改完美解决方法 💡 摘要 1. 什么是ConcurrentModificationException?🤔 2. ConcurrentModificationException的常见场景 🚦 2.1 使用for-each循环遍历集合…

电路原理(电容 集成电路NE555)

电容 1.特性:充放电,隔直流,通交流 2.电容是通过聚集正负电荷来存储电能的 3.电容充放电过程可等效为导通回路 4.多电容并联可以把容量叠加,但是多电容串联就不会,只会叠加电容的耐压值。 6.电容充放电时相当于通路&a…

深入解析 React 最新特性:革新、应用与最佳实践

深入解析 React 最新特性:革新、应用与最佳实践 1. 引言 React 作为前端开发的核心技术之一,近年来不断推出 新的 API 和优化机制,从 Concurrent Rendering(并发模式) 到 Server Components(服务器组件&a…

【氮化镓】高输入功率应力诱导的GaN 在下的退化LNA退化

2019年,中国工程物理研究院电子工程研究所的Tong等人基于实验与第一性原理计算方法,研究了Ka波段GaN低噪声放大器(LNA)在高输入功率应力下的退化机制。实验结果表明,在27 GHz下施加1 W连续波(CW)输入功率应力后,LNA的增益下降约1 dB,噪声系数(NF)增加约0.7 dB。进一…

C#程序员接口调用工具与方法

作为专注于接口调用的C#软件工程师,以下工具和方法能显著提升开发效率与代码质量: 一、接口开发与测试自动化工具 1. API测试与Mock工具 Postman Newman 支持RESTful/GraphQL接口调试与自动化测试,通过集合(Collection&#xf…

Spring Boot项目中集成sa-token实现认证授权和OAuth 2.0第三方登录

OAuth 2.0第三方登录 OAuth 2.0 是一种授权协议,允许第三方应用在不暴露用户密码的情况下访问用户的资源。它通常用于第三方登录场景,例如使用GitHub、Google等社交平台进行登录。 在sa-token框架中,OAuth 2.0第三方登录可以通过集成sa-tok…

数字化新零售与 AI 大模型,如何重塑大健康赛道?​

在数字化浪潮中,大健康赛道正经历深刻变革。数字化新零售营销模式的兴起,与 AI 大模型的强大能力相结合,为大健康领域带来了全新的发展机遇。 数字化新零售营销模式融合线上线下,运用大数据、云计算分析消费者行为,实…

高速PCB设计(布线设计)

以下是针对高速PCB布线设计的综合笔记,结合用户提供的设计规范及行业通用原则整理而成: 一、关键信号布线原则 布线优先级 顺序:射频信号>中/低频信号>时钟信号>高速信号射频信号需包地处理,线…

宇树ROS1开源模型在ROS2中Gazebo中仿真

以GO1为例 1. CMakelists.txt更新语法 cmake_minimum_required(VERSION 3.8) project(go1_description) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find…

嵌入式学习第二十四天--网络 服务器

服务器模型 tcp服务器: socket bind listen accept recv/send close 1.支持多客户端访问 //单循环服务器 socket bind listen while(1) { accept while(1) { recv/send } } close 2.支持多客户端同时访问 (并发能力) 并发服务器 socket bind …

使用GPTQ量化Llama-3-8B大模型

使用GPTQ量化8B生成式语言模型 服务器配置:4*3090 描述:使用四张3090,分别进行单卡量化,多卡量化。并使用SGLang部署量化后的模型,使用GPTQ量化 原来的模型精度为FP16,量化为4bit 首先下载gptqmodel量化…

防汛应急包,快速响应,守护安全

根据中国水利部统计,自1949年以来,我国几乎每年都面临洪水威胁,其中20世纪90年代后洪涝灾害频率显著增加,仅1990-2009年间就发生超4000起较大灾害,直接经济损失近3万亿元,受灾人口达20亿人次。在2020年长江…

从 Vue 到 React:理解作用与副作用

作用 VS 副作用 响应式作用: 响应式作用是 Vue 响应式系统的一部分,它指的是跟踪函数的依赖关系,并在它们的值发生变化时重新运行该函数的过程。watchEffect 是最直接的创建作用的方式(如 watch 和 computed)。 副作…

a = b c 的含义

简单一句话: result condition && value; condition 为真取 value的值,condition为假就取condition的值,真取后假取前 // 示例 1: b 为真值 let b 1; let c 2; let a b && c; console.log(a); // 输出: 2// 示例 2: b 为…

【大模型系列】llama.cpp本地运行大模型

上一篇链接: 【大模型系列】使用ollama本地运行千问2.5模型 我们讲了ollama本地运行大模型,这里我们介绍另一种本地运行大模型的方法:llamacpp 软件下载 下载地址:https://github.com/ggml-org/llama.cpp/releases 下载cpu版本的llamacpp&a…

PyQt基础——简单的图形化界面(窗口)

一、代码展示 import sysfrom PyQt6.QtGui import QPixmap from PyQt6.QtWidgets import QWidget, QApplication, QLabel, QLineEdit, QPushButton from PyQt6 import uic from PyQt6.QtCore import Qt# 封装一个我的窗口类 class MyWidget(QWidget):def __init__(self):supe…