安装Sealos(新版k8s v1.33.6)

一、简介

从本质上讲,Sealos 是一个基于 Kubernetes 的轻量级云操作系统。它作为一个综合性平台,封装了现代应用部署和管理所需的核心组件。与需要大量配置和专业知识的传统 Kubernetes 发行版不同,Sealos 专为需要强大基础设施能力但无需面对相关复杂性的开发者和团队而构建。

Sealos 提供了一个统一的界面,用于在各种云环境中部署、扩展和管理应用程序。其架构强调简洁性和自动化,使开发者能够专注于构建功能,而非配置基础设施。

官方网址:https://sealos.run/

简单一句话总结:使用传统方式部署k8s集群,需要非常复杂的配置。Sealos 消除了手动集群配置的需求,简单一条命令即可完成部署。例如:

部署单节点

复制代码
sealos run \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
  --single

接下来,详细介绍,如何部署Sealos

二、环境信息

操作系统:openEuler 22.03 LTS SP4 / 24.03 LTS

架构:x86_64 (amd64)

节点 IP:192.168.52.129

节点角色:Master + Worker(单节点)

Kubernetes 版本:v1.33.6

容器运行时:Containerd(默认)

三、基础环境配置(所有节点执行)

注意:不要预装 Docker:Sealos 会自动安装 Containerd,预装 Docker 可能导致冲突

复制代码
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 关闭 Swap
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

# 配置主机名
hostnamectl set-hostname k8s-master
bash

# 配置 hosts(根据实际 IP 修改)
cat >> /etc/hosts << EOF
192.168.52.129 k8s-master
EOF

# 加载内核模块
cat > /etc/modules-load.d/k8s-modules.conf <<EOF
overlay
br_netfilter
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF

modprobe overlay
modprobe br_netfilter
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack

# 配置 sysctl 参数
cat <<EOF > /etc/sysctl.d/99-kubernetes.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOF

sysctl --system

# 安装依赖
yum install -y curl socat conntrack openssl ipset ipvsadm chrony tar

# 时间同步
systemctl enable --now chronyd
chronyc sources

四、安装 Sealos 工具

复制代码
# 下载 Sealos v5.1.1(推荐稳定版)
wget https://github.com/labring/sealos/releases/download/v5.1.1/sealos_5.1.1_linux_amd64.tar.gz

# 解压并安装
tar -zxvf sealos_5.1.1_linux_amd64.tar.gz
chmod +x sealos
mv sealos /usr/local/bin/

# 验证安装
sealos version

五、单节点部署 Kubernetes

方式一:在线安装(推荐,最简单)

复制代码
# 使用 --single 参数一键安装单节点集群
sealos run \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
  --single

参数说明:

  • --single:单节点模式,自动配置单 Master 并允许调度

安装完成后,输出如下:

复制代码
LAST DEPLOYED: Tue Feb 24 17:32:11 2026
NAMESPACE: tigera-operator
STATUS: deployed
REVISION: 1
TEST SUITE: None
2026-02-24T17:32:12 info succeeded in creating a new cluster, enjoy it!
2026-02-24T17:32:12 info 
      ___           ___           ___           ___       ___           ___
     /\  \         /\  \         /\  \         /\__\     /\  \         /\  \
    /::\  \       /::\  \       /::\  \       /:/  /    /::\  \       /::\  \
   /:/\ \  \     /:/\:\  \     /:/\:\  \     /:/  /    /:/\:\  \     /:/\ \  \
  _\:\~\ \  \   /::\~\:\  \   /::\~\:\  \   /:/  /    /:/  \:\  \   _\:\~\ \  \
 /\ \:\ \ \__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/    /:/__/ \:\__\ /\ \:\ \ \__\
 \:\ \:\ \/__/ \:\~\:\ \/__/ \/__\:\/:/  / \:\  \    \:\  \ /:/  / \:\ \:\ \/__/
  \:\ \:\__\    \:\ \:\__\        \::/  /   \:\  \    \:\  /:/  /   \:\ \:\__\
   \:\/:/  /     \:\ \/__/        /:/  /     \:\  \    \:\/:/  /     \:\/:/  /
    \::/  /       \:\__\         /:/  /       \:\__\    \::/  /       \::/  /
     \/__/         \/__/         \/__/         \/__/     \/__/         \/__/

                  Website: https://sealos.io/
                  Address: github.com/labring/sealos
                  Version: 5.1.1-1e312ad2c

Sealos安装完成后,会自动开机自动,不需要额外设置。

查看证书有效期

复制代码
kubeadm certs check-expiration

输出如下,默认是99年

复制代码
CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Jan 31, 2126 09:31 UTC   99y             no      
etcd-ca                 Jan 31, 2126 09:31 UTC   99y             no      
front-proxy-ca          Jan 31, 2126 09:31 UTC   99y             no   

六、添加镜像仓库代理

注意:默认下载镜像可能会失败,因此需要配置镜像仓库代理

