1.7 应用部署与管理

优质
小牛编辑
132浏览
2023-12-01

概述

在应用引擎v2中部署的应用,除了Docker镜像相关信息,还包括以下的配置信息:

  • 资源限制(内存)
  • 实例数
  • 环境变量
  • 外部域名以及证书

    访问方式

    一个应用部署后,会自动分配一个内部域名,形式是<app-name>.<namespace>.svc.cluster.local。其他部署到应用引擎v2的应用,可以通过这个域名来访问这个应用,支持TCP和UDP协议。 如果部署的是有状态应用,除了统一的内部访问域名外,每个实例还会有自己的内部域名,形式是`<app-name>-<index>.<app-name>-hd.<namespace>.svc.cluster.local。其他部署到应用引擎v2的应用,可以通过这个域名来访问这个实例,支持TCP和UDP协议。

如果需要从外部访问,可选HTTP/HTTPS或者TCP/UDP形式。HTTP/HTTPS必须给应用指定域名,如果使用https,还必须配置secret证书。TCP/UDP形式需要选择要暴露的端口,每个公司都有一定的端口范围,一个端口只能供一个应用使用。TCP/UDP服务器IP请联系生态云团队获取。

创建应用

  • 应用类型:无状态和有状态,有状态应用每个实例都有自己的网络标识,可以互相通信。无状态应用单个实例没有自己的网络标识,不可以互相通信。
  • 应用名称:只允许小写字母和数字,以及连接符(-),只能以小写字母开头,长度不超过253
  • Docker镜像:应用的镜像地址,可以是应用引擎可以访问到的任何地址;考虑到下载速度,建议使用生态云提供的镜像仓库来存放镜像,请联系生态云管理员开通。
  • 镜像仓库Secrets:如果镜像仓库需要登录,在这里指定凭证信息(在Secrets管理里面创建)
  • 启动命令:如果需要,以JSON数组的形式指定启动命令。建议直接在Dockerfile指定ENTRYPOINT或者CMD
  • 启动命令参数:如果需要,以JSON数组的形式指定启动命令的参数
  • 实例数:指定要启动的实例数(大于等于1的整数)
  • 内存限额:范围是[64,4096],单位Mb
  • 内部访问域名:根据应用名称和Namespace自动生成
  • 服务:应用提供的服务的协议(TCP或者UDP),服务端口以及容器的端口。服务端口可以随意指定(HTTP服务建议使用80),容器端口是Docker镜像暴露的端口
  • 外部服务类型:如果提供外部HTTP服务,需要绑定URL,如果提供外部TCP/UDP服务,需要选择端口
  • 是否只允许HTTPS:如果是,HTTP请求会被自动重定向到HTTPS
  • URLs:提供外部访问的URL(域名以及路径),可以绑定多个。如果只允许HTTPS,必须指定TLS证书(在Secrets管理中创建)
  • 环境变量:应用运行时用到的环境变量,可以直接赋值,也可以引用在"配置管理"中创建的ConfigMap项

关于磁盘限额

目前应用引擎v2不限制磁盘大小,但不要在本地存储持久文件,需要使用FDS等后端存储服务;日志必须写到标准输出或者标准错误输出(stdout/stderr).

我们会监控磁盘的使用情况,占用过大(>5G)磁盘空间的应用会在通知一次后,强制重启.

应用详情

启动或停止停应用

在"应用详情"页面右上角,有启动/停止按钮,可以启动或者停止应用. 需要注意的是,应用停止后再启动,实例数会变成1

手动扩容

手动修改实例数后,实例的启动或者终止需要一定时间,所以"实例列表"中的实例信息需要一些时间,才会同步到设定的实例数

事件列表

"应用详情"的最下面,按照发生时间倒序,列出100条最近发生的事件

更新应用

更新应用,可以修改除应用名称,Namespace和实例数之外的其他信息。

灰度升级

灰度升级是平滑升级对外服务应用的一种方式. 一般流程如下:

  1. 应用上线,并绑定正式域名,对外提供服务

  2. 部署新版应用,绑定测试域名进行测试

  3. 测试通过后, 把正式域名从旧版应用移除并绑定到新版应用

  4. 停止或者删除旧版应用