Sealos私有化部署

433 阅读1分钟

1.Centos 7.9 内核问题导致部署失败

2.Ubuntu 22.04 免密登录未配置正确,配置到了普通用户免密,正确的应该是ssh root@address 能够免密登录root账户

3.下载pull速度慢的问题,仓库ip地址tcpdump 的结果是美国cloudflare节点有时快有时慢,晚上12点后和早上好像挺快

终于来了!Sealos 桌面环境完全部署指南

部署kubernetes集群

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 192.168.124.46 \
    --nodes 192.168.124.28 > Clusterfile
    
    
sealos apply -f Clusterfile

创建一个脚本文件vim sealos.sh粘贴下面内容,添加权限chmod +x sealos.sh

#!/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.5.3\  
    --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 desktop 程序

sealos run registry.cn-hangzhou.aliyuncs.com/fckc/sealos-cloud-private:latest\
    --env cloudDomain="192.168.124.46.nip.io"

自定义域名以及证书部署 vim deploySealosCloud.sh

#!/bin/bash  
# 读取原始证书和密钥文件  
tls_crt_file="tls.cer"  
tls_key_file="tls.key"  
# 使用 base64 转换  
tls_crt_base64=$(cat $tls_crt_file | base64 | tr -d '\n')  
tls_key_base64=$(cat $tls_key_file | base64 | tr -d '\n')  
# 定义 YAML 文件内容  
yaml_content="  
apiVersion: apps.sealos.io/v1beta1  
kind: Config  
metadata:  
  name: secret  
spec:  
  path: manifests/tls-secret.yaml  
  # please change the match image to your own image  
  match: docker.io/labring/sealos-cloud:latest  
  strategy: merge  
  data: |  
    data:  
      tls.crt: $tls_crt_base64  
      tls.key: $tls_key_base64  
"  
# 创建新的 cloud-config.yaml 文件  
echo "$yaml_content" > tls-secret.yaml  

添加脚本执行权限 chmod +x deploySealosCloud.sh
执行脚本 ./deploySealosCloud.sh
部署sealos cloud

sealos run registry.cn-hangzhou.aliyuncs.com/fckc/sealos-cloud-private:latest\
 --env cloudDomain="yourdomain.com"\
 --config-file tls-secret.yaml