全部產品
Search
文件中心

:ALIYUN::SAE::Application

更新時間:Oct 29, 2024

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包啟動應用選項。

應用預設啟動命令:java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start

Liveness

String

容器健全狀態檢查,健全狀態檢查失敗的容器將重啟。

目前僅支援容器內下發命令的方式。例如:{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}

Memory

Integer

每個執行個體所需的記憶體。目前僅支援固定規格的執行個體類型。

與CPU為一一對應關係,目前僅支援以下固定規格:

  • 1024:對應CPU為500毫核。

  • 2048:對應CPU為500毫核和1000毫核。

  • 4096:對應CPU為1000毫核和2000毫核。

  • 8192:對應CPU為2000毫核和4000毫核。

  • 16384:對應CPU為4000毫核和8000毫核。

  • 32768:對應CPU為16000毫核。

  • 65536:對應CPU為8000毫核、16000毫核和32000毫核。

  • 131072:對應CPU為32000毫核。

單位:MB。

WebContainer

String

部署套件依賴的Tomcat版本。

鏡像不支援該參數。

SlsConfigs

String

檔案日誌採集配置。

Cpu

Integer

每個執行個體所需的CPU。目前僅支援固定規格的執行個體類型。

取值:

  • 500

  • 1000

  • 2000

  • 4000

  • 8000

  • 16000

  • 32000

單位:毫核。

Deploy

Boolean

是否立即部署。

取值:

  • true:立即部署。

  • false(預設值):不立即部署。

Tags

List

標籤。

最多支援20個標籤。

更多資訊,請參見Tags文法Tags屬性

PackageVersion

String

部署的包的版本號碼。

PackageType取值為War或FatJar時必須指定該參數。

AppName

String

應用程式名稱。

長度不超過36個字元,必須以英文字母開頭。可包含英文字母、數字和短劃線(-)。

Jdk

String

部署套件依賴的JDK版本。

鏡像不支援該參數。

JarStartArgs

String

JAR包啟動應用參數。

應用預設啟動命令:$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

PreStop

String

容器刪除前執行指令碼。

容器刪除前執行指令碼,例如:{"exec":{"command":"cat","/etc/group"}}

Readiness

String

應用啟動狀態檢查指令碼。

