使用 Sealos 在离线环境中光速安装 K8s 集群

作者:尹珉。Sealos 开源社区 Ambassador,云原生爱好者。

当容器化交付遇上离线环境

在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段。在可以访问公网的环境下,容器化交付不仅能够提高软件开发和交付的效率,还能够帮助企业实现快速迭代和持续交付。

然而,在离线环境中,容器化交付面临着诸多挑战,包括软件包和镜像的准备困难、配置繁琐、部署时间长等。在本文中,我们将以运维的角度去探讨基于离线环境下使用容器化交付的痛点,提出一些解决方案以帮助企业在离线环境中实现高效的容器化交付。

业务场景

我司主要面向政企客户,所交付的产品必须是部署在内网中。作为运维负责人,一直苦恼于如何在客户离线环境中以容器化的方式交付业务系统。政企客户 IDC 机房的环境特殊性,导致目前运维同学在使用容器化交付时效率不高,客户满意度不高的情况,为了解决这个问题,我们需要找到一个能够在离线环境中快速部署和管理 Kubernetes 集群的工具。

在离线环境中用容器化交付存在以下常见痛点

1. 学习和理解成本高

Kubernetes 是一个复杂的系统,需要进行一定的学习和理解才能熟练使用。这对于不是很精通这项技术的运维工程师来说是一个很大的难点。

2. 镜像管理

在离线环境中,无法直接从互联网下载 Kubernetes 的镜像和依赖项。因此需要将所需的镜像和依赖项提前下载到本地,并将其导入到 Kubernetes 集群中。这可能需要花费一定的时间和精力。

3. 环境配置

在离线环境中,需要手动配置 Kubernetes 所需的所有组件和依赖项,例如 etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy 等等。这需要在部署时有较高的运维经验来对环境初始化问题进行排查和解决。

4. 网络设置

Kubernetes 集群需要正确配置网络设置,以便容器之间可以互相通信。在离线环境中,网络设置可能会更加复杂,需要仔细设置才能确保正常运行。

基于以上常见的痛点,我们可以看出,在离线环境中用容器化技术进行交付还是存在较高的学习门槛和配置难度,达不到开箱即用闪电交付的效果。

解决方案

1. 使用 Sealos 实现一键打包闪电交付?

Sealos 可以像 Docker 那样把整个集群制作成镜像,实现分布式软件的构建、交付、运行。

Sealos 项目地址:https://github.com/labring/sealos

2. 应用场景

  • Kubernetes 集群安装
  • Kubernetes 集群、数据库、中间件、SaaS 应用整体打包,一键交付
  • 离线交付,多架构支持,国产化支持
  • 各种在 Kubernetes 上编排的分布式应用交付

3.部署架构图

4. 编写一个和 Dockerfile 很类似的 Kubefile,就可以构建一个集群镜像,使用 Clusterfile 去运行一个集群

实战部署

1. 下载 Sealos 二进制文件

$ wget https://github.com/labring/sealos/releases/download/v4.1.4/sealos_4.1.4_linux_amd64.tar.gz \&& tar zxvf sealos_4.1.4_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin

2. 编写 kubefile 并构建集群镜像

说明:此处基于 Kubernetes1.24.0 封装含有 Calico 的镜像作为演示,实际的业务镜像也可以基于此方式进行封装即可。

FROM labring/kubernetes:v1.24.0-amd64
COPY cni ./cni
CMD ["kubectl apply -f cni/tigera-operator.yaml","kubectl apply -f cni/custom-resources.yaml"]
$ sealos build -t registry.cn-hangzhou.aliyuncs.com/flowyun/kubernetes-calico:latest -f Kubefile .

3. 保存构建出的镜像

$ sealos save -o Kubernetes.tar registry.cn-hangzhou.aliyuncs.com/demo/Kubernetes-calico:latest

4. 拷贝 sealos 二进制文件和集群镜像到离线环境

$ tar zxvf sealos_4.1.4_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
$ sealos load -i Kubernetes.tar

5. 查看集群镜像是否导入成功

$ sealos images

6. 安装集群

说明:以单机安装为例,集群安装同理。

$ sealos run registry.cn-hangzhou.aliyuncs.com/demo/Kubernetes-calico:latest --single

7. 验证集群

$ kubectl get pod -A

8.访问业务系统验证

效率对比

