From d5e693b97f17fd8078b9aa46c492d14fa52a5f7e Mon Sep 17 00:00:00 2001 From: Ace Eldeib Date: Mon, 23 Aug 2021 21:13:05 -0700 Subject: [PATCH] add workload runtime to agent pool api (#15726) * add workload runtime to agent pool api * reference example * add custom words --- custom-words.txt | 1 + .../examples/AgentPoolsCreate_WasmWasi.json | 58 +++++++++++++++++++ .../stable/2021-08-01/managedClusters.json | 28 +++++++++ 3 files changed, 87 insertions(+) create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/examples/AgentPoolsCreate_WasmWasi.json diff --git a/custom-words.txt b/custom-words.txt index 56144162c328..14e03480eac2 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -988,6 +988,7 @@ koreacentral koreasouth Kpis Kraaij +Krustlet Ksettings kstem kube diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..a0c4add0c83e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-08-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json index 839eef75828a..7ffce8d88b91 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json @@ -1044,6 +1044,9 @@ }, "Create Agent Pool using an agent pool snapshot": { "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" } } }, @@ -2618,6 +2621,9 @@ "kubeletDiskType": { "$ref": "#/definitions/KubeletDiskType" }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, "vnetSubnetID": { "type": "string", "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", @@ -4882,6 +4888,28 @@ }, "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, "KubeletConfig": { "title": "Kubelet configurations of agent nodes.", "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",