Skip to content

Commit 55bd0bc

Browse files
Merge pull request #216654 from schaffererin/yaml-manifest-breakdown
Adding breakdown of deployment specifications in YAML manifest file to Kubernetes core concepts doc
2 parents fb5d924 + 79c5b7f commit 55bd0bc

8 files changed

+49
-9
lines changed

articles/aks/concepts-clusters-workloads.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Concepts - Kubernetes basics for Azure Kubernetes Services (AKS)
33
description: Learn the basic cluster and workload components of Kubernetes and how they relate to features in Azure Kubernetes Service (AKS)
44
services: container-service
55
ms.topic: conceptual
6-
ms.date: 03/05/2020
6+
ms.date: 10/31/2022
77

88
---
99

@@ -196,7 +196,7 @@ Most stateless applications in AKS should use the deployment model rather than s
196196
197197
You don't want to disrupt management decisions with an update process if your application requires a minimum number of available instances. *Pod Disruption Budgets* define how many replicas in a deployment can be taken down during an update or node upgrade. For example, if you have *five (5)* replicas in your deployment, you can define a pod disruption of *4 (four)* to only allow one replica to be deleted or rescheduled at a time. As with pod resource limits, best practice is to define pod disruption budgets on applications that require a minimum number of replicas to always be present.
198198
199-
Deployments are typically created and managed with `kubectl create` or `kubectl apply`. Create a deployment by defining a manifest file in the YAML format.
199+
Deployments are typically created and managed with `kubectl create` or `kubectl apply`. Create a deployment by defining a manifest file in the YAML format.
200200

201201
The following example creates a basic deployment of the NGINX web server. The deployment specifies *three (3)* replicas to be created, and requires port *80* to be open on the container. Resource requests and limits are also defined for CPU and memory.
202202

@@ -229,6 +229,32 @@ spec:
229229
memory: 256Mi
230230
```
231231

232+
A breakdown of the deployment specifications in the YAML manifest file is as follows:
233+
234+
| Specification | Description |
235+
| ----------------- | ------------- |
236+
| `.apiVersion` | Specifies the API group and API resource you want to use when creating the resource. |
237+
| `.kind` | Specifies the type of resource you want to create. |
238+
| `.metadata.name` | Specifies the image to run. This file will run the *nginx* image from Docker Hub. |
239+
| `.spec.replicas` | Specifies how many pods to create. This file will create three deplicated pods. |
240+
| `.spec.selector` | Specifies which pods will be affected by this deployment. |
241+
| `.spec.selector.matchLabels` | Contains a map of *{key, value}* pairs that allows the deployment to find and manage the created pods. |
242+
| `.spec.selector.matchLabels.app` | Has to match `.spec.template.metadata.labels`. |
243+
| `.spec.template.labels` | Specifies the *{key, value}* pairs attached to the object. |
244+
| `.spec.template.app` | Has to match `.spec.selector.matchLabels`. |
245+
| `.spec.spec.containers` | Specifies the list of containers belonging to the pod. |
246+
| `.spec.spec.containers.name` | Specifies the name of the container specified as a DNS label. |
247+
| `.spec.spec.containers.image` | Specifies the container image name. |
248+
| `.spec.spec.containers.ports` | Specifies the list of ports to expose from the container. |
249+
| `.spec.spec.containers.ports.containerPort` | Specifies the number of port to expose on the pod's IP address. |
250+
| `.spec.spec.resources` | Specifies the compute resources required by the container. |
251+
| `.spec.spec.resources.requests` | Specifies the minimum amount of compute resources required. |
252+
| `.spec.spec.resources.requests.cpu` | Specifies the minimum amount of CPU required. |
253+
| `.spec.spec.resources.requests.memory` | Specifies the minimum amount of memory required. |
254+
| `.spec.spec.resources.limits` | Specifies the maximum amount of compute resources allowed. This limit is enforced by the kubelet. |
255+
| `.spec.spec.resources.limits.cpu` | Specifies the maximum amount of CPU allowed. This limit is enforced by the kubelet. |
256+
| `.spec.spec.resources.limits.memory` | Specifies the maximum amount of memory allowed. This limit is enforced by the kubelet. |
257+
232258
More complex applications can be created by including services (such as load balancers) within the YAML manifest.
233259

234260
For more information, see [Kubernetes deployments][kubernetes-deployments].

articles/aks/learn/quick-kubernetes-deploy-bicep.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Quickstart - Create an Azure Kubernetes Service (AKS) cluster by using Bi
33
description: Learn how to quickly create a Kubernetes cluster using a Bicep file and deploy an application in Azure Kubernetes Service (AKS)
44
services: container-service
55
ms.topic: quickstart
6-
ms.date: 08/11/2022
6+
ms.date: 11/01/2022
77
ms.custom: mvc, subject-armbicep
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run applications using the managed Kubernetes service in Azure.
99
---
@@ -271,6 +271,8 @@ Two [Kubernetes Services][kubernetes-service] are also created:
271271
app: azure-vote-front
272272
```
273273