部署服务名称传统交付方式部署耗时Sealos 闪电交付方式部署耗时
MariaDB数据库1’hour1’min
中间件(redis、nacos)1’hour30’min
Kubernetes搭建4’hour
Kubernetes组件配置调试2’hour
业务系统服务2’hour
12’hour/人31’min/人

七、总结

  1. Sealos 可以快速部署和升级 Kubernetes 集群。由于 Sealos 使用离线包来提供软件,因此不需要依赖 Internet 连接,可以在离线环境下快速部署和升级集群,提高了部署效率。
  2. Sealos 在离线环境下运行非常稳定和可靠。由于不受外部网络波动等影响,Sealos 的设计使得它在离线环境下运行时非常稳定和可靠,提高了可靠性。
  3. Sealos 使用离线包,不需要从 Internet 下载软件,因此不易受到网络攻击和恶意软件的影响,提高了安全性。
  4. Sealos 使用标准的 Kubernetes YAML 文件来创建集群,这意味着用户可以根据自己的需求进行定制和扩展,从而提高了灵活性。
  5. Sealos 使用简单,不需要复杂的配置和命令,只需按照指南进行操作即可,降低了学习和使用的门槛,提高了易用性。

Sealos 是一款功能强大、易于使用的工具,可以帮助企业在离线环境中实现高效的容器化交付。Sealos 可以快速部署和升级 Kubernetes 集群,在离线环境下运行非常稳定和可靠,使用离线包,不需要从 Internet 下载软件,因此不易受到网络攻击和恶意软件的影响,使用标准的 Kubernetes YAML 文件来创建集群,降低了学习和使用的门槛,提高了易用性。

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

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

相关文章

国标EHOME视频平台EasyCVR视频融合平台助力地下停车场安全

EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区…

[keil] uv编译分析

假设Keil安装路径: C:\Keil_v5\ 假设工程在 d:\HELLO , 工程Targets名:Simulator [在Manage Project Items中可修改] 如下指令为:Build(F7) C:\Keil_v5\UV4\UV4.exe -b d:\HELLO\Hello.uvproj -j0 -t Simulator -o d:\HELLO\uv4.log 如下指令为:Rebuild(CtrlAltF7) C:\Kei…

乐鑫 ESP-Mesh-Lite:轻松覆盖更大范围,连接更多设备

乐鑫科技 (688018.SH) 基于 Wi-Fi 协议推出了 Mesh 组网方案 ESP-Mesh-Lite,支持更多设备在更大范围内轻松联网。这一创新性的 Wi-Fi Mesh 技术通过构建灵活、可靠的物联网组网方案,使用户可以享受到快速、稳定且安全的 Wi-Fi 覆盖,不再受到设…

Matlab 如何选择窗函数和 FFT 的长度

Matlab 如何选择窗函数和 FFT 的长度 1、常用的四种窗函数 对于实际信号序列,如何选取窗函数呢?一般来说,选择第一旁瓣衰减大,旁瓣峰值衰减快的窗函数有利于緩解截断过程中产生的頻泄漏问题。但具有这两个特性的窗函数&#xff0…

Xshell只能打开一个会话、左边栏消失不见、高级设置在哪儿、快捷键设置解决

Xshell只能打开一个会话、左边会话栏消失不见、高级设置在哪儿解决 1.问题: xshell会话(窗口)上方切换栏不见了的处理办法 解决方法:ctrl shift t 2.问题: 左边会话管理器不见了 解决方法: 3.问题…

jenkins创建用户

一.背景 之前用了很多次,现在转到甲方爸爸的岗位,要培养大学毕业生,才发现好记性不如烂笔头。给年轻人写出来。 二.创建用户的过程 1.用户管理界面入口 Dashboard>Manage Jenkins>Jenkins own user database 2.点击右边的按钮“Cre…

Docker部署pyspider webui显示页面太小的解决方法

进入docker容器,输入以下指令来获取pyspider的位置 python -c "import pyspider;print(pyspider)"如图所示 然后进入到 /opt/pyspider/pyspider/webui/static 修改debug.min.css vi debug.min.css使用vi的查找命令,然后回车。即可找到该样…

OPPO/真我手机ColorOS13系统解账户锁-移除手机密码图案锁方法

