【K8s】专题四:Kubernetes 安装方法之 Sealos

news2025/1/19 17:20:41

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、Sealos 简介

二、Sealos 下载、安装

三、Sealos 部署 Kubernetes 集群

四、Sealos 常用命令

五、Sealos 构建集群镜像(ClusterImage)

六、Sealos 与 Sealer 对比


一、Sealos 简介

Sealos 是一个基于 Kubernetes 的云操作系统发行版。它采用云原生的方式,抛弃传统的云计算架构,转向以 Kubernetes 为内核的新架构。

Sealos 秉承可以像 Linux 一样简单使用云的理念,在 Sealos 的架构中,公有云和私有云没有本质区别,都只需要安装云操作系统。

与 Sealer 类似,Sealos 可以打包整个 kubernetes 集群实现分布式应用的离线交付。本文将详细介绍通过 Sealos 在本地部署服务器上 kubernetes 集群的方法。

Sealos 项目地址:GitHub - labring/sealos

Sealos 官网地址:Sealos

Sealos 帮助文档:What is Sealos?

Sealos 公有云地址:https://cloud.sealos.io


二、Sealos 下载、安装
# AMD架构
wget https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz
tar -xzf sealos_4.3.7_linux_amd64.tar.gz -C /usr/bin
chmod +x /usr/bin/sealos

# ARM架构
wget https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_arm64.tar.gz
tar -xzf sealos_4.3.7_linux_arm64.tar.gz -C /usr/bin
chmod +x /usr/bin/sealos

# 查看版本信息
sealos version


三、Sealos 部署 Kubernetes 集群

1、准备工作

# 关闭防火墙
systemctl disable --now firewalld
 
# 关闭 selinxu
setenforce 0
sed -i ’s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
 
# 清空 iptables 规则
iptables -F && iptables -t nat -F
 
# 禁用 swap 分区
swapoff -a
sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab
 
# /etc/hosts 文件添加条目(需要保证主机的 hostname 唯一)
172.16.200.166  master
172.16.200.167  node
 
# 配置主机间 SSH 免密(详细过程略)

2、部署集群

  • 方式一:sealos run
sealos run labring/kubernetes:v1.26.0 labring/calico:v3.24.1 --masters 172.16.200.166 --nodes 172.16.200.167

🔔 提示一
# labring/kubernetes:v1.26.0:指定集群镜像名称,可以通过 https://explore.ggcr.dev 查询
# labring/calico:v3.24.1:指定 Calico 镜像名称
# --masters:指定集群 Master 节点的 IP 地址,多个 IP 通过 ,进行分隔
# --nodes:指定集群 Node 节点的 IP 地址,多个 IP 通过 ,进行分隔

🔔 提示二
# Nginx-Ingress-Controller 等组件需要自行安装
  • 方式二:sealos apply
sealos apply -f Clusterfile.yaml

🔔 提示
可以通过 clusterfile.yaml 自定义部署配置,如 kubeadm 配置、Docker 配置等

clusterfile.yaml 自定义配置示例

🔔 定义集群信息
---
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
  name: mycluster
spec:
  image:
    - labring/kubernetes:v1.26.0
    - labring/calico:v3.24.1
  ssh:
    user: root
    pk: /root/.ssh/id_rsa
    passwd: xxxx
    port: 22
  hosts:
    - ips:
        - 172.16.200.166:22
      roles:
        - master
        - amd64
    - ips:
        - 172.16.200.167:22
      roles:
        - node
        - amd64

🔔 定义 Calico 配置
---
apiVersion: apps.sealos.io/v1beta1
kind: Config
metadata:
  name: calico
spec:
  path: charts/calico/values.yaml
  strategy: merge
  data: |
    installation:
      enabled: true
      kubernetesProvider: ""
      calicoNetwork:
        ipPools:
        - blockSize: 26
          cidr: 10.160.0.0/12
          encapsulation: IPIP
          natOutgoing: Enabled
          nodeSelector: all()
        nodeAddressAutodetectionV4:
          interface: "eth.*|en.*"

