全部產品
Search
文件中心

:ALIYUN::CS::ClusterAddons

更新時間:Aug 15, 2024

ALIYUN::CS::ClusterAddons類型用於指定叢集安裝組件。

文法

{
  "Type": "ALIYUN::CS::ClusterAddons",
  "Properties": {
    "ClusterId": String,
    "Addons": List,
    "InstalledIgnore": Boolean,
    "WaitUntil": List,
    "RolePolicy": String,
    "ValidationMode": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ClusterId

String

叢集ID。

Addons

List

組件配置資訊列表。

更多資訊,請參見Addons屬性

InstalledIgnore

Boolean

建立叢集時是否忽略已安裝的組件。

取值:

  • true:忽略已安裝的組件。

    當建立叢集時,只安裝尚未安裝的組件。當刪除叢集時,只卸載在建立階段安裝的組件。

  • false(預設值):不忽略已安裝的組件。

WaitUntil

List

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

更多資訊,請參見WaitUntil屬性

RolePolicy

String

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

取值:

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

  • None:不執行任何操作。 

ValidationMode

String

驗證模式。

取值:

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

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

Addons文法

"Addons": [
  {
    "Version": String,
    "Config": String,
    "Name": String
  }
]

Addons屬性

屬性名稱

類型

必須

允許更新

描述

約束

Version

String

組件版本。

Config

String

組件配置資訊。

Name

String

組件名稱。

WaitUntil文法

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

WaitUntil屬性

屬性名稱

類型

必須

允許更新

描述

約束

FirstMatch

Boolean

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

取值:

  • true

  • false(預設值)

Timeout

Integer

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

單位為秒。

JsonPath

String

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

Namespace

String

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

預設值為DefaultNamespace。 

Stage

String

在什麼階段等待。  

取值:

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

  • Delete:刪除階段。 

Name

String

要查詢的kubernetes資源名稱。

ValueType

String

值的類型。

預設值為String。

Kind

String

要查詢的kubernetes資源類型。

Value

String

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

Operator

String

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

傳回值

Fn::GetAtt

  • ClusterId:叢集ID。

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

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Addons:
    Description: 'A combination of addon plugins for Kubernetes clusters.

      Network plug-in: including Flannel and Terway network plug-ins

      Log service: Optional. If the log service is not enabled, the cluster audit
      function cannot be used.

      Ingress: The installation of the Ingress component is enabled by default.'
    Type: Json
  ClusterId:
    Description: Cluster ID.
    Type: String
Resources:
  ClusterAddons:
    Properties:
      Addons:
        Ref: Addons
      ClusterId:
        Ref: ClusterId
    Type: ALIYUN::CS::ClusterAddons
Outputs:
  ClusterId:
    Description: Cluster ID.
    Value:
      Fn::GetAtt:
      - ClusterAddons
      - ClusterId

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterId": {
      "Type": "String",
      "Description": "Cluster ID."
    },
    "Addons": {
      "Type": "Json",
      "Description": "A combination of addon plugins for Kubernetes clusters.\nNetwork plug-in: including Flannel and Terway network plug-ins\nLog service: Optional. If the log service is not enabled, the cluster audit function cannot be used.\nIngress: The installation of the Ingress component is enabled by default."
    }
  },
  "Resources": {
    "ClusterAddons": {
      "Type": "ALIYUN::CS::ClusterAddons",
      "Properties": {
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "Addons": {
          "Ref": "Addons"
        }
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Description": "Cluster ID.",
      "Value": {
        "Fn::GetAtt": [
          "ClusterAddons",
          "ClusterId"
        ]
      }
    }
  }
}