在搞机之前,请确定自己的手机不是非法获取,本文只讲叙ColorOS13系统解锁方法,仅为个人测试研究出来的经验,未对官方系统进行任何修改。只推荐专业维修师傅从维修的角度进行解锁,不推荐个人用户对非自己的手机进行非法破…

CSS整理

目录 CSS中的& 弹性(display:flex)布局 flex的属性 justify-content align-items flex:1 flex属性 flex-grow:项目的放大比例 flex-shrink:收缩 flex-basis:初始值,项目占据的主轴空间&…

Jmeter系列-阶梯加压线程组Stepping Thread Group详解(6)

前言 tepping Thread Group是第一个自定义线程组但,随着版本的迭代,已经有更好的线程组代替Stepping Thread Group了【Concurrency Thread Group】,所以说Stepping Thread Group已经是过去式了,但还是介绍一下 Stepping Thread …

Nougat:一种用于科学文档OCR的Transformer 模型

随着人工智能领域的不断进步,其子领域,包括自然语言处理,自然语言生成,计算机视觉等,由于其广泛的用例而迅速获得了大量的普及。光学字符识别(OCR)是计算机视觉中一个成熟且被广泛研究的领域。它有许多用途&#xff0c…

【计算机基础知识9】前端设计模式与常见类型

目录 一、前言 二、设计模式的基本概念和原则 三、创建型设计模式 四、结构型设计模式 五、行为型设计模式 六、MVC和MVVM框架中的设计模式 七、实际应用案例分析 一、前言 在软件开发领域,设计模式是一种解决常见问题的最佳实践,它可以帮助开发…

算法刷题记录-双指针/滑动窗口(LeetCode)

809. Expressive Words 思路 根据题目描述,我们可以知道,如果要将某个单词定义为可扩张(stretchy),需要满足如下两个条件: 所以,我们在实现的时候,可以通过两个指针p1和p2&#x…

小白备战大厂算法笔试(四)——哈希表

文章目录 哈希表常用操作简单实现冲突与扩容链式地址开放寻址线性探测多次哈希 哈希表 哈希表,又称散列表,其通过建立键 key 与值 value 之间的映射,实现高效的元素查询。具体而言,我们向哈希表输入一个键 key ,则可以…

excel功能区(ribbonx)编程笔记--3 editbox与状态按钮togglebutton控件

从上次发布编程笔记2后,反响还不错,短短一个星期,访问量就达到了1500,说明虽然这个只是有写古老,但是再实际的工作中,excel的编程功能还是有或多人关注的,还不是很小众,比如我就是平时的统计就是使用excle,为了更好的实现自动统计,会添加部分vba代码到里面,就像我的…

Server - PyTorch BFloat16 “TypeError: Got unsupported ScalarType BFloat16“ 解决方案

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132665807 BFloat16 类型是 16 位的浮点数格式,可以用来加速深度学习的计算和存储。BFloat16 类型的特点是保留 32 位浮点数&#xff…

Activiti7工作流引擎:在线流程编辑器Activiti Modoler5.x

一&#xff1a;简介 有的时候我们的流程图需要业务人员自己绘制&#xff0c;然后使用自己绘制的流程图&#xff0c;此时就需要一个在线流程图编辑器需要集成到我们的web系统中。Activiti Modoler是Activiti官方推出的在线流程编辑器。 二&#xff1a;pom.xml <dependency…

07-Spring Cloud

1、如何设计一个注册中心&#xff1f; 高可用&#xff1a;通过集群的方式 高并发&#xff1a;减少响应时间、提高吞吐量 并发用户数等&#xff0c;通过增加服务器性能、 扩展服务实例的方式 高性能&#xff1a;程序处理速度 考虑 数据存储结构、通信机制、集群同步。 集群…

使用内网负载机(Linux)执行Jmeter性能测试

一、背景 ​ 在我们工作中有时候会需要使用客户提供的内网负载机进行性能测试&#xff0c;一般在什么情况下我们需要要求客户提供内网负载机进行性能测试呢&#xff1f; 遇到公网环境下性能测试达到了带宽瓶颈。那么这时&#xff0c;我们就需要考虑在内网环境负载机下来执行我们…

【数据结构】树的基础入门

文章目录 什么是树树的常见术语树的表示树的应用 什么是树 相信大家刚学数据结构的时候最先接触的就是顺序表,栈,队列等线性结构. 而树则是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合 非线性 体现在它是由n个有限结点(可以是零个结点)组成一个具有层次关…