Sealos 用了五年的时间从一个 K8s 一键安装工具蜕变成了一个真正的云操作系统,将产品体验提升到了极致,也收获了 10w+ 的社区用户。
一个多月前,Sealos 正式发布了公有云托管版本,社区用户狂喜,纷纷寻找私有化部署教程。现在教程来了,本文将会手把手教你如何私有化部署 Sealos 桌面环境。
准备工作
1. 服务器配置要求
- 推荐使用奇数台 Master 节点和若干 Node 节点
- 操作系统 :Ubuntu 22.04 LTS
- 内核版本 :5.4 及以上
- 配置推荐 :CPU 4 核 , 内存 8GB, 存储空间 100GB 以上
- 最小配置 :CPU 2 核 , 内存 4GB, 存储空间 60GB
2. 网络要求
- 所有节点之间网络互通
- Master 节点可以通过 SSH 免密登陆到其他节点
- 所有节点可以通过 Ping 通信
3. 域名要求
- 需要一个域名用于访问 Sealos 及相关服务
- 没有域名可以使用 nip.io 免费域名服务
在线部署
部署 Kubernetes 集群
得益于 Sealos CLI 强大的 Kubernetes 生命周期管理,Kubernetes 集群部署变得非常简单:
##注意:helm 版本需要在 3.12.0 及以上!
$ 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.140.0.16 \
--nodes 10.140.0.54 > Clusterfile
#请修改 Clusterfile 中的 PodSubnet 及 ServiceSubnet
默认的 PodSubnet: 100.64.0.0/10
#默认的 ServiceSubnet: 10.96.0.0/22
$ sealos apply -f Clusterfile
等待集群就绪后 , 使用 kubectl get pods -A 查看集群状态:
在所有 Pod 均为 Ready 状态后,即可进行下一步操作。如果您需要部署其他版本的 Kubernetes 集群,可以在 Sealos 文档 中查看支持的版本。
部署 Sealos 依赖组件
使用下面的脚本即可一键安装 Sealos 所有的依赖组件:
#!/bin/bash
set -e
cat << EOF > ingress-nginx-config.yaml
apiVersion: apps.sealos.io/v1beta1
kind: Config
metadata:
creationTimestamp: null
name: ingress-nginx-config
spec:
data: |
controller:
hostNetwork: true
kind: DaemonSet
service:
type: NodePort
match: docker.io/labring/ingress-nginx:v1.5.1
path: charts/ingress-nginx/values.yaml
strategy: merge
EOF
sealos run docker.io/labring/kubernetes-reflector:v7.0.151\
docker.io/labring/ingress-nginx:v1.5.1\
docker.io/labring/zot:v1.4.3\