274+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
275+
274276
1. Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your YAML manifest:
275277

276278
```console

articles/aks/learn/quick-kubernetes-deploy-cli.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Quickstart: Deploy an AKS cluster by using Azure CLI'
33
description: Learn how to quickly create a Kubernetes cluster, deploy an application, and monitor performance in Azure Kubernetes Service (AKS) using the Azure CLI.
44
services: container-service
55
ms.topic: quickstart
6-
ms.date: 06/28/2022
6+
ms.date: 11/01/2022
77
ms.custom: H1Hack27Feb2017, mvc, devcenter, seo-javascript-september2019, seo-javascript-october2019, seo-python-october2019, devx-track-azurecli, contperf-fy21q1, mode-api
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run and monitor applications using the managed Kubernetes service in Azure.
99
---
@@ -230,6 +230,8 @@ Two [Kubernetes Services][kubernetes-service] are also created:
230230
app: azure-vote-front
231231
```
232232
233+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
234+
233235
1. Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your YAML manifest:
234236
235237
```console

articles/aks/learn/quick-kubernetes-deploy-portal.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure Kubernetes Service
44
description: Learn how to quickly create a Kubernetes cluster, deploy an application, and monitor performance in Azure Kubernetes Service (AKS) using the Azure portal.
55
services: container-service
66
ms.topic: quickstart
7-
ms.date: 04/29/2022
7+
ms.date: 11/01/2022
88
ms.custom: mvc, seo-javascript-october2019, contperf-fy21q3, mode-ui
99
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run and monitor applications using the managed Kubernetes service in Azure.
1010
---
@@ -228,6 +228,8 @@ Two Kubernetes Services are also created:
228228
app: azure-vote-front
229229
```
230230
231+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
232+
231233
1. Deploy the application using the `kubectl apply` command and specify the name of your YAML manifest:
232234
233235
```console

articles/aks/learn/quick-kubernetes-deploy-powershell.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Quickstart: Deploy an AKS cluster by using PowerShell'
33
description: Learn how to quickly create a Kubernetes cluster and deploy an application in Azure Kubernetes Service (AKS) using PowerShell.
44
services: container-service
55
ms.topic: quickstart
6-
ms.date: 04/29/2022
6+
ms.date: 11/01/2022
77
ms.custom: devx-track-azurepowershell, mode-api
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run applications using the managed Kubernetes service in Azure.
99
---
@@ -211,6 +211,8 @@ Two [Kubernetes Services][kubernetes-service] are also created:
211211
app: azure-vote-front
212212
```
213213
214+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
215+
214216
1. Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your YAML manifest:
215217
216218
```azurepowershell-interactive

articles/aks/learn/quick-kubernetes-deploy-rm-template.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Quickstart - Create an Azure Kubernetes Service (AKS) cluster
33
description: Learn how to quickly create a Kubernetes cluster using an Azure Resource Manager template and deploy an application in Azure Kubernetes Service (AKS)
44
services: container-service
55
ms.topic: quickstart
6-
ms.date: 08/17/2022
6+
ms.date: 11/01/2022
77
ms.custom: mvc, subject-armqs, devx-track-azurecli, mode-arm
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy an application so that I can see how to run applications using the managed Kubernetes service in Azure.
99
---
@@ -269,6 +269,8 @@ Two [Kubernetes Services][kubernetes-service] are also created:
269269
app: azure-vote-front
270270
```
271271

272+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
273+
272274
1. Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your YAML manifest:
273275

274276
```console

articles/aks/learn/quick-windows-container-deploy-cli.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to quickly create a Kubernetes cluster, deploy an applica
44
services: container-service
55
ms.topic: article
66
ms.custom: event-tier1-build-2022
7-
ms.date: 04/29/2022
7+
ms.date: 11/01/2022
88
#Customer intent: As a developer or cluster operator, I want to quickly create an AKS cluster and deploy a Windows Server container so that I can see how to run applications running on a Windows Server container using the managed Kubernetes service in Azure.
99
---
1010

@@ -288,6 +288,8 @@ spec:
288288
app: sample
289289
```
290290
291+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
292+
291293
Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your YAML manifest:
292294
293295
```console

articles/aks/learn/quick-windows-container-deploy-powershell.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Create a Windows Server container on an AKS cluster by using PowerShell
33
description: Learn how to quickly create a Kubernetes cluster, deploy an application in a Windows Server container in Azure Kubernetes Service (AKS) using PowerShell.
44
services: container-service
55
ms.topic: article
6-
ms.date: 04/29/2022
6+
ms.date: 11/01/2022
77
ms.custom: devx-track-azurepowershell
88

99

@@ -219,6 +219,8 @@ spec:
219219
app: sample
220220
```
221221
222+
For a breakdown of YAML manifest files, see [Deployments and YAML manifests](../concepts-clusters-workloads.md#deployments-and-yaml-manifests).
223+
222224
Deploy the application using the [kubectl apply][kubectl-apply] command and specify the name of your
223225
YAML manifest:
224226

0 commit comments

Comments
 (0)