ALIYUN::CS::ClusterApplication digunakan untuk menerapkan aplikasi dalam kluster Container Service for Kubernetes (ACK).
Sintaksis
{
"Type": "ALIYUN::CS::ClusterApplication",
"Properties": {
"YamlContent": String,
"ClusterId": String,
"DefaultNamespace": String,
"RolePolicy": String,
"Stage": String,
"WaitUntil": List,
"ValidationMode": String,
"DefaultNamespaceDeletion": Boolean
}
}Properti
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Batasan |
ClusterId | String | Ya | Tidak | ID dari kluster. | Tidak ada. |
YamlContent | String | Ya | Ya | Konten template YAML yang ingin Anda gunakan untuk menerapkan aplikasi. | Tidak ada. |
DefaultNamespace | String | Tidak | Tidak | Namespace default dari aplikasi. | Tidak ada. |
RolePolicy | String | Tidak | Ya | Kebijakan peran. | Sebelum Anda menerapkan aplikasi, periksa kebijakan yang dilampirkan pada peran akun Anda. Nilai valid:
|
Stage | String | Tidak | Tidak | Satu atau lebih tahapan berjalan. | Nilai valid:
|
ValidationMode | String | Tidak | Tidak | Mode validasi. | Nilai valid:
|
WaitUntil | List | Tidak | Ya | Sistem menunggu hingga semua kondisi terpenuhi setelah Anda mulai membuat atau memperbarui aplikasi. | Untuk informasi lebih lanjut, lihat Properti WaitUntil. |
DefaultNamespaceDeletion | Boolean | Tidak | Ya | Menentukan apakah akan menghapus namespace yang ditentukan oleh DefaultNamespace. | Jika namespace yang ditentukan oleh DefaultNamespace termasuk dalam 'default', 'kube-node-lease', 'kube-public', 'kube-system', dan 'arms-prom', namespace tersebut tidak dihapus terlepas dari apakah DefaultNamespaceDeletion disetel ke true. |
Sintaksis WaitUntil
"WaitUntil": [
{
"ApiVersion": String,
"FirstMatch": Boolean,
"Timeout": Integer,
"JsonPath": String,
"Namespace": String,
"Stage": String,
"Name": String,
"ValueType": String,
"Kind": String,
"Value": String,
"Operator": String
}
]Properti WaitUntil
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Batasan |
ApiVersion | String | Tidak | Ya | Versi API. | Tidak ada. |
Kind | String | Ya | Ya | Tipe sumber daya Kubernetes yang ingin Anda kueri. | Tidak ada. |
Name | String | Ya | Ya | Nama sumber daya Kubernetes yang ingin Anda kueri. | Tidak ada. |
Operator | String | Ya | Ya | Operator berdasarkan mana Anda membandingkan nilai dengan hasil ekspresi JSONPath. | Tidak ada. |
FirstMatch | Boolean | Tidak | Ya | Menentukan apakah hanya mengembalikan hasil pertama yang cocok dalam hasil yang difilter menggunakan ekspresi JSONPath. | Nilai valid:
|
JsonPath | String | Tidak | Ya | Ekspresi JSONPath yang ingin Anda gunakan untuk menyaring hasil. | Tidak ada. |
Namespace | String | Tidak | Ya | Namespace Kubernetes dari sumber daya. | Nilai default: DefaultNamespace. |
Stage | String | Tidak | Tidak | Satu atau lebih tahapan di mana sistem menunggu. | Nilai valid:
|
Timeout | Integer | Tidak | Ya | Periode timeout untuk menunggu kondisi terpenuhi. | Satuan: detik. |
Value | String | Tidak | Ya | Nilai yang akan dibandingkan dengan hasil ekspresi JSONPath. | Tidak ada. |
ValueType | String | Tidak | Ya | Tipe nilai. | Nilai default: String. |
Nilai pengembalian
Fn::GetAtt
ClusterId: ID kluster.
WaitUntilData: nilai JSONPath di WaitUntil.
Contoh
YAML format
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ClusterId:
Type: String
Description: The ID of the kubernetes cluster.
Resources:
ClusterApplication:
Type: ALIYUN::CS::ClusterApplication
Properties:
YamlContent: |-
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: test-ut-storage
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
storageclass.kubernetes.io/is-default-class: "true"
mountOptions:
- nolock,tcp,noresvport
- vers=3
parameters:
server: 1.1.1.1
driver: flexvolume
provisioner: alicloud/nas
reclaimPolicy: Delete
---
apiVersion: v1
kind: ConfigMap
metadata:
name: test-ut-configmap
data:
k1: v1
k2: v2
ClusterId:
Ref: ClusterId
Outputs:
ClusterId:
Description: The ID of the cluster.
Value:
Fn::GetAtt:
- ClusterApplication
- ClusterIdJSON format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ClusterId": {
"Type": "String",
"Description": "The ID of the kubernetes cluster."
}
},
"Resources": {
"ClusterApplication": {
"Type": "ALIYUN::CS::ClusterApplication",
"Properties": {
"YamlContent": "apiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n name: test-ut-storage\n annotations:\n storageclass.beta.kubernetes.io/is-default-class: \"true\"\n storageclass.kubernetes.io/is-default-class: \"true\"\nmountOptions:\n- nolock,tcp,noresvport\n- vers=3\nparameters:\n server: 1.1.1.1\n driver: flexvolume\nprovisioner: alicloud/nas\nreclaimPolicy: Delete\n\n---\n\napiVersion: v1\nkind: ConfigMap\nmetadata:\n name: test-ut-configmap\ndata:\n k1: v1\n k2: v2",
"ClusterId": {
"Ref": "ClusterId"
}
}
}
},
"Outputs": {
"ClusterId": {
"Description": "The ID of the cluster.",
"Value": {
"Fn::GetAtt": [
"ClusterApplication",
"ClusterId"
]
}
}
}
}