Sealos 云操作系统私有化部署教程

Sealos 私有云已经正式发布了,它为企业用云提供了一种革命性的新方案。Sealos 的核心优势在于,它允许企业在自己的机房中一键构建一个功能与 Sealos 公有云完全相同的私有云。这意味着企业可以在自己的控制和安全范围内,享受到公有云所提供的灵活性和扩展性。这对于需要高度数据安全和个性化服务的企业来说,具有极大的吸引力。

而且 Sealos 私有云的维护成本极低,只需要半个人力资源即可。极大地减轻了企业的运营负担,特别是对于那些没有大量 IT 支持的中小型企业来说尤为重要。

本文我们将详细介绍如何在本地环境中一键部署 Sealos 私有云。

大规模集群以及企业生产环境强烈建议使用 Sealos 私有云的企业版或者定制版。

准备工作

服务器

以下是一些基本的要求:

  • 每个集群节点应该有不同的主机名。
  • 所有节点的时间需要同步。
  • 建议使用干净的操作系统来创建集群。不要自己装 Docker!
  • 支持大多数 Linux 发行版,例如:Ubuntu、Debian、CentOS、Rocky linux。
  • 系统内核版本在 5.4 及以上

推荐使用 Ubuntu 22.04 LTS 操作系统,内核版本在 5.4 及以上,配置如下:

操作系统内核版本CPU内存存储MastersNodes
Ubuntu 22.04 LTS≥ 5.44C8GB100GB奇数台任意

Kubernetes 和 Sealos Cloud 的系统组件在每个 Master 节点上大约需要 2 核心(2c)和 2GB 内存(2g),在每个 Node 节点上则需要大约 1 核心(1c)和 1GB 内存(1g),请确保集群中每个节点都有足够的计算资源以支持系统组件的运行。

网络

  • 所有节点之间网络互通;
  • 需要在 Kubernetes 集群的第一个 Master 节点上执行脚本,目前集群外的节点不支持集群安装
  • 所有节点之间可以互相通信。

域名

  • 需要一个域名用于访问 Sealos 及相关服务;
  • 如果您没有域名,可以使用 nip.io 提供的免费域名服务。

证书

Sealos 需要使用证书来保证通信安全,默认在您不提供证书的情况下我们会使用 cert-manager 来自动签发证书。

如果您能提供证书,证书需要解析下列域名 (假设您提供的域名为:cloud.example.io):

  • *.cloud.example.io
  • cloud.example.io

安装步骤

为了便于部署,我们提供了一个一键安装脚本。该脚本可以从零开始部署 Sealos 集群,也可以在已有的 Kubernetes 集群上部署 Sealos 集群(在已有集群上执行时请谨慎操作)。

该脚本只支持在 “使用 Sealos 安装的 Kubernetes 集群” 上部署 Sealos 集群,暂不支持其他方式部署的 Kubernetes。

关于如何使用 Sealos 部署 Kubernetes 集群,可以参考:安装 Kubernetes 集群,支持 Docker Hub 中的几乎所有 Kubernetes 版本(暂不支持 1.28 及以上版本)。

如果您的机器还没有安装过 Kubernetes,建议直接使用该脚本连同 Kubernetes 和 Sealos 集群一起安装。

根据您的域名情况,可以分为以下几种安装方式:

1、无公网域名,也不想自定义域名

如果您没有公网域名,也不需要自定义域名,可以选择直接使用 nip.io 提供的免费域名服务。nip.io 是一个免费的通配符 DNS 服务,它可以将动态分配的 IP 地址映射到一个固定的子域名上,特别适合用于本地开发环境。具体的工作原理为:

您可以使用任何 IP 地址作为 nip.io 子域名的一部分,而 nip.io 会将它解析回相应的 IP 地址。例如,如果你有一个内网 IP 地址 192.168.1.10,你可以使用 192.168.1.10.nip.io 作为域名,所有向这个域名发送的请求都会被解析到 192.168.1.10 这个 IP 地址上。这样就无需修改本地 hosts 文件,也不需要搭建内网 DNS 服务,直接通过这个域名就能访问内网服务了。

使用 nip.io 作为 Sealos 的域名非常简单,只需在第一个 Master 节点上执行以下命令,并根据提示输入参数:

$ curl -sfL https://gh-proxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh \--image-registry=registry.cn-shanghai.aliyuncs.com --zh \--proxy-prefix=https://gh-proxy.com

当需要你输入 Sealos Cloud 域名时,你需要输入这种格式的域名:[ip].nip.io,其中 [ip] 是你的 Master 节点 IP。

安装完成后,终端会输出 Sealos 访问域名以及用户名和密码,例如:

Sealos cloud login info:
Cloud Version: latest
URL: https://10.214.210.102.nip.io
admin Username: admin
admin Password: sealos2023

