Skip to content

Commit c0ac892

Browse files
committed
Merge branch 'main' of https://github.com/microsoftdocs/azure-docs-pr into akv-misc
2 parents 1ef42ae + 55bd0bc commit c0ac892

39 files changed

+1796
-666
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
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
title: Azure TPM VBS attestation usage
3+
description: Learn about how to apply TPM and VBS attestation
4+
services: attestation
5+
author: prsriva
6+
ms.service: attestation
7+
ms.topic: overview
8+
ms.date: 09/05/2022
9+
ms.author: prsriva
10+
ms.custom: tpm attestation
11+
---
12+
13+
# Using TPM/VBS attestation
14+
15+
Attestation can be integrated into various applications and services, catering to different use cases. Azure Attestation service, which acts the remote attestation service can be used for desired purposes by updating the attestation policy. The policy engine works as processor, which takes the incoming payload as evidence and performs the validations as authored in the policy. This architecture simplifies the workflow and enables the service owner to purpose build solutions for the varied platforms and use cases.The workflow remains the same as described in [Azure attestation workflow](workflow.md). The attestation policy needs to be crafted as per the validations required.
16+
17+
Attesting a platform has its own challenges with its varied components of boot and setup, one needs to rely on a hardware root-of-trust anchor which can be used to verify the first steps of the boot and extend that trust upwards into every layer on your system. A hardware TPM provides such an anchor for a remote attestation solution. Azure Attestation provides a highly scalable measured boot and runtime integrity measurement attestation solution with a revocation framework to give you full control over platform attestation.
18+
19+
## Attestation steps
20+
21+
Attestation Setup has two setups. One pertaining to the service setup and one pertaining to the client setup.
22+
23+
:::image type="content" source="./media/tpm-attestation-setup.png" alt-text="A diagram that shows the different interactions for attestation." lightbox="./media/tpm-attestation-setup.png":::
24+
25+
Detailed information about the workflow is described in [Azure attestation workflow](workflow.md).
26+
27+
### Service endpoint setup:
28+
This is the first step for any attestation to be performed. Setting up an endpoint, this can be performed either via code or using the Azure portal.
29+
30+
Here's how you can set up an attestation endpoint using Portal
31+
32+
1 Prerequisite: Access to the Microsoft Azure Active Directory(Azure AD) tenant and subscription under which you want to create the attestation endpoint.
33+
Learn more about setting up an [Azure AD tenant](../active-directory/develop/quickstart-create-new-tenant.md).
34+
35+
2 Create an endpoint under the desired resource group, with the desired name.
36+
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE5azcU]
37+
38+
3 Add Attestation Contributor Role to the Identity who will be responsible to update the attestation policy.
39+
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE5aoRj]
40+
41+
4 Configure the endpoint with the required policy.
42+
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE5aoRk]
43+
44+
Sample policies can be found in the [policy section](tpm-attestation-sample-policies.md).
45+
46+
> [!NOTE]
47+
> TPM endpoints are designed to be provisioned without a default attestation policy.
48+
49+
50+
### Client setup:
51+
A client to communicate with the attestation service endpoint needs to ensure it's following the protocol as described in the [protocol documentation](virtualization-based-security-protocol.md). Use the [Attestation Client NuGet](https://www.nuget.org/packages/Microsoft.Attestation.Client) to ease the integration.
52+
53+
1 Prerequisite: An Azure AD identity is needed to access the TPM endpoint.
54+
Learn more [Azure AD identity tokens](../active-directory/develop/v2-overview.md).
55+
56+
2 Add Attestation Reader Role to the identity that will be need for authentication against the endpoint. Azure i
57+
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE5aoRi]
58+
59+
60+
## Execute the attestation workflow:
61+
Using the [Client](https://github.com/microsoft/Attestation-Client-Samples) to trigger an attestation flow. A successful attestation will result in an attestation report (encoded JWT token). Parsing the JWT token, the contents of the report can be easily validated against expected outcome.
62+
63+
> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE5azcT]
64+
65+
66+
Here's a sample of the contents of the attestation report.
67+
:::image type="content" source="./media/sample-decoded-token.jpg" alt-text="Sample snapshot of a decoded token for tpm attestation." lightbox="./media/sample-decoded-token.jpg":::
68+
69+
Using the Open ID [metadata endpoint](/rest/api/attestation/metadata-configuration/get?tabs=HTTP) contains properties, which describe the attestation service.The signing keys describe the keys, which will be used to sign tokens generated by the attestation service. All tokens emitted by the attestation service will be signed by one of the certificates listed in the attestation signing keys.
70+
71+
## Next steps
72+
- [Set up Azure Attestation using PowerShell](quickstart-powershell.md)
73+
- [Attest an SGX enclave using code samples](/samples/browse/?expanded=azure&terms=attestation)
74+
- [Learn more about policy](policy-reference.md)
148 KB
Loading

0 commit comments

Comments
 (0)