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
相关文章:
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这个版本…...
#力扣:2236. 判断根结点是否等于子结点之和@FDDLC
2236. 判断根结点是否等于子结点之和 一、Java /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNo…...
暴力递归转动态规划(九)
题目 题有点难,但还挺有趣 有一个咖啡机数组arr[],其中arr[i]代表每一个咖啡机冲泡咖啡所需的时间,有整数N,代表着准备冲咖啡的N个人(假设这个人拿到咖啡后喝完的时间为0,拿手里咖啡杯即变空)&a…...
Linux知识点 -- 高级IO(一)
Linux知识点 – 高级IO(一) 文章目录 Linux知识点 -- 高级IO(一)一、5种IO模型1.IO再理解2.阻塞IO3.非阻塞轮询式IO4.信号驱动IO5.IO多路转接6.异步IO7.同步通信vs异步通信8.阻塞vs非阻塞 二、非阻塞IO1.设置非阻塞的方法2.非阻塞…...
Android AMS——内存回收机制(十二)
在 Android 中,AMS(Activity Manager Service)负责管理应用程序的生命周期和资源分配。其中,AMS也包含了内存回收机制,用于释放系统中不再使用的内存资源,以保证系统的稳定性和性能。 一、内存回收简介 1、回收机制 Android AMS 的内存回收机制主要涉及以下几个方面:…...
1600*C. Add One(数位DP找规律)
Problem - 1513C - Codeforces 解析: 考虑DP,DP[ i ] 为从 0 开始执行 i 次操作,此时数字的位数。 我们发现当一个9再操作一次就会变成1和0,并且相邻的大部分长度都不会变化,0会影响10次操作之后的位数,1会…...
干货丨送你几个实用PR编辑技巧(二) 优漫动游
小编认为无论看什么书或教程,都不应该脱离实际去学习PR技巧,基础理论与实践相结合,才能达到比较好的学习和应用效果。 技巧一 如果项目板里有很多素材,很难看清楚哪些素材是已经用过的,哪些是没用过的话࿰…...
[每周一更]-(第67期):docker-compose 部署php的laravel项目
容器化部署laravel框架的php项目 操作步骤 参考: https://www.cnblogs.com/jingjingxyk/p/16842937.htmlhttps://developer.aliyun.com/article/708976 0、plv项目修改 composer install.env 修改后台地址 IP:端口chmod -R 777 public / chmod -R 777 storagevi…...
vsCode 忽略 文件上传
1 无 .gitignore 文件时,在项目文件右键,Git Bash 进入命令行 输入 touch .gitignore 生成gitignore文件 2 、在文件.gitignore里输入 node_modules/ dist/ 来自于:vscode git提交代码忽略node_modules_老妖zZ的博客-CSDN博客...
197、管理 RabbitMQ 的虚拟主机
开启Rabbitmq的一些命令: 小黑窗输入: rabbitmq-plugins enable rabbitmq_management 启动控制台插件, 就是启动登录rabbitmq控制台的页面,rabbitmq_management 代表了RabbitMQ的管理界面。 rabbitmq-server 启动rabbitMQ服务器…...
[NCTF2019]SQLi regexp 盲注
/robots.txt 访问一下 $black_list "/limit|by|substr|mid|,|admin|benchmark|like|or|char|union|substring|select|greatest|%00|\|| |in|<|>|-|\.|\(\)|#|and|if|database|users|where|table|concat|insert|join|having|sleep/i";If $_POST[passwd] admi…...
通过webpack创建并打包js库到npm仓库
1.创建项目并进行基本配置 webpack配置文件: webpack.build.js const path require(path);module.exports {mode:development,entry:./src/webpack-numbers.js,output: {filename: webpack-numbers.js,path: path.resolve(__dirname, dist),clean: true,},}; p…...
【Java 进阶篇】深入了解JavaScript中的函数
函数是JavaScript编程中的核心概念之一。它们是可重用的代码块,可以帮助您组织和管理程序,使您的代码更具可读性和可维护性。在本篇博客中,我们将深入了解JavaScript中的函数,包括函数的基本语法、参数、返回值、作用域、闭包和高…...
谷歌 Chrome 浏览器正推进“追踪保护”功能
导读近日消息,根据国外科技媒体 Windows Latest 报道,谷歌计划在 Chrome 浏览器中推进“追踪保护”(Tracking Protection)功能,整合浏览器现有隐私功能,保护用户被网站跟踪。 根据一项 Chromium 提案&…...
Excel 自动提取某一列不重复值
IFERROR(INDEX($A$1:$A$14,MATCH(0,COUNTIF($C$1:C1,$A$1:$A$14),0)),"")注意:C1要空置,从C2输入公式 参考: https://blog.csdn.net/STR_Liang/article/details/105182654 https://zhuanlan.zhihu.com/p/55219017?utm_id0...
【TensorFlow2 之011】TF 如何使用数据增强提高模型性能?
一、说明 亮点:在这篇文章中,我们将展示数据增强技术作为提高模型性能的一种方式的好处。当我们没有足够的数据可供使用时,这种方法将非常有益。 教程概述: 无需数据增强的训练什么是数据增强?使用数据增强进行训练可视…...
Hadoop 安装教程 (Mac m1/m2版)
安装JDK1.8 这里最好是安装1.8版本的jdk 1. 进入官网Java Downloads | Oracle Hong Kong SAR, PRC,下滑到中间区域找到JDK8 2.选择mac os,下载ARM64 DMG Installer对应版本 注:这里下载需要注册oracle账号,不过很简单,只需要提供邮箱即可&…...
Docker - 网络模式与容器网络互连
前言 简单记录一下在Docker学习过程中,关于网络模式和容器网络互连的基本概念。 一、Docker的网络模式 (1)桥接模式:Docker会为每个容器创建一个虚拟网卡,并将这些虚拟网卡连接到一个虚拟交换机上,从而实…...
【基础篇】三、Flink集群角色、系统架构以及作业提交流程
文章目录 1、集群角色2、部署模式3、Flink系统架构3.1 作业管理器(JobManager)3.2 任务管理器(TaskManager) 4、独立部署会话模式下的作业提交流程5、Yarn部署的应用模式下作业提交流程 1、集群角色 Flink提交作业和执行任务&…...
第一个2DGodot游戏-从零开始-逐步解析
视频教程地址:https://www.bilibili.com/video/BV1Hw411v78Y/ 前言 大家好,这一集我将要带领大家完成官方文档里的第一个2DGodot游戏,从零开始,逐步解析,演示游戏的制作全过程,尽量让,就算是新…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