3、实测结果

  • Sealos 部署 Kubernetes 集群同样高效
  • Sealos 支持的操作系统很广泛,并同时支持 AMD 64 架构和 ARM 64 架构


四、Sealos 常用命令
sealos --help

sealos is a Kubernetes distribution, a unified OS to manage cloud native applications.

Cluster Management Commands:
  apply         Run cloud images within a kubernetes cluster with Clusterfile
  cert          update Kubernetes API server's cert
  run           Run cloud native applications with ease, with or without a existing cluster
  reset         Reset all, everything in the cluster
  status        state of sealos

Node Management Commands:
  add           Add nodes into cluster
  delete        Remove nodes from cluster

Remote Operation Commands:
  exec          Execute shell command or script on specified nodes
  scp           Copy file to remote on specified nodes

Experimental Commands:
  registry      registry related

Container and Image Commands:
  build         Build an image using instructions in a Containerfile or Kubefile
  create        Create a cluster without running the CMD, for inspecting image
  diff          Inspect changes to the object's file systems
  inspect       Inspect the configuration of a container or image
  images        List images in local storage
  load          Load image(s) from archive file
  login         Login to a container registry
  logout        Logout of a container registry
  manifest      Manipulate manifest lists and image indexes
  merge         merge multiple images into one
  pull          Pull images from the specified location
  push          Push an image to a specified destination
  rmi           Remove one or more images from local storage
  save          Save image into archive file
  tag           Add an additional name to a local image

Other Commands:
  completion    Generate the autocompletion script for the specified shell
  docs          generate API reference
  env           prints out all the environment information in use by sealos
  gen           generate a Clusterfile with all default settings
  version       Print version info

Use "sealos <command> --help" for more information about a given command.
# 查看集群镜像
sealos images

# 添加 Master 节点
sealos add --masters 172.16.200.168

# 删除 Master 节点
sealos delete --masters 172.16.200.168

# 添加 Node 节点
sealos add --nodes 172.16.200.168

# 删除 Node 节点
sealos delete --nodes 172.16.200.168

# 在集群节点上批量执行 shell 命令
sealos exec "cat /etc/hosts"

# 查看集群统计信息
sealos status

# 删除集群
sealos reset --force


五、Sealos 构建集群镜像(ClusterImage)

1、编写 kubefile 文件

Kubefile 与 Dockerfile 极其相似,由连续列出的各种命令(指令)和参数组成,用于在基础 ClusterImage 上自动执行指令,构建新的 ClusterImage。

  • Docker 使用 Dockerfile 构建 Docker 镜像,并使用 Docker 镜像运行 Docker 容器,解决了单主机应用程序的几乎所有交付问题
  • Sealos 使用 Kubefile 构建 ClusterImage,并使用 ClusterImage 运行 Kubernetes 集群,将交付概念扩展到集群级别,并且主要关注分布式应用程序的视角
FROM labring/kubernetes:v1.26.0

COPY daemon.json etc/

2、构建集群镜像

sealos build -t labring/kubernetes:v1.26.0-fix -f kubefile .


六、Sealos 与 Sealer 对比

Sealos 和 Sealer 都是开源项目,旨在简化 Kubernetes 集群的部署和管理,使用方法和相关命令也极为相似,但是笔者在接触过后感觉 Sealer 在 Kubernetes 集群部署上明显更加高效易用。

Sealos 的主要特点包括:

  • 开箱即用:提供预配置的 Kubernetes 环境,无需额外配置
  • 易于管理:提供统一的管理工具和控制台
  • 安全可靠:提供安全加固和增强功能
  • 可扩展性:支持集群扩展和缩减

Sealer 的主要特点包括:

  • 简单易用:无需编写复杂命令
  • 快速部署:支持一键部署 Kubernetes 集群
  • 高可用性:提供高可用集群部署方案
  • 可扩展性:支持集群扩展和缩减
Sealossealer
定位Kubernetes 发行版Kubernetes 部署工具
用户企业、组织运维人员、开发人员
特点开箱即用、易于管理、安全可靠简单易用、快速部署

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

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

