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樣本。