sealos 是什么?我想引用它官方的一句话改造下,sealos 让云像个人电脑一样简单
官方文档地址:https://docs.sealos.io/zh-Hans/docs/Intro
今年6月份,sealos 正式发布了公有云托管版本,网上私有化教程不多,自己一点小坑现记录如下
主要参考 https://mp.weixin.qq.com/s/tlXQ92jM2T35z-57oPsaRQ
sealos 版本建议下载最新版(latest 版本)
服务器内核版本在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.,有一定额度
标签:ingress,labring,--,私有化,centos7,nginx,io,sealos From: https://www.cnblogs.com/xq0422/p/17754032.html