Ubuntu 22.04.3 LTS单机私有化部署sealos

  • 推荐使用奇数台 Master 节点和若干 Node 节点
  • 操作系统 :Ubuntu 22.04 LTS
  • 内核版本 :5.4 及以上
  • 配置推荐 :CPU 4 核 , 内存 8GB, 存储空间 100GB 以上
  • 最小配置 :CPU 2 核 , 内存 4GB, 存储空间 60GB

这里采用的Ubuntu 22.04.3 LTS  版本,Ubuntu 20.04.4 LTS这个版本应该也是可以的有兴趣可以测试一下。不想私有化部署的可以直接访

root@master:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

 分区大小,搭建好后磁盘占用51G,所以分区一定要大,这里是通过扩容lvs增加的容量。

root@master:~# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
tmpfs                             tmpfs    791M  8.2M  783M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      97G   51G   42G  55% /
tmpfs                             tmpfs    3.9G     0  3.9G   0% /dev/shm
tmpfs                             tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4     2.0G  251M  1.6G  14% /boot
tmpfs                             tmpfs    791M  4.0K  791M   1% /run/user/0

 磁盘容量不够参考,磁盘容量足够请绕过此步骤

root@master:~# lvsLV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertubuntu-lv ubuntu-vg -wi-ao---- <49.00g
root@master:~# vgsVG        #PV #LV #SN Attr   VSize   VFreeubuntu-vg   1   1   0 wz--n- <98.00g 49.00g
root@master:~# pvsPV         VG        Fmt  Attr PSize   PFree/dev/sda3  ubuntu-vg lvm2 a--  <98.00g 49.00g
root@master:~# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  63.5M  1 loop /snap/core20/2015
loop1                       7:1    0 111.9M  1 loop /snap/lxd/24322
loop2                       7:2    0  63.4M  1 loop /snap/core20/1974
loop3                       7:3    0  53.3M  1 loop /snap/snapd/19457
loop4                       7:4    0  40.8M  1 loop /snap/snapd/20092
sda                         8:0    0   100G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    98G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0    49G  0 lvm  /var/lib/containers/storage/overlay/
sr0                        11:0    1  1024M  0 romroot@master:~# lvextend -L +49G /dev/ubuntu-vg/ubuntu-lvSize of logical volume ubuntu-vg/ubuntu-lv changed from <49.00 GiB (12543 extents) to <98.00 GiB (25087 extents).Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@master:~# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
tmpfs                             tmpfs    791M  3.3M  788M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      48G   40G  6.4G  86% /
tmpfs                             tmpfs    3.9G     0  3.9G   0% /dev/shm
tmpfs                             tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4     2.0G  251M  1.6G  14% /boot
tmpfs                             tmpfs    791M  4.0K  791M   1% /run/user/0root@master:~# resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 25689088 (4k) blocks long.root@master:~# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
tmpfs                             tmpfs    791M  3.3M  788M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      97G   40G   53G  43% /
tmpfs                             tmpfs    3.9G     0  3.9G   0% /dev/shm
tmpfs                             tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4     2.0G  251M  1.6G  14% /boot
tmpfs                             tmpfs    791M  4.0K  791M   1% /run/user/0

 首先安装sealos

apt install jq curl vim -y
curl --silent "https://api.github.com/repos/labring/sealos/releases" | jq -r '.[].tag_name'echo "deb [trusted=yes] https://apt.fury.io/labring/ /" | sudo tee /etc/apt/sources.list.d/labring.listsudo apt update && sudo apt install sealos -y

下面安装步骤是参考大佬的文章

Sealos 私有化部署完全指南_sealos 部署_米开朗基杨的博客-CSDN博客

  230   22:39:35 root  sealos apply -f Clusterfile231   22:41:17 root  sh sealos.sh232   22:59:47 root  kubectl get pods -A233   23:00:12 root  sealos run docker.io/labring/sealos-cloud:latest    --env cloudDomain="10.1.1.138.nip.io"

 Cluster

sealos gen labring/kubernetes:v1.25.6 \labring/helm:v3.12.0 \labring/calico:v3.24.1 \labring/cert-manager:v1.8.0 \labring/openebs:v3.4.0 \--masters 10.1.1.138 > Clusterfilesealos apply -f Clusterfile

 等待集群就绪后 , 使用 kubectl get pods -A 查看集群状态:

vim sealos.sh

#!/bin/bash
set -ecat << EOF > ingress-nginx-config.yaml
apiVersion: apps.sealos.io/v1beta1
kind: Config
metadata:creationTimestamp: nullname: ingress-nginx-config
spec:data: |controller:hostNetwork: truekind: DaemonSetservice:type: NodePortmatch: docker.io/labring/ingress-nginx:v1.5.1path: charts/ingress-nginx/values.yamlstrategy: merge
EOFsealos run docker.io/labring/kubernetes-reflector:v7.0.151\docker.io/labring/ingress-nginx:v1.5.1\docker.io/labring/zot:v1.4.3\docker.io/labring/kubeblocks:v0.5.3\--env policy=anonymousPolicy\--config-file ingress-nginx-config.yamlecho "patch ingress-nginx-controller tolerations to allow run on master node, if you don't want to run on master node, please ignore this step"
kubectl -n ingress-nginx patch ds ingress-nginx-controller -p '{"spec":{"template":{"spec":{"tolerations":[{"key":"node-role.kubernetes.io/control-plane","operator":"Exists","effect":"NoSchedule"}]}}}}'echo "waitting for kubeblocks crd created, this may take a while"
while ! kubectl get clusterdefinitions.apps.kubeblocks.io redis >/dev/null 2>&1; dosleep 5
doneecho "start patch redis clusterdefinition"
kubectl patch clusterdefinitions.apps.kubeblocks.io redis --type='json' -p '[{"op": "add", "path": "/spec/componentDefs/0/podSpec/containers/1/resources/limits", "value": {"cpu":"100m", "memory":"100Mi"}}]'
echo "patch redis success"echo "wait for all pod to be ready then install Sealos"
kubectl get po -A

 sh sealos.sh

sh sealos.sh

 执行时间长耐心等待

kubectl get po -A

过程可能稍长,等待所有 Pod 均为 Ready 状态后,即可进行下一步。

最后一条命令

sealos run docker.io/labring/sealos-cloud:latest    --env cloudDomain="10.1.1.138.nip.io"

过程还是很曲折,不过最后总算成功了,其实大佬的文章还得仔细看,能节约不少时间,阿里云的无影云桌面有3个月的试用,使用阿里云的无影云桌面也测试成功,就是有一点没有搞定,登陆后可以输入密码,但是浏览器一直提示安全问题,ubuntu不知道怎么设置才能正常。

阿里云无影云桌面版本,浏览器打开的问题暂时还没有解决办法。

root@1:~# lsb_release -a
LSB Version:	core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal

windows的CHROME的设置请看下面的解决办法。

mongodb需要avx支持,如果cpu不支持avx会失败,J1900不支持avx所以这个坑请跳过。

这里要非常感谢BXY大佬!

日志查看参考

kubectl logs  sealos-mongodb-mongodb-0 -n sealos

浏览器访问 Sealos 网址时提示“不安全”
如果您在部署过程中提供了正确的证书,但仍然收到这个提示,可以采取以下措施:

检查证书是否和域名匹配:证书需要解析 {{ $domain }} 及 *.{{ $domain }};
检查证书是否被正确地使用 base64 编码并写入到 tls-secret.yaml 文件中;
如果您在部署过程中没有提供证书,那么这种现象是正常的,因为默认使用的是 Sealos 的自签名证书。您可以选择以下两种方式解决:

信任证书:在浏览器中导出证书,然后双击证书打开,导入到受信任的根证书颁发机构中;
关闭浏览器的安全检查:以 Chrome 为例,修改 Chrome 浏览器的快捷方式,在目标后面添加 --ignore-certificate-errors 参数,然后重新打开浏览器。
部署时卡在 Waiting waiting for mongodb secret generated 怎么办?
Sealos 依赖 kubeblocks 提供的数据库服务。如果在部署过程中卡在这一步,说明在上一步,部署 Sealos 依赖组件时出错了。您应该尝试重新部署。

如何重新部署?
如果您需要重新部署,只需执行以下命令:

$ sealos reset
这个命令将清理所有集群资源,让您可以从头开始部署。
 

本文参考大佬米开朗基杨的文章,非常感谢!
https://blog.csdn.net/alex_yangchuansheng/article/details/131937199

 最后欣赏一下sealos的桌面

sealos还提供一键命令,如果上面没有成功,sealos reset后测试下面这个命令,按提示操作

curl -sfL https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh 

admin

sealos2023

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

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

相关文章

Eclipse插件安装版本不兼容问题解决方案——Papyrus插件为例

项目场景: Eclipse Papyrus安装后,没有新建Papyrus工程选项,也没有新建Papyrus Model的选项。 打开Papyrus Model会报错 问题描述 同样的,安装其他插件也是。可能某个插件之前安装是好用的,结果Eclipse的版本更新了,就再也安装不好用了 原因分析: 根本原因是因为包之…

Xcode 15下,包含个推的项目运行时崩溃的处理办法

升级到Xcode15后&#xff0c;部分包含个推的项目在iOS17以下的系统版本运行时&#xff0c;会出现崩溃&#xff0c;由于崩溃在个推Framework内部&#xff0c;无法定位到具体代码&#xff0c;经过和个推官方沟通&#xff0c;确认问题是项目支持的最低版本问题。 需要将项目的最低…

十七、【渐变工具组】

文章目录 渐变工具油漆桶工具 渐变工具 渐变样式有5种&#xff0c;分别是线性渐变&#xff0c;径向渐变&#xff0c;角度渐变&#xff0c;对称渐变&#xff0c;菱形渐变 另外渐变工具的颜色可以进行编辑&#xff0c;需要先打开渐变编辑工具&#xff1a; 如何使用渐变编辑工…

与HTTP相关的各种概念

网络世界 网络世界中最重要的一个名词就是互联网&#xff08;Internet&#xff09;,它以TCP/IP协议族为基础&#xff0c;构建成了一望无际的信息传输网络。而我们通常所说的“上网”&#xff0c;主要就是访问互联网的一个子集——万维网&#xff08;World Wide Web&#xff09…

如何使用CSS和JavaScript实施暗模式?

近年来&#xff0c;暗模式作为用户界面选项备受追捧。它提供了更暗的背景和更亮的文本&#xff0c;不仅可以减轻眼睛疲劳&#xff0c;还可以节省电池续航时间&#xff0c;尤其是在OLED屏幕上。 不妨了解如何结合使用CSS和JavaScript为网站和Web应用程序添加暗模式选项。 了解暗…

JWT的原理及实际应用

前言&#xff1a; 定义&#xff1a;JSON Web Token&#xff08;缩写 JWT&#xff09;是目前最流行的跨域认证解决方案 JWT官网 由于HTTP协议是无状态的&#xff0c;这意味着如果我们想判定一个接口是否被认证后访问&#xff0c;就需要借助cookie或者session会话机制进行判定&…

保姆级手把手记录Android studio BottomNavigationView +FrameLayout暴力切换Fragment

开发环境&#xff1a; 效果图&#xff1a; 《《《代码在底部》》》 1&#xff0c;新建项目 2&#xff0c;新建若干Fragment&#xff0c;内容一样&#xff0c;改一下显示出来的Text&#xff0c;名字分别为test1Fragment,test2Fragment,test3Fragment,默认TextView的Text属性分别…

交通 | python网络爬虫:“多线程并行 + 多线程异步协程

推文作者&#xff1a;Amiee 编者按&#xff1a; 常规爬虫都是爬完一个网页接着爬下一个网页&#xff0c;不适应数据量大的网页&#xff0c;本文介绍了多线程处理同时爬取多个网页的内容&#xff0c;提升爬虫效率。 1.引言​ 一般而言&#xff0c;常规爬虫都是爬完一个网页接着…

代码随想录算法训练营第五十二天 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

123.买卖股票的最佳时机III 视频讲解&#xff1a;动态规划&#xff0c;股票至多买卖两次&#xff0c;怎么求&#xff1f; | LeetCode&#xff1a;123.买卖股票最佳时机III_哔哩哔哩_bilibili 代码随想录 &#xff08;1&#xff09;代码 188.买卖股票的最佳时机IV 视频讲解&a…

