sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)

本文主要是介绍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]
  1. k8s版本可以从这里找:labring/kubernetes Tags | Docker Hub
  2. –masters参数是master节点ip列表
  3. –nodes参数是node节点ip列表
  4. -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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260780

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同