相关文章

vue2人力资源项目9权限管理

页面搭建 <template><div class"container"><div class"app-container"><el-button size"mini" type"primary">添加权限</el-button><el-table-column label"名称" /><el-table-co…

反序列化漏洞【1】

1.不安全的反序列化漏洞介绍 序列化&#xff1a;将对象转换成字符串&#xff0c;目的是方便传输&#xff0c;关键词serialize a代表数组&#xff0c;数组里有三个元素&#xff0c;第一个元素下标为0&#xff0c;长度为7&#xff0c;内容为porsche&#xff1b;第二个元素下标为1…

rk3399 shell 测试串口 sttf

问题&#xff1a; 使用 ubunut shell 来对串口进行测试。 板卡上使用的是 USB 转串口&#xff0c; 使用了一片ch340 原理图如下&#xff1a; 再 ubuntu shell 的测试命令。 这里首先要 insmod 一下 ch340 的驱动&#xff0c;默认会有 /usr/sbin/ch34x.ko&#xff0c; 如果没…

创新指南 | 企业AI战略实施方案探讨(下):如何基于AI重构业务流程并落地实施

人工智能&#xff08;AI&#xff09;的浪潮已经席卷全球&#xff0c;成为推动现代企业发展的强大动力。AI技术不仅提升了企业的运营效率&#xff0c;还催生了新的商业模式和市场机会。本文将深入探讨AI的革新性应用案例&#xff0c;并提供一套企业落地AI的具体实施方案&#xf…

springboot3.0+继续使用springboot2.0配置会显示 `无法自动装配,找不到对应的Bean`解决方法

在 Spring Boot 3.0 中&#xff0c;Spring 团队对自动配置机制进行了重大变更&#xff0c;特别是 spring.factories 文件。spring.factories 文件已被 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件所取代。在springboot3.0继续使用…

SQL使用Groupby分组后,选择每个分组某个值最大的那一行

思路是&#xff1a; 先定位分组后某个值最大的值是多少根据值去全表匹配&#xff0c;得到对应的行 比如有个表&#xff1a; SELECT * FROM my_table按照sku_id分组后&#xff0c;选择record_date最大的那一行的全部值&#xff0c;先分组&#xff1a; SELECT sku_id,max(rec…

四川易点慧电商抖音小店运营秘籍引领电商新潮流

在当今数字化浪潮中&#xff0c;抖音小店作为电商领域的一匹黑马&#xff0c;以其独特的社交属性和庞大的用户基础&#xff0c;正迅速崛起为新的销售增长点。四川易点慧电子商务有限公司&#xff0c;作为电商行业的佼佼者&#xff0c;深谙抖音小店运营的精髓&#xff0c;专业助…

Pytest测试实战

Pytest测试框架是动态语言Python专用的测试框架&#xff0c;使用起来非常的简单&#xff0c;这主要得易于它的设计&#xff0c;Pytest测试框架具备强大的功能&#xff0c;丰富的第三方插件&#xff0c;以及可扩展性好&#xff0c;可以很好的和unittest测试框架能够结合起来在项…

手机如何下载短视频到本地:成都鼎茂宏升文化传媒公

手机如何下载短视频到本地 ​随着移动互联网的迅猛发展&#xff0c;短视频已经成为人们生活中不可或缺的一部分。从娱乐、学习到社交&#xff0c;短视频以其短小精悍、内容丰富的特点&#xff0c;吸引了大量用户的关注。然而&#xff0c;有时我们可能希望将喜欢的短视频保存到…

计算机网络-DHCPv6基础

前面我们学习了IPv6地址可以通过手动配置、无状态自动配置、DHCPv6配置&#xff0c;这里简单学习下DHCPv6的知识点。 一、DHCPv6概述 DHCPv6 (Dynamic Host Configuration Protocol for IPv6) 是一种网络协议&#xff0c;设计用于IPv6网络环境中自动为网络设备分配必要的配置信…

