快速上手

整体流程

  1. 开通生态云Docker镜像仓库
  2. 创建空间
  3. 为空间添加权限
  4. 镜像推送到生态云Docker镜像仓库
  5. 创建Docker仓库凭证
  6. 创建域名
  7. 部署应用
  8. 访问数据库和缓存等服务

生态云镜像仓库

应用引擎V2可以使用任何Docker镜像仓库来部署应用,为了加快镜像的拉取速度和应用启动速度,请使用生态云提供的镜像仓库.

请在小米生态云支持群联系生小米态云的工程师,开通生态云Docker镜像仓库.一般情况下,一个公司会共享一个项目,可以创建多个用户. 如果需要多个项目,可以单独提出.另外生态云的镜像仓库只允许白名单访问,需要有固定的外网IP.

镜像仓库的地址跟生态云的区域一一对应,比如AWS北京的镜像仓库地址是cnbj-repo.cloud.mi.com, 金山云北京6的地址是cnbj6-repo.cloud.mi.com. 结合公司的项目名,镜像的具体地址会是(以AWS北京为例): cnbj-repo.cloud.mi.com/<company-project>/<image-name>:<image-tag>

镜像仓库地址

区域 地址
金山云-北京6 cnbj6-repo.cloud.mi.com
AWS-北京 cnbj-repo.cloud.mi.com
AWS-俄勒冈 us-repo.cloud.mi.com
AWS-法兰克福 us-repo.cloud.mi.com
AWS-新加坡 us-repo.cloud.mi.com

创建空间

使用管理员账号登录生态云,切换到金山云北京6区,然后在"用户管理"中添加如下的空间资源,名称不要包含公司的org名称

添加资源

然后把这个资源添加到相关的角色中.

注意

  1. 目前应用引擎V2开通了AWS北京区域,金山云北京6区,aws俄勒冈,aws法兰克福区域,aws新加坡区域
  2. 空间创建后, 名字前面会自动附加公司的org名称

为空间添加权限

使用管理员账号登录生态云,切换到金山云北京6区,然后在"用户管理"中的角色为空间添加权限

资源添加到相关的角色中,并为角色赋予权限,developer拥有读写权限,audit只有读权限

本地开发和测试镜像

本地完成应用的开发后,构建Docker镜像.通过测试后,把镜像推送到生态云的镜像仓库

docker login cnbj6-repo.cloud.mi.com
docker tag myapp:1.0 cnbj6-repo.cloud.mi.com/myorg/myapp:1.0
docker push cnbj6-repo.cloud.mi.com/myorg/myapp:1.0

文件和日志

不要在本地存储持久文件,需要使用FDS等后端服务.

日志不要写到本地文件,必须写到标准输出或者标准错误输出(stdout/stderr),这样才会被日志系统收集和分析.

最佳实践

Docker镜像最佳实践

创建镜像仓库凭证

登录小米生态云,在产品页面的"应用引擎V2"的"Secrets管理"中创建Docker仓库凭证,应用引擎会使用这个凭证来拉取应用的镜像

点击"Secrets管理",然后点击右上角的"创建"

注意选择"Docker仓库凭证"

Secrets管理

创建域名

如果应用对外提供Web服务,需要绑定自有域名. 假设应用对外服务的域名是app1.mydomain.com,先要在"域名管理V2"中创建mydomain.com这个域名:

创建域名

部署应用

创建应用

点击产品页面的"应用引擎V2",进入应用列表页面,然后点击左侧的"创建新应用"来进行应用部署.这里使用了前面创建的Docker镜像和仓库凭证.

注意

不要在本地存储持久文件, 日志必须写到标准输出或者标准错误输出(stdout/stderr).

部署应用

暴露外部服务

暴露外部服务是可选的,有HTTP/HTTPS和TCP/UDP两种方式

HTTP/HTTPS方式:这里使用到了前面创建的域名,如果要提供https服务,还需要创建TLS证书类型的Secrets

HTTP方式

TCP-UDP方式:

TCP方式

修改域名指向

在域名提供商的管理控制台,修改app1.mydomain.com的指向

区域 记录类型 指向
金山云-北京6 A记录 请提前做好域名备案,具体IP地址请联系生态云工程师分配
AWS-北京 CNAME 请提前做好域名备案,具体域名指向请联系生态云工程师分配
AWS-俄勒冈 CNAME k8s-nginx-lb-1874249685.us-west-2.elb.amazonaws.com
AWS-法兰克福 CNAME k8s-ingress-564916658.eu-central-1.elb.amazonaws.com
AWS-新加坡 CNAME k8s-ingress-970021590.ap-southeast-1.elb.amazonaws.com

对外提供TCP/UDP的代理服务器IP列表

区域 IP1 IP2
金山云-北京6 120.92.209.6 120.92.209.63
AWS-北京 52.80.76.13 52.80.76.13
AWS-俄勒冈 35.167.218.13 34.214.57.248
AWS-法兰克福 52.57.4.119 52.57.4.119
AWS-新加坡 13.228.7.67 52.221.144.140

访问数据库和缓存等服务

部署在应用引擎V2的应用,如需访问自己在金山云/AWS账号下的数据库或缓存等后端服务,需要

  1. 与生态云建立VPC对接
  2. 修改后端服务的安全组,允许生态云的特定网段访问
  3. 修改应用所在空间的网络策略,允许访后端服务

与生态云建立VPC对接

如果在使用老版应用引擎时,还没有跟生态云的VPC建立对接(对等连接/Peering Connection),请按照下表提供的生态云的VPC信息,在金山云/AWS控制台发起对接请求,然后联系生态云管理员批准.

AWS完成对接后,两边账号还需要各自添加路由.请把自己VPC的网段提供给生态云管理员.

金山云不需要做路由相关操作.

区域 生态云账号 VPC ID  生态云路由网段
金山云-北京6 73399430 76403753-3fa0-4978-9096-4f68e06ea2f0 N/A
AWS-北京 403169663644 vpc-d2f921b6 10.7.0.0/16
AWS-俄勒冈 654082142051 vpc-6c9d3d09 10.10.0.0/16
AWS-法兰克福 654082142051 vpc-7cf1d114 10.131.0.0/21
AWS-新加坡 654082142051 vpc-47575023 10.141.0.0/21

修改后端服务的安全组,允许生态云的特定网段访问

根据应用所在的区域,按照下表提供的网段,添加到后端服务的安全组.

区域 生态云网段
金山云-北京6 10.1.9.0/24, 10.1.10.0/24
AWS-北京 10.7.3.0/24, 10.7.4.0/24
AWS-俄勒冈 10.10.16.0/20, 10.10.80.0/20
AWS-法兰克福 10.131.2.0/24, 10.131.3.0/24
AWS-新加坡 10.141.1.0/24, 10.141.3.0/24

修改应用所在空间的网络策略,允许访后端服务

为了保证隔离和安全性, 应用引擎上的应用默认不允许访问私有保留地址, 请联系生态云管理云,提供后端服务所在的网段,用来配置网络策略,允许访问这些后端服务.

AWS的后端服务,可以ping一下服务的域名来获取网段,一般来说可以直接提供VPC的网段.

金山云后端服务的网段,就是endpoint类型子网的网段,也可以提供整个VPC的网段.

results matching ""

    No results matching ""