sealos 是什么?我想引用它官方的一句话改造下,sealos 让云像个人电脑一样简单
官方文档地址:https://docs.sealos.io/zh-Hans/docs/Intro
今年6月份,sealos 正式发布了公有云托管版本,网上私有化教程不多,自己一点小坑现记录如下
主要参考 https://mp.weixin.qq.com/s/tlXQ92jM2T35z-57oPsaRQ
sealos 版本建议下载最新版(latest 版本)
#https://docs.sealos.io/zh-Hans/docs/self-hosting/lifecycle-management/quick-start/install-cli
服务器内核版本在5.4及以上 不会的看这个 https://www.cnblogs.com/xq0422/p/17733293.html
配置最低2核4G内存60G硬盘
Master 节点可以通过 SSH 免密登陆到其他节点
主要分成三个步骤
一、部署 Kubernetes 集群 #修改masters 与nodes 为自己的ip
# 注意: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
二、部署 Sealos 依赖组件 注意kubeblocks
镜像为v0.6.2版本
#!/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 docker.io/labring/kubeblocks:v0.6.2 --env policy=anonymousPolicy --config-file ingress-nginx-config.yaml echo "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; do sleep 5 done echo "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
三、部署Sealos #ip 要改成自己的
$ sealos run docker.io/labring/sealos-cloud:latest --env cloudDomain="34.81.60.57.nip.io"
问题集合:
1.安装失败就多试几次 sealos reset ,确保kubectl get po -A 都是Running 的情况下再执行下一步
2.“ Waiting waiting for mongodb secret generated ”, 应检查kubeblocks是否正常。
kbcli addon list
应保证apecloud-mysql、mongodb、postgresql、redis为enable
3.私有化充值问题,官方当前还在开发中,用root账号,默认密码sealos2023.,有一定额度