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示例。