應用啟動狀態檢查指令碼,例如: {"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}

多次健全狀態檢查失敗的容器將被重啟。不通過健全狀態檢查的容器將不會有SLB流量進入。

PackageType

String

應用程式套件類型。

取值:

  • FatJar

  • War

  • Image

CommandArgs

String

鏡像啟動命令參數。

Envs

String

容器環境變數參數。

容器環境變數參數的格式: [{"name":"envtmp","value":"0"}]

  • name環境變數名稱。

  • value:環境變數值或環境變數引用。

VSwitchId

String

應用執行個體彈性網卡所在的交換器。

該交換器必須位於上述專用網路內。交換器與EDAS命名空間存在綁定關係。不指定該參數則為命名空間綁定的VSwitchId。

ImageUrl

String

鏡像地址。

只有Image類型應用可以配置鏡像地址。

PostStart

String

容器啟動後執行指令碼。

容器啟動後執行指令碼,例如:{"exec":{"command":"cat","/etc/group"}}

JarStartOptions

String

JAR包啟動應用選項。

應用預設啟動命令:$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

MountHost

String

NAS在專用網路內的掛載點。

Replicas

Integer

初始執行個體數。

CustomHostAlias

String

容器內自訂host映射。

容器內自訂host映射,格式: [{"hostName":"samplehost","ip":"127.0.XX.XX"}]

  • hostName:網域名稱或主機名稱。

  • ip:IP地址。

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。

取值說明如下:

  • true:綁定。

  • false:不綁定。

AcrInstanceId

String

ACR 企業版執行個體 ID。

OssAkId

String

OSS 讀寫的 AccessKey ID。

ProgrammingLanguage

String

建立應用的技術棧語言。

取值說明如下:

  • java:Java 語言。

  • php:PHP 語言。

  • other:多語言,例如 Python、C++、Go、.NET 和 Node.js 等。

OssAkSecret

String

OSS 讀寫的 AccessKey Secret。

Python

String

Python 環境。

支援 PYTHON 3.9.15。

BaseAppId

String

基礎應用 ID。

EnableEbpf

String

基於 eBPF 技術,對非 Java 應用開啟應用監控能力。

取值說明如下:

  • true:開啟。

  • false:關閉。預設值。

PhpArmsConfigLocation

String

PHP 應用監控掛載路徑,需要您保證 PHP 伺服器一定會載入這個路徑的設定檔。

您無需關注配置內容,SAE 會自動渲染正確的設定檔。

PhpConfig

String

PHP 設定檔內容。

MicroRegistrationConfig

String

註冊中心配置資訊。

TerminationGracePeriodSeconds

Integer

優雅下線逾時時間。

預設為 30,單位為秒。取值範圍為 1~300。

ConfigMapMountDesc

String

ConfigMap掛載描述。

使用在命名空間配置項頁面建立的配置項來向容器中注入配置資訊。參數說明如下:

  • configMapId:ConfigMap 執行個體 ID。

  • key:索引值。

  • mountPath:掛載路徑。

說明

可通過傳遞sae-sys-configmap-all參數掛載所有鍵。

PvtzDiscoverySvc

String

開啟 K8s Service 服務註冊發現。

取值說明如下:

  • serviceName:服務名稱。格式為自訂-命名空間 ID,其中尾碼-命名空間 ID不支援自訂,需根據應用所在命名空間填寫。例如,選擇華北 2(北京)地區的預設命名空間,則為-cn-beijing-default

  • namespaceId:命名空間 ID。

  • portProtocols:連接埠與協議。連接埠取值範圍為[1,65535],協議支援TCPUDP

  • portAndProtocol:連接埠與協議。連接埠取值範圍為[1,65535],協議支援TCPUDP優先推薦 portProtocols,如果設定了 portProtocols,僅 portProtocols 生效

  • enable:開啟 K8s Service 服務註冊發現。

AcrAssumeRoleArn

String

跨帳號拉取鏡像時所需的 RAM 角色的 ARN。

更多資訊,請參見為RAM角色授權

TomcatConfig

String

Tomcat 檔案配置。

設定為""或"{}"表示刪除配置:

  • port:連接埠範圍為 1024~65535,小於 1024 的連接埠需要 Root 許可權才能操作。因為容器配置的是 Admin 許可權,所以請填寫大於 1024 的連接埠。如果不配置,則預設為 8080。

  • contextPath:訪問路徑,預設為根目錄"/"。

  • maxThreads:配置串連池的串連數大小,預設大小為 400。

  • uriEncoding:Tomcat 的編碼格式,包括UTF-8ISO-8859-1GBK 和 GB2312。如果不設定,則預設為ISO-8859-1

  • useBodyEncodingForUri:是否使用BodyEncoding for URL,預設為true

AppSource

String

微服務應用。

可選值:

  • micro_service

PythonModules

String

自訂安裝模組依賴。

預設安裝根目錄下 requirements.txt 定義的依賴項。如果未配置或自訂軟體包,可以指定安裝的依賴。

NasConfigs

String

掛載 NAS 的配置。

取值說明如下:

  • mountPath:容器掛載路徑。

  • readOnly:取值為false時,表示擁有讀寫權限。

  • nasId:NAS ID。

  • mountDomain:容器掛載點地址。更多資訊,請參見DescribeMountTargets

  • nasPath:NAS 相對檔案目錄。

MicroRegistration

String

選擇 Nacos 註冊中心。

取值說明如下:

  • 0:SAE 內建 Nacos。

  • 1:使用者自建 Nacos。

  • 2:MSE 商業版 Nacos。

ServiceTags

String

應用配置的灰階標籤。

ImagePullSecrets

String

對應保密字典 ID。

AutoConfig

Boolean

是否自動設定網路環境。

取值說明如下:

  • true:建立應用時 SAE 自動設定網路環境。NamespaceIdVpcIdvSwitchIdSecurityGroupId的取值將被忽略。

  • false:建立應用時 SAE 手動設定網路環境。

說明

如果選擇為true,則傳其他的NamespaceId會被忽略。

KafkaConfigs

String

日誌採集到 Kafka 的配置匯總資訊。

取值說明如下:

  • kafkaEndpoint:Kafka API 的服務接入地址。

  • kafkaInstanceId:Kafka 執行個體 ID。

  • kafkaConfigs:單條或多條日誌的配置匯總資訊。取值說明,請參見本文的請求參數kafkaConfigs

Php

String

PHP 部署套件依賴的 PHP 版本。

無。

OssMountDescs

List

OSS 掛載描述資訊。

參數說明如下:

  • bucketName:Bucket 名稱。

  • bucketPath:您在 OSS 建立的目錄或 OSS 對象,如果 OSS 掛載目錄不存在,會觸發異常。

  • mountPath:您在 SAE 的容器路徑。如果路徑已存在,為覆蓋關係;如果路徑不存在,會建立。

  • readOnly:容器路徑是否對掛載目錄資源有可讀許可權,取值說明如下:

    • true:唯讀許可權。

    • false:讀寫權限。

PhpConfigLocation

String

PHP 應用啟動配置掛載路徑

需要您保證 PHP 伺服器會使用這個設定檔啟動。

SaeVersion

String

SAE 版本。

支援版本如下:

  • v1

  • v2

Tags文法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~128個字元,不能以aliyunacs:開頭,不能包含http://https://

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://https://

傳回值

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