Skip to main content
版本:v1.4

设置部署环境

通过部署环境,可以为你的应用配置全局工作空间、email 以及域名。通常情况下,部署环境分为 test (测试环境)、staging (生产镜像环境)、prod(生产环境)等。

创建环境

$ vela env init demo --email my@email.com
environment demo created, Namespace: default, Email: my@email.com

检查部署环境元数据

$ vela env ls
NAME CURRENT NAMESPACE EMAIL DOMAIN
default default
demo * default my@email.com

默认情况下, 将会在 K8s 默认的命名空间 default 下面创建环境。

配置变更

你可以通过再次执行如下命令变更环境配置。

$ vela env init demo --namespace demo
environment demo created, Namespace: demo, Email: my@email.com
$ vela env ls
NAME CURRENT NAMESPACE EMAIL DOMAIN
default default
demo * demo my@email.com

注意:部署环境只针对新创建的应用生效,之前创建的应用不会受到任何影响。

[可选操作] 配置域名(前提:拥有 public IP)

如果你使用的是云厂商提供的 k8s 服务并已为 ingress 配置了公网 IP,那么就可以在环境中配置域名来使用,之后你就可以通过该域名来访问应用,并且自动支持 mTLS 双向认证。

例如, 你可以使用下面的命令方式获得 ingress service 的公网 IP:

$ kubectl get svc -A | grep LoadBalancer
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-ingress-lb LoadBalancer 172.21.2.174 123.57.10.233 80:32740/TCP,443:32086/TCP 41d

命令响应结果 EXTERNAL-IP 列的值:123.57.10.233 就是公网 IP。 在 DNS 中添加一条 A 记录吧:

*.your.domain => 123.57.10.233

如果没有自定义域名,那么你可以使用如 123.57.10.233.xip.io 作为域名,其中 xip.io 将会自动路由到前面的 IP 123.57.10.233

$ vela env init demo --domain 123.57.10.233.xip.io
environment demo updated, Namespace: demo, Email: my@email.com

在 Appfile 中使用域名

由于在部署环境中已经配置了全局域名, 就不需要在 route 配置中特别指定域名了。

# in demo environment
services:
express-server:
...

route:
rules:
- path: /testapp
rewriteTarget: /
$ curl http://123.57.10.233.xip.io/testapp
Hello World