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

这篇具有很好参考价值的文章主要介绍了使用 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.部署架构图

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

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

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

实战部署

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 .

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

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

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

8.访问业务系统验证

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

效率对比

部署服务名称 传统交付方式部署耗时 Sealos 闪电交付方式部署耗时
MariaDB数据库 1'hour 1'min
中间件(redis、nacos) 1'hour 30'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 文件来创建集群,降低了学习和使用的门槛,提高了易用性。文章来源地址https://www.toymoban.com/news/detail-693329.html

到了这里,关于使用 Sealos 在离线环境中光速安装 K8s 集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S容器内安装cur/telnet命令(Alpine Linux离线环境安装curl/telnet或其他工具)

    需求: 微服务的基础是镜像,通常在最小化的Linux镜像中安装jdk,然后运行编译好的java程序。将镜像运行到K8S上就得到了微服务Pod,Pod通常使用安装K8S时配置的私有网段,与宿主机不同。 很多时候需要排查从Pod网段内访问K8S宿主机网段、其它外部Linux网段或域名接口等等,需

    2024年02月04日
    浏览(39)
  • 离线安装4:kubernetes(k8s)离线安装

    本文内容以语雀为准 本文以 CentOS 7.9 最小化安装、kubernetes(k8s)1.25.3 为例(其他 CentOS、k8s 版本类似),离线包(免费下载):https://download.csdn.net/download/qq_32596527/87127488。 如果没有在有网的环境下安装 kubernetes(k8s)成功过,也不影响本文离线安装的阅读与学习。 yum 包准

    2024年02月04日
    浏览(48)
  • Flink K8S Operator 离线安装

    2.1 添加helm仓库 2.2 安装 chart 如果报如下错误: 则需要添加 --set webhook.create=false 参数

    2024年03月16日
    浏览(35)
  • K8s集群离线安装-kubeadm-详细篇

    1、部署k8s的两种方式:kubeadm 和二进制源码安装 2、环境准备 名称 IP master 192.168.32.128 node1 192.168.32.129 node2 192.168.32.130 repo 192.168.32.131 3、下载安装包至本地 4、将安装包拷贝至本地并制作yum源 ## 5、初始化配置 5.1、安装环境准备:下面的操作需要在所有的节点上执行。 5.2、安

    2024年02月02日
    浏览(43)
  • 麒麟 V10 离线 安装 k8s 和kuboard

    目录 安装文件准备 主机准备 主机配置 修改主机名(三个节点分别执行) 配置hosts(所有节点) 关闭防火墙、selinux、swap、dnsmasq(所有节点) 安装依赖包(所有节点) 系统参数设置(所有节点) 时间同步(所有节点) 配置ipvs功能(所有节点) 安装docker(所有节点) 卸载老版本 安装

    2024年04月13日
    浏览(67)
  • kubekey 离线安装harbor、k8s、kubesphere

    目录 参考文献 了解kubekey  英文和中文 前提条件 部署准备 下载kubukey 离线包配置和制作 配置离线包 制作离线包 离线安装集群 复制KubeKey 和制品 artifact到离线机器 创建初始换、安装配置文件  安装镜像仓库harbor 初始化harbor 项目 修改配置文件 安装k8s集群和kubesphere 手动安装

    2024年04月11日
    浏览(51)
  • kubernetes(K8s)-sealos私有化部署完整指南

    所有主机均要配置主机名、IP地址、主机名与IP地址解析。 使用下面脚本可以一键部署sealos依赖,在部署sealos依赖组件前,请先部署负载均衡器metallb。 或 自定义域名及域名证书 使用chrome访问时,如果证书无法验证通过,会报不安全,可通过为chrome设置–ignore-certificate-errors,

    2024年02月04日
    浏览(53)
  • k8s1.27.3 离线安装calico 3.26.1

    相信很多朋友在学习安装k8s的过程中,在安装到calico网络组件的时候或多或少都会因为国内外网络的问题一直卡在pull镜像的阶段无法完成安装,本篇文章提供一种离线安装calico的方法供大家交流学习。 首先去github全局搜索calico,点击进入项目,在Releases下下载自己需要的ca

    2024年02月07日
    浏览(34)
  • K8S系列文章之 离线安装自动化工具Ansible

    参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具,常被IT界的小伙伴们用于自动化的场景,多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式,学习起来也是比较容易,Ansible并不需要也没有agent,只有一个控制端。该

    2024年02月14日
    浏览(49)
  • 使用k8s helm离线部署spark-operator(私有仓库)

    将制作的镜像上传到目的机器中,加载镜像 打标签其中xxxx.xxx/xx/为私有仓库的地址 将制作好的镜像推到私有仓库中 Github地址: 下载上传到机器中 解压spark-operator-1.1.27.tgz,修改values.yaml内容,修改副本数量为3、镜像源、利用伪亲和性使得三个副本在三台机器上。 修改Chart

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包