全部產品
Search
文件中心

:ALIYUN::CS::ClusterHelmApplication

更新時間:Jun 28, 2024

ALIYUN::CS::ClusterHelmApplication類型用於使用Helm進行應用部署。

文法

{
  "Type": "ALIYUN::CS::ClusterHelmApplication",
  "Properties": {
    "ChartValues": Map,
    "ClusterId": String,
    "ChartUrl": String,
    "Namespace": String,
    "Name": String,
    "Credential": Map,
    "RolePolicy": String,
    "WaitUntil": List,
    "ValidationMode": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ChartUrl

String

Chart請求地址。

ClusterId

String

叢集ID。

Name

String

Chart名稱。

ChartValues

Map

Chart自訂值。

Credential

Map

訪問憑證資訊。

Namespace

String

Helm的命名空間。

RolePolicy

String

使用者的角色關聯的策略。

在部署應用程式之前,請檢查與目前使用者的角色關聯的策略。 

取值:

  • EnsureAdminRoleAndBinding(預設值):自動建立一個名為ros:application-admin:${user-id}\的角色,具有管理員權限,並將其綁定到目前使用者。 

  • None:不執行任何操作。

ValidationMode

String

驗證模式。

取值:

  • Basic:基本驗證,例如驗證叢集是否存在。

  • Strict:除了基本驗證外,還驗證WaitUntil的合法性。 

WaitUntil

List

開始建立或更新後,等待直到滿足所有條件。 

更多資訊,請參見WaitUntil屬性

Credential文法

"Credential": [
  {
    "Password": String,
    "UserName": String
  }
]

Credential屬性

屬性名稱

類型

必須

允許更新

描述

約束

Password

String

密碼。

UserName

String

使用者名稱。

WaitUntil文法

"WaitUntil": [
  {
   "FirstMatch": Boolean,
   "Timeout": Integer,
   "JsonPath": String,
   "Namespace": String,
   "Stage": String,
   "Name": String,
   "ValueType": String,
   "Kind": String,
   "Value": String,
   "Operator": String
  }
]

WaitUntil屬性

屬性名稱

類型

必須

允許更新

描述

約束

Kind

String

要查詢的Kubernetes資源類型。

Name

String

要查詢的Kubernetes資源名稱。

Operator

String

將值與JsonPath運算式的結果進行比較的操作符。 

FirstMatch

Boolean

只返回JsonPath過濾結果中的第一個匹配結果。 

取值:

  • true

  • false(預設值)

JsonPath

String

Json路徑運算式來過濾輸出。

Namespace

String

資源所在的Kubernetes的命名空間。

預設值為DefaultNamespace。 

Stage

String

在什麼階段等待。  

取值:

  • Create/Update(預設值):建立和更新階段。

  • Delete:刪除階段。 

Timeout

Integer

等待滿足條件的逾時時間。

單位為秒。

Value

String

要與JsonPath運算式的結果進行比較的值。 

ValueType

String

值的類型。

預設值為String。

傳回值

Fn::GetAtt

  • ClusterId:叢集ID。

  • WaitUntilData:WaitUntil中每個JsonPath的值列表。 

樣本

您可以使用下列模板實現通過ROS一鍵部署Knative,並安裝Kourier服務網關和KServe組件。關於Container Service的一鍵部署,請參見部署Knative

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  DBClusterId:
    Type: String
    Label:
      en: Cluster ID
      zh-cn: 容器叢集ID
    AssociationProperty: ALIYUN::CS::Cluster::ClusterId
Resources:
  HelmOfKnativeKourier:
    Type: ALIYUN::CS::ClusterHelmApplication
    Properties:
      ClusterId:
        Ref: DBClusterId
      ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kourier-1.4.0.tgz
      Name: knative-kourier
      Namespace: knative-serving
      ChartValues:
        version: v1.10.9-aliyun.1
        regionID:
          Ref: ALIYUN::Region
  HelmOfKnativeServing:
    Type: ALIYUN::CS::ClusterHelmApplication
    Properties:
      ClusterId:
        Ref: DBClusterId
      ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-serving-v1.10.9-aliyun.1.tgz
      Name: knative-serving
      Namespace: knative-serving
      ChartValues:
        version: v1.10.9-aliyun.1
        regionID:
          Ref: ALIYUN::Region
    DependsOn: HelmOfKnativeKourier
  HelmOfKnativeKserve:
    Type: ALIYUN::CS::ClusterHelmApplication
    Properties:
      ClusterId:
        Ref: DBClusterId
      ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kserve-v0.10.1.tgz
      Name: knative-kserve
      Namespace: kserve
      ChartValues:
        version: v1.10.9-aliyun.1
        regionID:
          Ref: ALIYUN::Region
    DependsOn: HelmOfKnativeServing

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "DBClusterId": {
      "Type": "String",
      "Label": {
        "en": "Cluster ID",
        "zh-cn": "容器叢集ID"
      },
      "AssociationProperty": "ALIYUN::CS::Cluster::ClusterId"
    }
  },
  "Resources": {
    "HelmOfKnativeKourier": {
      "Type": "ALIYUN::CS::ClusterHelmApplication",
      "Properties": {
        "ClusterId": {
          "Ref": "DBClusterId"
        },
        "ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kourier-1.4.0.tgz",
        "Name": "knative-kourier",
        "Namespace": "knative-serving",
        "ChartValues": {
          "version": "v1.10.9-aliyun.1",
          "regionID": {
            "Ref": "ALIYUN::Region"
          }
        }
      }
    },
    "HelmOfKnativeServing": {
      "Type": "ALIYUN::CS::ClusterHelmApplication",
      "Properties": {
        "ClusterId": {
          "Ref": "DBClusterId"
        },
        "ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-serving-v1.10.9-aliyun.1.tgz",
        "Name": "knative-serving",
        "Namespace": "knative-serving",
        "ChartValues": {
          "version": "v1.10.9-aliyun.1",
          "regionID": {
            "Ref": "ALIYUN::Region"
          }
        }
      },
      "DependsOn": "HelmOfKnativeKourier"
    },
    "HelmOfKnativeKserve": {
      "Type": "ALIYUN::CS::ClusterHelmApplication",
      "Properties": {
        "ClusterId": {
          "Ref": "DBClusterId"
        },
        "ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kserve-v0.10.1.tgz",
        "Name": "knative-kserve",
        "Namespace": "kserve",
        "ChartValues": {
          "version": "v1.10.9-aliyun.1",
          "regionID": {
            "Ref": "ALIYUN::Region"
          }
        }
      },
      "DependsOn": "HelmOfKnativeServing"
    }
  }
}