LiveGBS流媒体平台GB/T28181用户手册-服务器概览:通道信息、负载信息、CPU使用、存储使用、带宽使用(Mbps)、内存使用

LiveGBS用户手册-服务器概览&#xff1a;通道信息、负载信息、CPU使用、存储使用、带宽使用&#xff08;Mbps&#xff09;、内存使用 1、服务器概览1.1、通道信息1.2、负载信息1.2.1、信息说明1.2.2、会话列表 1.3、CPU使用1.4、存储使用1.5、带宽使用&#xff08;Mbps&#xf…

理解 Python 中的 `super()` 与 `__init__()` 方法

在 Python 的面向对象编程中&#xff0c;super() 函数和 __init__() 方法是两个非常重要的概念。它们在类的继承和初始化过程中扮演着关键的角色。本文将深入探讨这两个概念的工作原理&#xff0c;并通过示例代码来展示它们的使用。 基本原理 __init__() 方法 __init__() 是…

数据结构-栈(带图)

目录 栈的概念 画图理解栈 栈的实现 fun.h fun.c main.c 栈的概念 栈&#xff08;Stack&#xff09;是一种基本的数据结构&#xff0c;其特点是只允许在同一端进行插入和删除操作&#xff0c;这一端被称为栈顶。遵循后进先出&#xff08;Last In, First Out, LIFO&#…

通俗易懂的策略模式讲解

什么是策略模式&#xff1f; 策略模式是一种设计模式&#xff0c;它允许你定义一系列的算法&#xff08;策略&#xff09;&#xff0c;并将每个算法封装成一个对象。这样&#xff0c;你可以轻松地切换不同的算法&#xff0c;而不需要改变原始代码。 一个简单的例子 假设你是…

OpenHarmony标准设备应用开发(二)——布局、动画与音乐

本章是 OpenHarmony 标准设备应用开发的第二篇文章。我们通过知识体系新开发的几个基于 OpenHarmony3.1 Beta 标准系统的样例&#xff1a;分布式音乐播放、传炸弹、购物车等样例&#xff0c;分别介绍下音乐播放、显示动画、动画转场&#xff08;页面间转场&#xff09;三个进阶…

Qwen学习笔记2:Qwen模型基于ReAct原理实现function calling

前言 这也是一篇笔记&#xff0c;再探索一下Qwen模型的function calling功能。 Qwen1.8B模型能够进行function calling功能吗&#xff1f; 我们使用之前的reason_prompt模板进行测试&#xff1a; PROMPT_REACT """ Use the following format:Question: the…

AWS RDS ElasticCache 监控可观测最佳实践

在当今的电子商务时代&#xff0c;一个高效、稳定的电商平台对于保持竞争力至关重要。数据库作为电商平台的核心支撑&#xff0c;其性能直接影响到用户体验和业务流畅度。本文将深入探讨如何在电商场景下通过观测云对亚马逊云科技 RDS&#xff08;MySQL&#xff09; 和 Elastic…

python怎么安装matplotlib

1、登陆官方网址“https://pypi.org/project/matplotlib/#description”&#xff0c;下载安装包。 2、选择合适的安装包&#xff0c;下载下来。 3、将安装包放置到python交互命令窗口的当前目录下。 4、打开windows的命令行窗口&#xff0c;通过"pip install"这个命令…

八分钟“手撕”包装类与泛型

目录 一、包装类 基本数据类型和对应的包装类 装箱和拆箱 【思考题】 二、泛型 什么是泛型 引出泛型 怎么定义泛型和使用泛型 裸类型(Raw Type) 擦除机制 额外&#xff0c;注意下列代码&#xff1a; 泛型的上界 泛型的接口应用 泛型方法 一、包装类 简单来…

OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL

市面上关于终端&#xff08;手机&#xff09;操作系统在 3GPP 协议开发的内容太少了&#xff0c;即使 Android 相关的学习文档都很少&#xff0c;Android 协议开发书籍我是没有见过的。可能是市场需求的缘故吧&#xff0c;现在市场上还是前后端软件开发从业人员最多&#xff0c…