ALIYUN::SAE::Application类型用于创建SAE应用。
语法
{
"Type": "ALIYUN::SAE::Application",
"Properties": {
"Timezone": String,
"AppDescription": String,
"MountDesc": String,
"NasId": String,
"WarStartOptions": String,
"Liveness": String,
"Memory": Integer,
"WebContainer": String,
"SlsConfigs": String,
"Cpu": Integer,
"Deploy": Boolean,
"PackageVersion": String,
"AppName": String,
"Jdk": String,
"JarStartArgs": String,
"PreStop": String,
"Readiness": String,
"PackageType": String,
"CommandArgs": String,
"Envs": String,
"VSwitchId": String,
"ImageUrl": String,
"PostStart": String,
"JarStartOptions": String,
"MountHost": String,
"Replicas": Integer,
"CustomHostAlias": String,
"VpcId": String,
"Tags": List,
"SecurityGroupId": String,
"Command": String,
"EdasContainerVersion": String,
"PackageUrl": String,
"NamespaceId": String,
"AssociateEip": Boolean,
"AcrInstanceId": String,
"OssAkId": String,
"ProgrammingLanguage": String,
"OssAkSecret": String,
"Python": String,
"BaseAppId": String,
"EnableEbpf": String,
"PhpArmsConfigLocation": String,
"PhpConfig": String,
"MicroRegistrationConfig": String,
"TerminationGracePeriodSeconds": Integer,
"ConfigMapMountDesc": String,
"PvtzDiscoverySvc": String,
"AcrAssumeRoleArn": String,
"TomcatConfig": String,
"AppSource": String,
"PythonModules": String,
"NasConfigs": String,
"MicroRegistration": String,
"ServiceTags": String,
"ImagePullSecrets": String,
"AutoConfig": Boolean,
"KafkaConfigs": String,
"Php": String,
"OssMountDescs": List,
"PhpConfigLocation": String,
"SaeVersion": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Timezone | String | 否 | 是 | 时区。 | 默认值:Asia/Shanghai。 |
AppDescription | String | 否 | 否 | 应用描述信息。 | 长度不超过1024个字符。 |
MountDesc | String | 否 | 是 | 挂载描述。 | 无 |
NasId | String | 否 | 是 | 挂载的NAS的ID。 | NAS必须有可用的挂载点创建额度,或者其挂载点已经在专有网络内的交换机上。如果不指定该参数,而是指定了MountDesc参数,则默认自动购买一个NAS并挂载到VPC内的交换机上。 |
WarStartOptions | String | 否 | 是 | War包启动应用选项。 | 应用默认启动命令: |
Liveness | String | 否 | 是 | 容器健康检查,健康检查失败的容器将重启。 | 目前仅支持容器内下发命令的方式。例如: |
Memory | Integer | 是 | 否 | 每个实例所需的内存。目前仅支持固定规格的实例类型。 | 与CPU为一一对应关系,目前仅支持以下固定规格:
单位:MB。 |
WebContainer | String | 否 | 是 | 部署包依赖的Tomcat版本。 | 镜像不支持该参数。 |
SlsConfigs | String | 否 | 是 | 文件日志采集配置。 | 无 |
Cpu | Integer | 是 | 否 | 每个实例所需的CPU。目前仅支持固定规格的实例类型。 | 取值:
单位:毫核。 |
Deploy | Boolean | 否 | 否 | 是否立即部署。 | 取值:
|
Tags | List | 否 | 是 | 标签。 | 最多支持20个标签。 |
PackageVersion | String | 否 | 是 | 部署的包的版本号。 | PackageType取值为War或FatJar时必须指定该参数。 |
AppName | String | 是 | 否 | 应用名称。 | 长度不超过36个字符,必须以英文字母开头。可包含英文字母、数字和短划线(-)。 |
Jdk | String | 否 | 是 | 部署包依赖的JDK版本。 | 镜像不支持该参数。 |
JarStartArgs | String | 否 | 是 | JAR包启动应用参数。 | 应用默认启动命令: |
PreStop | String | 否 | 是 | 容器删除前执行脚本。 | 容器删除前执行脚本,例如: |
Readiness | String | 否 | 是 | 应用启动状态检查脚本。 | 应用启动状态检查脚本,例如: 多次健康检查失败的容器将被重启。不通过健康检查的容器将不会有SLB流量进入。 |
PackageType | String | 是 | 否 | 应用包类型。 | 取值:
|
CommandArgs | String | 否 | 是 | 镜像启动命令参数。 | 无 |
Envs | String | 否 | 是 | 容器环境变量参数。 | 容器环境变量参数的格式:
|
VSwitchId | String | 否 | 否 | 应用实例弹性网卡所在的交换机。 | 该交换机必须位于上述专有网络内。交换机与EDAS命名空间存在绑定关系。不指定该参数则为命名空间绑定的VSwitchId。 |
ImageUrl | String | 否 | 是 | 镜像地址。 | 只有Image类型应用可以配置镜像地址。 |
PostStart | String | 否 | 是 | 容器启动后执行脚本。 | 容器启动后执行脚本,例如: |
JarStartOptions | String | 否 | 是 | JAR包启动应用选项。 | 应用默认启动命令: |
MountHost | String | 否 | 是 | NAS在专有网络内的挂载点。 | 无 |
Replicas | Integer | 是 | 否 | 初始实例数。 | 无 |
CustomHostAlias | String | 否 | 是 | 容器内自定义host映射。 | 容器内自定义host映射,格式:
|
VpcId | String | 否 | 否 | SAE命名空间对应的专有网络。 | 在SAE中,一个命名空间只能对应一个专有网络,且不能修改。第一次在命名空间内创建SAE应用将形成绑定关系。多个命名空间可以对应一个专有网络。不填则默认为命名空间绑定的VpcId。 |
SecurityGroupId | String | 否 | 否 | 安全组ID。 | 无 |
Command | String | 否 | 是 | 镜像启动命令。 | 该命令必须为容器内存在的可执行的对象。例如:sleep。 设置该命令将导致镜像原本的启动命令失效。 |
EdasContainerVersion | String | 否 | 是 | EDAS Pandora应用使用的运行环境。 | 无 |
PackageUrl | String | 否 | 是 | 部署包地址。 | PackageType取值为War或FatJar时该参数有效。 |
NamespaceId | String | 是 | 否 | EDAS命名空间对应ID。 | 仅支持名称为小写英文字母和短划线(-)的命名空间,必须以小写英文字母开头。 |
AssociateEip | Boolean | 否 | 否 | 是否绑定 EIP。 | 取值说明如下:
|
AcrInstanceId | String | 否 | 否 | ACR 企业版实例 ID。 | 无 |
OssAkId | String | 否 | 否 | OSS 读写的 AccessKey ID。 | 无 |
ProgrammingLanguage | String | 否 | 否 | 创建应用的技术栈语言。 | 取值说明如下:
|
OssAkSecret | String | 否 | 否 | OSS 读写的 AccessKey Secret。 | 无 |
Python | String | 否 | 否 | Python 环境。 | 支持 PYTHON 3.9.15。 |
BaseAppId | String | 否 | 否 | 基础应用 ID。 | 无 |
EnableEbpf | String | 否 | 否 | 基于 eBPF 技术,对非 Java 应用开启应用监控能力。 | 取值说明如下:
|
PhpArmsConfigLocation | String | 否 | 否 | PHP 应用监控挂载路径,需要您保证 PHP 服务器一定会加载这个路径的配置文件。 | 您无需关注配置内容,SAE 会自动渲染正确的配置文件。 |
PhpConfig | String | 否 | 否 | PHP 配置文件内容。 | 无 |
MicroRegistrationConfig | String | 否 | 否 | 注册中心配置信息。 | 无 |
TerminationGracePeriodSeconds | Integer | 否 | 否 | 优雅下线超时时间。 | 默认为 30,单位为秒。取值范围为 1~300。 |
ConfigMapMountDesc | String | 否 | 否 | ConfigMap挂载描述。 | 使用在命名空间配置项页面创建的配置项来向容器中注入配置信息。参数说明如下:
说明 可通过传递 |
PvtzDiscoverySvc | String | 否 | 否 | 开启 K8s Service 服务注册发现。 | 取值说明如下:
|
AcrAssumeRoleArn | String | 否 | 否 | 跨账号拉取镜像时所需的 RAM 角色的 ARN。 | 更多信息,请参见为RAM角色授权。 |
TomcatConfig | String | 否 | 否 | Tomcat 文件配置。 | 设置为""或"{}"表示删除配置:
|
AppSource | String | 否 | 否 | 微服务应用。 | 可选值:
|
PythonModules | String | 否 | 否 | 自定义安装模块依赖。 | 默认安装根目录下 requirements.txt 定义的依赖项。如果未配置或自定义软件包,可以指定安装的依赖。 |
NasConfigs | String | 否 | 否 | 挂载 NAS 的配置。 | 取值说明如下:
|
MicroRegistration | String | 否 | 否 | 选择 Nacos 注册中心。 | 取值说明如下:
|
ServiceTags | String | 否 | 否 | 应用配置的灰度标签。 | 无 |
ImagePullSecrets | String | 否 | 否 | 对应保密字典 ID。 | 无 |
AutoConfig | Boolean | 否 | 否 | 是否自动配置网络环境。 | 取值说明如下:
说明 如果选择为true,则传其他的NamespaceId会被忽略。 |
KafkaConfigs | String | 否 | 否 | 日志采集到 Kafka 的配置汇总信息。 | 取值说明如下:
|
Php | String | 否 | 否 | PHP 部署包依赖的 PHP 版本。 | 无。 |
OssMountDescs | List | 否 | 否 | OSS 挂载描述信息。 | 参数说明如下:
|
PhpConfigLocation | String | 否 | 否 | PHP 应用启动配置挂载路径 | 需要您保证 PHP 服务器会使用这个配置文件启动。 |
SaeVersion | String | 否 | 否 | SAE 版本。 | 支持版本如下:
|
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 |
返回值
Fn::GetAtt
AppId:应用ID。
ChangeOrderId:发布单ID,用于查询任务执行状态。
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
NamespaceId:
Type: String
Description: |-
EDAS namespace corresponding to ID. Canada supports only the name of the scribe lowercase namespace must begin with a letter.
Namespace can interface to obtain from DescribeNamespaceList.
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Resources:
Application:
Type: ALIYUN::SAE::Application
Properties:
AppName: TestApp
NamespaceId:
Ref: NamespaceId
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: SecurityGroupId
Cpu: 500
Memory: 1024
Replicas: 2
PackageType: War
Deploy: true
Timezone: Asia/Shanghai
Outputs: {}
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"NamespaceId": {
"Type": "String",
"Description": "EDAS namespace corresponding to ID. Canada supports only the name of the scribe lowercase namespace must begin with a letter.\nNamespace can interface to obtain from DescribeNamespaceList."
},
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
}
},
"SecurityGroupId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
}
}
},
"Resources": {
"Application": {
"Type": "ALIYUN::SAE::Application",
"Properties": {
"AppName": "TestApp",
"NamespaceId": {
"Ref": "NamespaceId"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"Cpu": 500,
"Memory": 1024,
"Replicas": 2,
"PackageType": "War",
"Deploy": true,
"Timezone": "Asia/Shanghai"
}
}
},
"Outputs": {
}
}
更多示例,请参见创建命名空间、创建SAE应用和为应用绑定SLB的组合示例:YAML示例。