sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)
1 安装Sealos(4.0版本)
sealos部署k8s贼方便,只需要一条init命令即可,3分钟部署完(下载安装包的时间不算)。
官方教程:https://www.sealyun.com/instructions/1st
#主机名:
hostnamectl set-hostname master && bash
hostnamectl set-hostname work && bash
hostnamectl set-hostname edge1 && bash
hostnamectl set-hostname edge2 && bash#添加hosts:
cat >> /etc/hosts << EOF
192.168.186.128 master
192.168.186.129 work
192.168.186.130 edge1
192.168.186.131 edge2
EOF#所有机器上都操作
ssh-keygen -t rsa #一路回车,不输入密码
###把本地的ssh公钥文件安装到远程主机对应的账户
for i in master work edge1 edge2 ;do ssh-copy-id -i .ssh/id_rsa.pub $i ;done#关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
#关闭swap:
swapoff -a # 临时
sed -i 's/.*swap.*/#&/' /etc/fstab # 永久cat > /etc/resolv.conf <<EOF
nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 223.5.5.5
EOF#时间同步
yum install -y chrony -y
cat > /etc/chrony.conf << EOF
server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony
EOFsystemctl enable --now chronyd
chronyc sources #设置yum源
yum -y install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum -y install wget
wget https://github.com/labring/sealos/releases/download/v4.1.3/sealos_4.1.3_linux_amd64.tar.gz tar zxvf sealos_4.1.3_linux_amd64.tar.gz sealos
chmod +x sealos
cp sealos /usr/bin
sealos version
**可以从https://github.com/labring/sealos/releases找最新版本下载
2. 创建K8S集群
由于容器日志默认是保存在/var/log/pods下的,为了防止系统盘被日志打满,可以事先创建好一个软链,链接到数据盘,例:
# 所有机器上执行
mkdir -p /data/k8s/log/pods
ln -s /data/k8s/log/pods /var/log/pods
使用root用户创建集群:(不能用sudo)
sealos run labring/kubernetes:v1.24.3 labring/calico:v3.22.1 \--env criData=/data/k8s/containerd \--masters 192.168.64.2,192.168.64.22,192.168.64.20 \--nodes 192.168.64.21,192.168.64.19 -p [your-ssh-passwd]
- k8s版本可以从这里找:labring/kubernetes Tags | Docker Hub
- –masters参数是master节点ip列表
- –nodes参数是node节点ip列表
- -p是ssh密码
3. 去除master污点(node节点多的话不需要此操作)
#master节点去除污点后才能运行业务pod
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl taint nodes --all node-role.kubernetes.io/master-
4. nerdctl
现在k8s已经默认不使用docker,而是使用containerd,因此没有docker命令来管理镜像,可以使用nerdctl命令代替,命令基本上和docker一致。
要注意的是,containerd有命名空间的概念:
nerdctl namespace ls
nerdctl load -i xxx.tar --namespace k8s.io
5. 非root用户
sealos目前版本只能使用root用户安装,如果你平时不使用root用户,需要使用非root用户执行:
# 将.kube拷贝到当前用户目录下,否则无法执行kubectl命令
sudo cp -r /root/.kube $HOME
sudo chown -R ${whoami}:${whoami} $HOME/.kube# 给nerdctl提高权限,否则执行nerdctl需要sudo
sudo chmod +s /usr/bin/nerdctl
6. 私有镜像仓库
sealos自带了一个镜像仓库,部署在第一个master上。
查看registry:
nerdctl ps
nerdctl login sealos.hub:5000 -u admin -p passw0rd #登录
#推送镜像到私有仓库:
nerdctl tag xxx:v1.0.0 sealos.hub:5000/xxx:v1.0.0 --namespace k8s.io
nerdctl push sealos.hub:5000/xxx:v1.0.0
相关文章:
sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)
1 安装Sealos(4.0版本) sealos部署k8s贼方便,只需要一条init命令即可,3分钟部署完(下载安装包的时间不算)。 官方教程:https://www.sealyun.com/instructions/1st #主机名: hostnamectl set-hostname mas…...