复制代码
# 创建 docker.io 镜像源配置目录
mkdir -p /etc/containerd/certs.d/docker.io

# 添加国内镜像代理配置hosts.toml
cat > /etc/containerd/certs.d/docker.io/hosts.toml << 'EOF'
server = "https://docker.io"

[host."https://docker.1ms.run"]
  capabilities = ["pull", "resolve"]

[host."https://docker.xuanyuan.me"]
  capabilities = ["pull", "resolve"]

[host."https://docker.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF

# 重启 containerd
systemctl restart containerd

# 检查配置是否生效
crictl info | grep -A 10 "registry"

测试下载nginx镜像,等待5分钟左右

复制代码
crictl pull nginx:latest

如果卡住了,Ctrl+C关闭,再次执行,输出如下:

复制代码
# crictl pull nginx
Image is up to date for sha256:5cdef4ac3335f68428701c14c5f12992f5e3669ce8ab7309257d263eb7a856b1

有输出sha256就说明下载成功了

七、验证安装

复制代码
# 1. 查看节点状态(单节点应显示为 Ready)
kubectl get nodes -o wide

# 2. 查看系统 Pod 状态
kubectl get pods -A

# 3. 查看集群信息
kubectl cluster-info

# 4. 查看 sealos 镜像列表
sealos images

八、部署 Nginx 应用测试

复制代码
# 1. 创建 Nginx 部署
kubectl create deployment nginx --image=nginx:latest --replicas=1

# 2. 暴露服务(NodePort 方式)
kubectl expose deployment nginx --port=80 --type=NodePort

# 3. 查看服务
kubectl get svc nginx

查看pod,确保是Running状态

复制代码
# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-56fcf95486-8f4d2   1/1     Running   0          21s

测试访问(使用 NodePort 端口)

复制代码
curl http://192.168.52.129:$(kubectl get svc nginx -o jsonpath='{.spec.ports[0].nodePort}')

输出如下:

复制代码
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

安装过程,到此结束了!

下面介绍了一些扩展知识

九、常用运维命令

复制代码
# 查看 sealos 版本
sealos version

# 查看集群镜像
sealos images

# 保存集群镜像(用于离线迁移)
sealos save -o kubernetes.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6

# 加载镜像
sealos load -i kubernetes.tar

# 添加节点(后续扩容)
sealos add --nodes 192.168.52.12

# 删除节点
sealos delete --nodes 192.168.52.12

# 重置集群(清理所有资源)
sealos reset

# 查看日志
journalctl -u kubelet -f

十、离线安装方案

如果需要在离线环境部署,提前在联网机器上准备:

复制代码
# 1. 联网机器下载镜像
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1
sealos pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1

# 2. 保存为 tar 包
sealos save -o kubernetes.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6
sealos save -o helm.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1
sealos save -o calico.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1

# 3. 复制到离线节点后加载
sealos load -i kubernetes.tar
sealos load -i helm.tar
sealos load -i calico.tar

# 4. 离线安装
sealos run \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/kubernetes:v1.33.6 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/helm:v3.17.1 \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/labring/calico:v3.28.1 \
  --single

注意事项

  • 1.不要预装 Docker:Sealos 会自动安装 Containerd,预装 Docker 可能导致冲突
  • 2.主机名规范:不要带下划线,建议使用 k8s-master 格式
  • 3.内存要求:Master 节点至少 2GB 内存,建议 4GB 以上,否则可能出现 [ERROR Mem]: the system RAM (1427 MB) is less than the minimum 1700 MB
  • 4.openEuler 特定:确保安装 socat 包,否则安装过程中会有警告 [WARNING FileExisting-socat]
  • 5.Helm 必须在网络插件之前:labring/helm 应当在 labring/calico 之前运行
  • 6.版本选择:建议使用 v1.29.9 或 v1.28.x 等较稳定版本,小版本号越高越稳定
相关推荐
懒鸟一枚2 小时前
k8s 之 Kubernetes服务发布基础
云原生·容器·kubernetes
Joren的学习记录2 小时前
【Linux运维大神系列】k8s项目部署实战
linux·运维·kubernetes
only_Klein3 小时前
Kubernetes-Service实现
云原生·容器·kubernetes·service
A-刘晨阳3 小时前
K8S部署kube-state-metrics + CAdvisor 并使用 Prometheus 监控 Kubernetes 指标
运维·云原生·kubernetes·云计算·prometheus·cadvisor·state-metrics
码农老J3 小时前
【十六】容器化技术:Docker与Kubernetes实战
docker·容器·kubernetes
切糕师学AI4 小时前
Kubernetes DaemonSet 详细介绍
kubernetes·daemonset
努力搬砖的咸鱼14 小时前
一个域名搞定前后端:用 Ingress 配置 / 和 /api 路由
微服务·云原生·容器·架构·kubernetes
Zhu_S W17 小时前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
m0_576116411 天前
kubectl:k8s集群管理命令和Node节点
docker·容器·kubernetes