title: Sealos date: 2023-07-21 18:29 permalink: /guide/deploy/sealos article: false
部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台
先说下我喜欢Sealos的原因:
简单的页面,适合新手小白,无需了解过多的云服务相关知识
操作起来和操作一个os一样,点击、配置、部署,一气呵成。 对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。
简单易懂的计费方式:花费更低,效果不变
对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费), sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。
配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控
sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP 当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。
如何部署
sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:
Step.1 注册账户
注册并登陆cloud.sealos.io, 点击App Launchpad
Step.2 部署
::: warning 注意
sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。
同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。 :::
点击右上角create application
, 如下填写参数:
::: tip 提示 此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图: :::
往下拉,还有高级配置里面的启动命令:
::: tip 提示
此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:
/app/seamoon server -p 8089 -t grpc
, 如下图:
:::
你也可以直接选择yaml文件,参考如下:
注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。 可以用于参考和对比。没出现的参数代表意义不大,不用管。
apiVersion: v1
kind: Service
metadata:
name: seamoon-ws
labels:
cloud.sealos.io/app-deploy-manager: seamoon-ws
spec:
ports:
- port: 9000
targetPort: 9000
selector:
app: seamoon-ws
apiVersion: apps/v1
kind: Deployment
metadata:
name: seamoon-server
annotations:
originImageName: dvkunion/seamoon-server:latest
deploy.cloud.sealos.io/minReplicas: '1'
deploy.cloud.sealos.io/maxReplicas: '1'
deploy.cloud.sealos.io/resize: 0Gi
labels:
cloud.sealos.io/app-deploy-manager: seamoon-server
app: seamoon-server
spec:
replicas: 1
revisionHistoryLimit: 1
selector:
matchLabels:
app: seamoon-server
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1
template:
metadata:
labels:
app: seamoon-server
spec:
containers:
- name: seamoon-server
image: dvkunion/seamoon-server:latest
env:
- name: serverMod
value: socks5
resources:
requests:
cpu: 10m
memory: 6Mi
limits:
cpu: 100m
memory: 64Mi
ports:
- containerPort: 9000
name: ''
imagePullPolicy: Always
volumeMounts: []
volumes: []
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: network-xxxxxxxx
labels:
cloud.sealos.io/app-deploy-manager: seamoon-ws
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: 32m
nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
nginx.ingress.kubernetes.io/backend-protocol: WS
spec:
rules:
- host: "*****" # 系统自动生成
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: seamoon-ws
port:
number: 9000
tls:
- hosts:
- "*****" # 系统自动生成
secretName: wildcard-cloud-sealos-io-cert
Step.3 本地客户端
填写完成后,点击右上角 Deploy
, 等待部署完成,状态success后,获取到服务地址。
然后在本地启动客户端,推荐 docker 一键拉起:
$ docker run -it -d --net=host dvkunion/seamoon proxy
默认使用--net=host
模式, 如需要高级设置,如下:
$ docker run -it -d -p 7777:7777 -p 1080:1080 dvkunion/seamoon proxy
访问本地控制台 localhost:7777 , 将此地址填入客户端即可。
::: tip 如何填写地址
填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:
wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。 :::
效果展示
[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑
整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)
如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)