【C++】stackqueue
适配器是一种设计模式 , 该种模式是将一个类的接口转换成客户希望的另外一个接口 。 虽然 stack 和 queue 中也可以存放元素,但在 STL 中并没有将其划分在容器的行列,而是将其称为 容器适配 器 ,这是因为 stack 和队列只是对其他容…...
Hive篇面试题+详解
Hive篇面试题 1.什么是Hive?它的主要功能是什么? Hive是一个基于Hadoop的数据仓库工具,它提供了一个类SQL的查询语言(HiveQL)来查询和分析存储在Hadoop集群中的大规模数据。Hive的主要功能是将结构化数据映射到Hadoop…...
Mysql批量插入更新如何拆分大事务?
拆分大事务 一、解决方案二、遇到问题之前在运行Mysql任务的时候报错:binlog(1610646347 bytes) write threshold exceeded,原因是Mysql任务提交的是个大事务,超出binlog设定阈值,使得系统自动终止事务 一、解决方案 使用limit分页拆分大事务 CREATE PROCEDURE `split_tran…...

【计算机网络原理】初始网络基础
文章目录 1. 网络发展史1.1 单机时代1.2 网络互连局域网 LAN广域网 WAN 2. 网络通信基础2.1 IP 地址2.2 端口号2.3 协议2.4 五元组2.5 协议分层2.5.1 OSI七层模型2.5.2 TCP/IP五层模型 2.6 封装和分用2.6.1 数据封装(发送方情况)2.6.2 数据分用(接收方情况) 总结 1. 网络发展史…...

【sqlserver】配置管理器打不开
问题描述 无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问。请注意,您只能使用SQL Server 配置管理器来管理 SQL Server 2005 和更高版本的服务 器。无效类[0x80041010] 解决方式: 命令提示符-右键-以管理员身份运行,再把以下代码执行一遍&…...

磁盘清理 | 已经卸载的软件还出现在应用和功能里怎么办?
一句话总结解决方法: 安装Geek Uninstaller,删除卸载残留。 问题描述: 最近磁盘满了,需要删除一些平时不常用的软件,但是发现一个问题。就是已经删除的软件,仍然会出现在“应用与功能”中。并且显示卸载图标为灰色&am…...

C++之异常
目录 一、C语言传统的处理错误的方式 二、C的异常 1、概念 2、关键字 3、基本格式 三、异常的抛出和捕获 1、异常的抛出和匹配原则 2、 在函数调用链中异常栈展开匹配原则 四、异常抛派生类,基类捕获 五、异常的重新抛出 六、异常安全 七、异常的优缺点…...

动态天气预报:Living Weather HD for Mac
Living Weather HD能够为Mac用户提供及时、准确、个性化的天气信息,并提供了丰富的定制选项,使用户能够更加方便地查看天气状况。 具有以下特点: 显示世界各地的准确天气预报和当地时间。自动探测出用户所在的首个地点,并通过搜…...
深度神经网络时与协方差矩阵
平时训练深度神经网络时,什么时候用到了协方差矩阵 在深度神经网络的平时训练过程中,一般情况下不直接使用协方差矩阵。然而,协方差矩阵的概念和相关性的考虑在某些情况下可以对网络的训练和优化起到一定的指导作用。 下面是一些与协方差矩…...

idea中java类属性(字段)链式赋值
很多人看到标题可能会想到 lombok 的 Builder,lombok 在国内用的挺多的,开源的组件中 mybatis-plus 中用到了这个,使用这个有一个问题就是通过对应 get 和 set 方法找不到对应的赋值方法,因为 lombok 使用了 apt 在编译期生成了相…...
vue通知(滚动)
1. li宽度不顾定 <template><div id"app"><div id"box" mouseover"clearLeft" mouseleave"setLeft"><ul :style"{ transform: translateX( left px) }" ref"cmdlist"><li v-for&qu…...

linux安装新版本git2、配置github-ssh。(centos、aws)
一、安装Git 1、yum默认版本git #1.安装git sudo yum install git -y #2.确认Git已经安装成功 git --version如果要安装较新版本,可以安装一个repo ,但是我这第一次尝试失败了,执行完提示找不到git2u,ius repo也连不上。而且每次…...

毅速丨3D打印结合拓扑优化 让轻量化制造更容易
制造轻量化对于提高能源利用效率、提高产品性能和减少环境影响,推动制造业的绿色化、高质量发展具有重要的促进作用。 轻量化设计对许多领域都有着重要影响,尤其是那些需要降低能源消耗、提高运输效率或减少对环境影响的领域。如航空航天,轻量…...
6252: 【C1】【分支】比较大小(一)
目录 题目描述 输入 输出 样例输入 样例输出 提示 来源 C代码: 题目描述 输入两个整数,输出较大数(两数相等输出任意一个) 输入 两行 第一行一个整数:m 第二行一个整数:n ( -30000 < m , n…...

网工实验手册:RSTP如何配置?
1. 实验目的 熟悉RSTP的应用场景掌握RSTP的配置方法 想要华为数通配套实验拓扑和配置笔记的朋友们点赞关注,评论区留下邮箱发给你! 2. 实验拓扑 实验拓扑如图所示: 图:RSTP的配置 3. 实验步骤 (1) …...

uniapp开发h5引入第三方js(sdk)
manifest.json 应用配置 | uni-app官网 根据文档上描述需要自定义模板的场景为: 方法一: 起初以为是在原有的index.html基础上再新建一个html文件,在项目根目录建立一个template.h5.html(仿照hello-uni-app项目)&…...
Could not find artifact com.sleepycat;je:jar:7.3.7 in aliyunmaven
在编译inlong源码时报的错误,去本地库里发现只有lastupdate的文件,就又去maven库里看了一下Maven Repository: com.sleepycat je (mvnrepository.com),发现没有这个版本,将版本进行修改错误解决...

rust学习—— 控制流if 表达式
控制流 根据条件是否为真来决定是否执行某些代码,或根据条件是否为真来重复运行一段代码,是大部分编程语言的基本组成部分。Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。 if 表达式 if 表达式允许根据条件执行不同的代码分支。你提供…...

POSIX信号量
目录 信号量的原理 信号量函数 使用信号量实现线程互斥功能 基于环形队列的生产消费模型 生产者和消费者必须遵守的两个规则 信号量的原理 通过之前的学习,我们知道有的资源可能会被多个执行流同时申请访问,我们将这种资源叫做临界资源,…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...