Sealos Web UI 公有云部署实践

发布时间 2023-07-18 20:46:43作者: 花红沁人心

不管部署任何开源的产品,首先看他的官网文档或者github的readme、wiki等等

这是 sealos github readme

https://github.com/labring/sealos/blob/main/deploy/cloud/README.md

 

 

一、准备一台服务器

​你可以使用自己本地电脑安装 vmware 创建一台虚拟机,操作系统Ubuntu

我这里是购买香港阿里云按量付费的ECS

os系统 Ubuntu22.04、4c8g、40g disk 、安全组 放行 80  443 端口

配置稍微低配一点点的也可以,但是不能太低了

 

二、准备一个域名

准备一个域名用于访问部署的sealos web ui,

需要给域名添加两条解析记录,

一条是添加A记录解析到虚拟机的IP地址,

另一条是将第一条A记录的子域名{fan}解析到虚拟机的IP地址,

我这里测试使用的域名是cloudnativesig.com,

所以添加了如下两条解析记录,分别是:

47.242.108.255.cloudnativesig.com 解析到IP地址47.242.108.255

*.47.242.108.255.cloudnativesig.com 解析到IP地址47.242.108.255

 

这里可以配合 acme.sh 白{piao}免费三个月 https 证书

 

curl https://get.acme.sh | sh -s email=my@example.com

export Ali_Key="<your ali key>"

export Ali_Secret="<your ali secret>"

acme.sh --issue --dns dns_ali -d "47.242.108.255.cloudnativesig.com" -d "*.47.242.108.255.cloudnativesig.com"

base64 -w 0 ~/.acme.sh/${<your domian path>}/fullchain.cer

base64 -w 0 ~/.acme.sh/${<your domian path>}/${<your domian>}.key

 

比如我这里base64 后续 https 的时候需要用到

base64 -w 0 /root/.acme.sh/47.242.108.255.cloudnativesig.com_ecc/47.242.108.255.cloudnativesig.com.cerbase64 -w 0 /root/.acme.sh/47.242.108.255.cloudnativesig.com_ecc/47.242.108.255.cloudnativesig.com.key

 

三、安装sealos

https://sealos.io/en/docs/lifecycle-management/quick-start/installation

从sealos官网的安装文档找到对应系统的sealos安装脚本、假如不懂自己系统架构的话,复制第一条安装命令梭哈

curl -sfL https://raw.githubusercontent.com/labring/sealos/v4.2.0/scripts/install.sh \    | sh -s v4.2.0 labring/sealos 

 

假如你的服务器下载github的很慢,你可以下载install.sh 这个脚本。或者github  raw 模式、或者找朋友帮忙,把整个脚本内容复制下来,创建一个install.sh文件,把内容贴进去。更改 第96行  

DOWNLOADER_PREFIX=https://ghproxy.com/https://github.com/${OWN_REPO}/releases/download/

 

github 前面加一个魔法https://ghproxy.com/

在执行  

./install.sh v4.2.0 labring/sealos

 

然后等待sealos安装完成

 

四、生成 Clusterfile 文件安装k8s

使用下面的命令生成所需的 Clusterfile,注意命令中的 172.26.216.195 为K8S集群master节点的IP,需要根据你的环境替换成正确的master节点IP地址,假如你的是公有云的ECS用内网的ip。否则会有问题,我这里master节点的IP是172.26.216.195,所以命令如下:

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\    labring/kubernetes-reflector:v7.0.151\    labring/zot:v1.4.3\    labring/kubeblocks:v0.5.3\    --env policy=anonymousPolicy\    --masters 172.26.216.195 > Clusterfile

 

命令执行完以后可以看到当前目录下多了一个 Clusterfile文件,如下图所示:

生成了 Clusterfile 文件以后就使用它来安装k8s集群,一条命令就搞定!

sealos apply -f Clusterfile

 

看到这个提示就安装完成k8s了

 

 

五、安装Ingress-nginx

首先使用如下命令创建ingress-nginx-config.yaml

vim ingress-nginx-config.yaml

 

然后在文件中写入如下内容:

# ingress-nginx-config.yamlapiVersion: apps.sealos.io/v1beta1kind: Configmetadata:  creationTimestamp: null  name: ingress-nginx-configspec:  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

 

然后执行命令安装ingress-nginx:

sealos run docker.io/labring/ingress-nginx:v1.5.1 --config-file ingress-nginx-config.yaml

 

看到下面的提示就是安装完成ingress-nginx了

 

六、安装sealos集群镜像

仅需要执行下面的命令就行,同样需要注意的是cloudDomain需要替换成你使用的域名

这里创建一个https证书的yaml 文件

# tls-secret.yamlapiVersion: apps.sealos.io/v1beta1kind: Configmetadata:  name: secretspec:  path: manifests/tls-secret.yaml  match: docker.io/labring/sealos-cloud:latest  strategy: merge  data: |    data:      tls.crt: <your-tls.cer-base64>      tls.key: <your-tls.key-base64>

 

 

sealos run docker.io/labring/sealos-cloud:latest \    --env cloudDomain="47.242.108.255.cloudnativesig.com" \    --config-file tls-secret.yaml

 

看到下面的提示就是安装成功了

至此便完成了sealos webui的安装,

在浏览器访问域名 

https://47.242.108.255.cloudnativesig.com 

就可以看到界面了,首次安装时没有用户,随便输入用户名密码注册登录就行