文字雨特效

效果展示 CSS 知识点 简易实现云朵技巧text-shadow 属性的灵活运用filter 属性实现元素自动变色 实现页面布局 <div class"container"><div class"cloud"><h2>Data Clouds Rain</h2></div> </div>实现云朵 实现云…

从基础到卷积神经网络(第12天)

1. PyTorch 神经网络基础 1.1 模型构造 1. 块和层 首先&#xff0c;回顾一下多层感知机 import torch from torch import nn from torch.nn import functional as Fnet nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))X torch.rand(2, 20) # 生成随机…

<图像处理> Fast角点检测

Fast角点检测 基本原理是使用圆周长为N个像素的圆来判定其圆心像素P是否为角点&#xff0c;如下图所示为圆周长为16个像素的圆&#xff08;半径为3&#xff09;&#xff1b;OpenCV还提供圆周长为12和8个像素的圆来检测角点。 相对中心像素的位置信息 //圆周长为16 static c…

Lumen/Laravel - 事件机制原理与工作流程 - 探究

1.应用场景 主要用于学习与探究Lumen/Laravel的事件机制原理与工作流程。 2.学习/操作 1.文档阅读 chatgpt & 其他资料 2.整理输出 2.1 是什么 TBD 2.2 为什么需要「应用场景」 TBD 2.3 什么时候出现「历史发展」 TBD 2.4 怎么实践 TBD 截图 后续补充 ... 3.问题…

深度学习基础知识 Dataset 与 DataLoade的用法解析

深度学习基础知识 Dataset 与 DataLoade的用法解析 1、Dataset2、DataLoader参数设置&#xff1a;1、pin_memory2、num_workers3、collate_fn分类任务目标检测任务 1、Dataset 代码&#xff1a; import torch from torch.utils import dataclass MyDataset(torch.utils.data.D…

语言模型编码中/英文句子格式详解

文章目录 前言一、Bert的vocab.txt内容查看二、BERT模型转换方法(vocab.txt)三、vocab内容与模型转换对比四、中文编码总结 前言 最近一直在学习多模态大模型相关内容&#xff0c;特别是图像CV与语言LLM模型融合方法&#xff0c;如llama-1.5、blip、meta-transformer、glm等大…

Elasticsearch 和 Arduino:一起变得更好!

作者&#xff1a;Enrico Zimuel 使用 Arduino IoT 设备与 Elasticsearch 和 Elastic Cloud 进行通信的简单方法 在 Elastic&#xff0c;我们不断寻找简化搜索体验的新方法&#xff0c;并开始关注物联网世界。 来自物联网的数据收集可能非常具有挑战性&#xff0c;尤其是当我们…

《Unity Shader入门精要》笔记06

基础纹理 单张纹理纹理的属性Alpha SourceWrap ModeFilter Mode 凹凸映射高度纹理法线纹理实践在切线空间下计算在世界空间下计算 Unity中的法线纹理类型Create from Grayscale 渐变纹理遮罩纹理其他遮罩处理 单张纹理 我们通常会使用一张纹理来代替物体的漫反射颜色 Shader …

K8s Kubernetes Namespave Pod Label Deployment Service 实战

本章节将介绍如何在kubernetes集群中部署一个nginx服务&#xff0c;并且能够对其进行访问。 Namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群中…

MySQL之双主双从读写分离

一个主机 Master1 用于处理所有写请求&#xff0c;它的从机 Slave1 和另一台主机 Master2 还有它的从 机 Slave2 负责所有读请求。当 Master1 主机宕机后&#xff0c; Master2 主机负责写请求&#xff0c; Master1 、 Master2 互为备机。架构图如下 : 准备 我们…

升级教育技术软件的多合一解决方案

当今时代技术和教育联系越来越紧密&#xff0c;教育机构对强大、安全、灵活的 IT 解决方案的探索至关重要。 全球事件、技术进步以及学生和教职员工不断变化的需求影响着不断变化的教育格局&#xff0c;我们要采取变革性的方法来确保教育的连续性和质量提升。 Splashtop Ente…