2、有公网域名,想公网访问

如果你有自己的公网域名,并且想通过公网访问 Sealos,那你就需要准备好公网受信任的 SSL/TLS 证书。你可以通过 acme.sh 等工具自动签发证书,也可以从域名提供商处下载免费证书或者购买商业证书。

准备好域名证书后,需要将证书放到第一个 Master 节点的某个目录中,例如 /root/certs/

您还需要在域名服务商处添加一条该域名的 A 记录,地址解析到第一个 Master 节点的公网 IP 地址。同时还需要添加一条泛解析记录,将该域名的子域名也解析到第一个 Master 节点的公网 IP 地址。

例如 (假设你的域名是 cloud.example.io,假设你的 Master 节点内网地址是 192.168.1.10):

  cloud.example.io   A   192.168.1.1*.cloud.example.io   A   192.168.1.1

然后在第一个 Master 节点上执行以下命令,并根据提示输入参数:```bash
$ curl -sfL https://gh-proxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh \--image-registry=registry.cn-shanghai.aliyuncs.com --zh \--proxy-prefix=https://gh-proxy.com \--cloud-domain=<your_domain> \--cert-path=<your_crt> \--key-path=<your_key>
  • 需要替换成你自己的公网域名。
  • 需要替换成你的证书位置,通常是 .crt.pem 文件。例如: /root/certs/example.crt
  • 需要替换成你的私钥位置,通常是 .key.pem 文件。例如: /root/certs/example.key

3、有公网域名,想内网访问

如果您有自己的公网域名,但是只有内网 IP,或者只想在内网访问 Sealos,那您只需要在域名服务商处添加一条该域名的 A 记录,地址解析到第一个 Master 节点的内网 IP 地址。同时还需要添加一条泛解析记录,将该域名的子域名也解析到第一个 Master 节点的内网 IP 地址。

例如 (假设你的域名是 cloud.example.io,假设你的 Master 节点内网地址是 192.168.1.10):

cloud.example.io   A   192.168.1.1
*.cloud.example.io   A   192.168.1.1

然后在第一个 Master 节点上执行以下命令,并根据提示输入参数:

$ curl -sfL https://gh-proxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh \--image-registry=registry.cn-shanghai.aliyuncs.com --zh \--proxy-prefix=https://gh-proxy.com \--cloud-domain=<your_domain>

其中 需要替换成你自己的公网域名。

安装过程中 Sealos 会使用 cert-manager 来自签名证书。

4、无公网域名,但想自定义域名

如果您没有公网域名,但是需要自定义域名,那么就需要在内网自建 DNS,然后将自定义域名解析到第一个 Master 节点的内网 IP 地址。

假设您的第一个 Master 节点的内网 IP 地址为 192.168.1.10。假设您的域名为 cloud.example.io

可以考虑使用 CoreDNS 来自建 DNS 服务,参考配置:

(global_cache) {cache {# [5, 60]success 65536 3600 300# [1, 10]denial 8192 600 60prefetch 1 60m 10%}
}.:53 {errorshealthreadyimport global_cachetemplate IN A cloud.example.io {answer "{{ .Name }} 60 IN A 192.168.1.10"fallthrough}forward . 223.5.5.5logloopreload 6s
}

这样不管您访问 cloud.example.io 还是 *.cloud.example.io 都会解析到第一个 Master 节点的内网 IP 地址。

然后在第一个 Master 节点上执行以下命令,并根据提示输入参数:

$ curl -sfL https://gh-proxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh \--image-registry=registry.cn-shanghai.aliyuncs.com --zh \--proxy-prefix=https://gh-proxy.com \--cloud-domain=<your_domain>

其中 需要替换成你自己的自定义域名。

安装过程中 Sealos 会使用 cert-manager 来自签名证书。

信任自签名证书

如果您选择了上面提供的安装方式中的 1 或 3 或 4,那么您的证书默认是不受浏览器信任的,当你访问 Sealos Cloud 时,浏览器会提示下面的信息:

即使点击继续访问,进入 Sealos Cloud 之后也无法正常显示 App 图标,无法打开 App。

我们需要导出自签名证书,并让系统信任自签名证书。步骤如下。

导出自签名证书

各个浏览器导出自签名证书的步骤略有不同。以下是在一些常用浏览器中导出自签名证书的步骤:

Chrome (以及基于 Chromium 的浏览器如新版 Edge 和 Brave)
  1. 在浏览器地址栏左侧点击 “不安全” 字样。
  2. 点击 “证书无效”,这将打开一个证书信息窗口。
  3. 在打开的证书窗口中,切换到 “详细信息” 标签页。
  4. 在 “详细信息” 标签页中,找到并点击 “导出”。
  5. 选择一个文件名和保存位置,然后完成导出过程。
Firefox
  1. 点击页面中的 “高级”。

  2. 然后点击 “查看证书”。

  3. 在证书页面中点击 “PEM (证书)”。

Safari
  1. 点击页面中的 “显示详细信息”。

  2. 然后点击 “查看此证书”。

  3. 在证书视图中,可以看到一个带有证书链的窗口。

  4. 拖动红框圈出来的证书到桌面或文件夹中,证书就会被导出了。

信任自签名证书

macOS

在 macOS 上信任自签名证书可以使用以下命令:

# 假设证书保存在 ~/Downloads/10.214.210.102.nip.io.cer
$ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Downloads/10.214.210.102.nip.io.cer

您也可以通过以下步骤来操作:

1、添加证书到钥匙串
  1. 启动钥匙串访问 (Keychain Access) 应用程序,点击左侧 “系统钥匙串” 下方的 “系统” 类别。
  2. 然后打开 “访达”,进入证书保存位置,双击证书文件:这通常是一个 .cer.crt,或 .pem 文件。
  3. 输入您的用户名和密码以允许修改。
  4. 证书现在应该已经被添加到您的钥匙串中。
2、信任证书
  1. 在钥匙串访问中,从 “系统” 类别的列表中找到刚刚添加的自签名证书,并双击它。
  2. 在打开的窗口中,展开 “信任” 部分。
  3. 在 “当使用此证书时” 选项旁边,有一个下拉菜单,默认设置可能是 “使用系统默认值”。要信任证书,请改为 “始终信任”。
  4. 关闭证书信息窗口,系统可能会提示您验证您的用户名和密码,以确认更改。
  5. 现在,证书已经被标记为受信任。

自签名证书不由第三方证书颁发机构 (CA) 颁发,因此,其他设备也不会信任该证书。如果您是在公司或组织内部使用自签名证书,可能需要在每个需要信任此证书的设备上手动进行上述步骤。

Windows
  1. 在根证书文件点鼠标右键,选择 “安装证书”。
  2. 选择 “当前用户” 或者 “本地计算机”,下一步
  3. “将所有的证书都放入下列存储”,“浏览”,“受信任的根证书颁发机构”,“确定”,下一步。
  4. 完成,“是”,确定。

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

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

相关文章

高通OTA升级方案介绍

高通OTA升级方案介绍 1. 高通LE OTA1.1 背景1.2 Recovery系统 2. SDX12 OTA方案3 OTA包的加密 3UK Penetration Test对于OTA升级也有严格的安全要求&#xff0c;下面是几条用例要求&#xff1a; Firmware: A sufficiently strong signing key MUST be in use. Signing keys MUS…

visionOS空间计算实战开发教程Day 6 拖拽和点击

在之前的学习中我们在空间中添加了3D模型&#xff0c;但在初始摆放后就无法再对其进行移动或做出修改。本节我们在​​Day 5​​显示和隐藏的基础上让我们模型可以实现拖拽效果&#xff0c;同时对纯色的立方体实现点击随机换色的功能。 首先是入口文件&#xff0c;无需做出改变…

Linux反弹SHell与检测思路

免责声明 文章仅做经验分享用途,利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!!! 反弹shell payload在线生成 https://www.chinabaiker.com/Hack-Tools/ Online - Reverse Shell G…

Talk | UCSB博士生宋珍巧:基于人工智能的功能性蛋白质设计

本期为TechBeat人工智能社区第549期线上Talk。 北京时间11月22日(周三)20:00&#xff0c;UC Santa Barbara博士生—宋珍巧的Talk已准时在TechBeat人工智能社区开播&#xff01; 她与大家分享的主题是: “基于人工智能的功能性蛋白质设计”&#xff0c;介绍了如何利用机器学习算…

itext - PDF模板套打

项目需求&#xff1a;获取列表数据之后直接将数据生成一个pdf。因此需要使用到 itext 对pdf进行直接操作。 环境配置 需要为pdf添加文字域&#xff0c;因此需要安装Adobe Acrobat 准备一个空的PDF文件&#xff0c;如果有现成的模板更好 依赖配置&#xff0c;我们使用itext的7版…

python数据结构与算法-14_树与二叉树

树和二叉树 前面我们讲了两种使用分治和递归解决排序问题的归并排序和快速排序&#xff0c;堆排序先就此打住&#xff0c;因为涉及到树的概念&#xff0c;所以我们先来讲讲树。 讲完了树之后后面我们开始介绍一种有用的数据结构堆(heap)&#xff0c; 以及借助堆来实现的堆排序…

python命令行 引导用户填写ssh登录信息

字多不看&#xff0c;直接体验&#xff1a; 待补充 演示代码 # -*- coding:UTF-8 -*- """ author: dyy contact: douyaoyuan126.com time: 2023/11/23 9:20 file: 引导用户填写ssh接口信息.py desc: xxxxxx """# region 引入必要的依赖 impor…

【图像分类】基于深度学习的垃圾分类系统的设计与实现(ResNet网络,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…

el-table表格排序(需要后端判别),el-table导出功能(向后端发送请求)

&#xff08;1&#xff09;表格排序 &#xff08;2&#xff09;简单的table导出功能&#xff08;需要后台支撑&#xff09;必须要有iframe &#xff08;3&#xff09;页面所有代码&#xff1a; <template><div class"mainContainer"><el-form:model&…

使用Pytorch从零开始构建DCGAN

在本文中&#xff0c;我们将深入研究生成建模的世界&#xff0c;并使用流行的 PyTorch 框架探索 DCGAN&#xff08;生成对抗网络 (GAN) 的一种变体&#xff09;的实现。具体来说&#xff0c;我们将使用 CelebA 数据集&#xff08;名人面部图像的集合&#xff09;来生成逼真的合…

网络安全等级保护收费标准?

不同省份价格会略有不同&#xff0c;二级等保一般不低于5万元;三级等保不低于9万元&#xff0c;个别省份也可能7万也能办理&#xff0c;根据企业实际情况和省市选定的代理机构确定。 等级保护二级? 第二级等保是指信息系统受到破坏后&#xff0c;会对公民、法人和其他组织的合…

《YOLOv8创新改进》专栏指导书册 手把手创新教程

&#x1f680;&#x1f680;&#x1f680;YOLOv8改进专栏&#xff1a;http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8&#xff0c;从入门到创新&#xff0c;轻轻松松搞定科研&#xff1b; 本专栏为订阅者提供答疑服务&#xff0c;每一篇提供源代码和详细的每一个步骤改进地方。…

Navicat 技术指引 | 适用于 GaussDB 的模型功能

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

工业交换机具备哪些功能?

在工业网络中&#xff0c;工业交换机起着至关重要的作用&#xff0c;具备多样功能和广泛的应用。 1、工业交换机的作用是实现不同网络设备之间的互联。它能够连接各种不同类型的设备&#xff0c;如计算机、服务器、传感器和监控设备&#xff0c;实现设备间的相互通信和数据传输…

应用高斯高通滤波器提取图像轮廓

任务要求&#xff1a; 图为HALCON中的例图“tooth_rim”&#xff0c;请用高斯高通滤波器提取图像的轮廓。 任务分析&#xff1a; 图像的边缘对应频谱的高频部分&#xff0c;可以通过构造一个高频滤波器&#xff0c;过滤掉图像的低频部分&#xff0c;从而得到图像的边缘。HALC…

苹果怎么关闭悬浮球?让我来解答您的疑惑!

悬浮球是苹果设备上的一种可进行自定义的快捷操作功能&#xff0c;它可以位于手机屏幕的任意位置&#xff0c;以浮动的方式显示。然而&#xff0c;有时候悬浮球对某些朋友来说可能会变得多余&#xff0c;那么苹果怎么关闭悬浮球呢&#xff1f;接下来&#xff0c;小编将为大家揭…

docker compose搭建渗透测试vulstudy靶场示例

前言 渗透测试&#xff08;Penetration test&#xff09;即网络安全工程师/安全测试工程师/渗透测试工程师通过模拟黑客&#xff0c;在合法授权范围内&#xff0c;通过信息搜集、漏洞挖掘、权限提升等行为&#xff0c;对目标对象进行安全测试&#xff08;或攻击&#xff09;&am…

详解——菱形继承及菱形虚拟继承

目录 一&#xff0c;菱形继承 1.1单继承 1.2多继承 1.3菱形继承 1.4菱形继承的问题 1.5虚拟继承解决数据冗余和二义性的原理 二.继承的总结和反思 一&#xff0c;菱形继承 C三大特性——继承-CSDN博客 1.1单继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继…

anaconda安装配置

创建分区 conda create -n cpu 安装Cpu版本 https://pytorch.org/ conda install pytorch torchvision torchaudio cpuonly -c pytorch 激活环境 conda activate cpu 验证 退出当前分区 conda deactivate 安装GPU版本 创建分区conda create -n gpu 激活环境 conda…

Java面向对象(高级)-- final关键字的使用

文章目录 一、 final的意义二、 final的使用&#xff08;1&#xff09; final修饰类&#xff08;2&#xff09; final修饰方法&#xff08;3&#xff09; final修饰变量1. 修饰成员变量1.1 举例11.2 举例2 2. 修饰局部变量2.1 举例12.2 举例2 &#xff08;4&#xff09;final搭…