Skip to content

Commit 762473e

Browse files
authored
Merge pull request #193729 from MicrosoftDocs/main
4/01 AM Publish
2 parents 6139eda + 6947682 commit 762473e

File tree

55 files changed

+1068
-245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1068
-245
lines changed

articles/active-directory/saas-apps/atlassian-cloud-provisioning-tutorial.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,7 @@ Once you've configured provisioning, use the following resources to monitor your
151151
3. If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
152152

153153
## Connector Limitations
154-
155-
* Atlassian Cloud allows provisioning of users only from [verified domains](https://confluence.atlassian.com/cloud/organization-administration-938859734.html).
154+
* Atlassian Cloud only supports provisioning updates for users with verified domains. Changes made to users from a non-verified domain will not be pushed to Atlassian Cloud. Learn more about Atlassian verified domains [here] (https://support.atlassian.com/provisioning-users/docs/understand-user-provisioning/).
156155
* Atlassian Cloud does not support group renames today. This means that any changes to the displayName of a group in Azure AD will not be updated and reflected in Atlassian Cloud.
157156
* The value of the **mail** user attribute in Azure AD is only populated if the user has a Microsoft Exchange Mailbox. If the user does not have one, it is recommended to map a different desired attribute to the **emails** attribute in Atlassian Cloud.
158157

@@ -172,4 +171,4 @@ Once you've configured provisioning, use the following resources to monitor your
172171
<!--Image references-->
173172
[1]: ./media/atlassian-cloud-provisioning-tutorial/tutorial-general-01.png
174173
[2]: ./media/atlassian-cloud-provisioning-tutorial/tutorial-general-02.png
175-
[3]: ./media/atlassian-cloud-provisioning-tutorial/tutorial-general-03.png
174+
[3]: ./media/atlassian-cloud-provisioning-tutorial/tutorial-general-03.png

articles/aks/availability-zones.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to create a cluster that distributes nodes across availab
44
services: container-service
55
ms.custom: fasttrack-edit, references_regions, devx-track-azurecli
66
ms.topic: article
7-
ms.date: 12/10/2021
7+
ms.date: 03/31/2022
88

99
---
1010

@@ -39,6 +39,7 @@ AKS clusters can currently be created using availability zones in the following
3939
* North Europe
4040
* Norway East
4141
* Southeast Asia
42+
* South Africa North
4243
* South Central US
4344
* Sweden Central
4445
* UK South

articles/aks/certificate-rotation.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
---
2-
title: Rotate certificates in Azure Kubernetes Service (AKS)
3-
description: Learn how to rotate your certificates in an Azure Kubernetes Service (AKS) cluster.
2+
title: Certificate Rotation in Azure Kubernetes Service (AKS)
3+
description: Learn certificate rotation in an Azure Kubernetes Service (AKS) cluster.
44
services: container-service
55
ms.topic: article
6-
ms.date: 3/4/2022
6+
ms.date: 3/29/2022
77
---
88

9-
# Rotate certificates in Azure Kubernetes Service (AKS)
9+
# Certificate rotation in Azure Kubernetes Service (AKS)
1010

11-
Azure Kubernetes Service (AKS) uses certificates for authentication with many of its components. Periodically, you may need to rotate those certificates for security or policy reasons. For example, you may have a policy to rotate all your certificates every 90 days.
11+
Azure Kubernetes Service (AKS) uses certificates for authentication with many of its components. If you have a RBAC-enabled cluster built after March 2022 it is enabled with certificate auto-rotation. Periodically, you may need to rotate those certificates for security or policy reasons. For example, you may have a policy to rotate all your certificates every 90 days.
1212

13-
This article shows you how to rotate the certificates in your AKS cluster.
13+
> [!NOTE]
14+
> Certificate auto-rotation will not be enabled by default for non-RBAC enabled AKS clusters.
15+
16+
This article shows you how certificate rotation works in your AKS cluster.
1417

1518
## Before you begin
1619

@@ -28,7 +31,7 @@ AKS generates and uses the following certificates, Certificate Authorities, and
2831
* The `kubectl` client has a certificate for communicating with the AKS cluster.
2932

3033
> [!NOTE]
31-
> AKS clusters created prior to May 2019 have certificates that expire after two years. Any cluster created after May 2019 or any cluster that has its certificates rotated have Cluster CA certificates that expire after 30 years. All other AKS certificates, which use the Cluster CA to for signing, will expire after two years and are automatically rotated during AKS version upgrade happened after 8/1/2021. To verify when your cluster was created, use `kubectl get nodes` to see the *Age* of your node pools.
34+
> AKS clusters created prior to May 2019 have certificates that expire after two years. Any cluster created after May 2019 or any cluster that has its certificates rotated have Cluster CA certificates that expire after 30 years. All other AKS certificates, which use the Cluster CA for signing, will expire after two years and are automatically rotated during an AKS version upgrade which happened after 8/1/2021. To verify when your cluster was created, use `kubectl get nodes` to see the *Age* of your node pools.
3235
>
3336
> Additionally, you can check the expiration date of your cluster's certificate. For example, the following bash command displays the client certificate details for the *myAKSCluster* cluster in resource group *rg*
3437
> ```console
@@ -45,17 +48,20 @@ curl https://{apiserver-fqdn} -k -v 2>&1 |grep expire
4548
az vm run-command invoke -g MC_rg_myAKSCluster_region -n vm-name --command-id RunShellScript --query 'value[0].message' -otsv --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
4649
```
4750

48-
* Check expiration date of certificate on one VMSS agent node
51+
* Check expiration date of certificate on one virtual machine scale set agent node
4952
```azurecli
5053
az vmss run-command invoke -g MC_rg_myAKSCluster_region -n vmss-name --instance-id 0 --command-id RunShellScript --query 'value[0].message' -otsv --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
5154
```
5255

5356
## Certificate Auto Rotation
5457

55-
Azure Kubernetes Service will automatically rotate non-ca certificates on both the control plane and agent nodes before they expire with no downtime for the cluster.
56-
5758
For AKS to automatically rotate non-CA certificates, the cluster must have [TLS Bootstrapping](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) which has been enabled by default in all Azure regions.
5859

60+
> [!Note]
61+
> If you have an existing cluster you have to upgrade that cluster to enable Certificate Auto-Rotation.
62+
63+
For any AKS clusters created or upgraded after March 2022 Azure Kubernetes Service will automatically rotate non-ca certificates on both the control plane and agent nodes within 80% of the client certificate valid time, before they expire with no downtime for the cluster.
64+
5965
#### How to check whether current agent node pool is TLS Bootstrapping enabled?
6066
To verify if TLS Bootstrapping is enabled on your cluster browse to the following paths. On a Linux node: /var/lib/kubelet/bootstrap-kubeconfig, on a Windows node, it’s c:\k\bootstrap-config.
6167

@@ -69,8 +75,7 @@ To verify if TLS Bootstrapping is enabled on your cluster browse to the followin
6975

7076
Auto cert rotation won't be enabled on non-rbac cluster.
7177

72-
73-
## Rotate your cluster certificates
78+
## Manually rotate your cluster certificates
7479

7580
> [!WARNING]
7681
> Rotating your certificates using `az aks rotate-certs` will recreate all of your nodes and their OS Disks and can cause up to 30 minutes of downtime for your AKS cluster.

articles/aks/concepts-storage.md

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Concepts - Storage in Azure Kubernetes Services (AKS)
33
description: Learn about storage in Azure Kubernetes Service (AKS), including volumes, persistent volumes, storage classes, and claims
44
services: container-service
55
ms.topic: conceptual
6-
ms.date: 03/11/2021
6+
ms.date: 03/30/2022
77

88
---
99

@@ -30,23 +30,33 @@ This article introduces the core concepts that provide storage to your applicati
3030

3131
Kubernetes typically treats individual pods as ephemeral, disposable resources. Applications have different approaches available to them for using and persisting data. A *volume* represents a way to store, retrieve, and persist data across pods and through the application lifecycle.
3232

33-
Traditional volumes are created as Kubernetes resources backed by Azure Storage. You can manually create data volumes to be assigned to pods directly, or have Kubernetes automatically create them. Data volumes can use Azure Disks or Azure Files.
33+
Traditional volumes are created as Kubernetes resources backed by Azure Storage. You can manually create data volumes to be assigned to pods directly, or have Kubernetes automatically create them. Data volumes can use: [Azure Disks][disks-types], [Azure Files][storage-files-planning], [Azure NetApp Files][azure-netapp-files-service-levels], or [Azure Blobs][storage-account-overview].
3434

3535
### Azure Disks
3636

37-
Use *Azure Disks* to create a Kubernetes *DataDisk* resource. Disks can use:
38-
* Azure Premium storage, backed by high-performance SSDs, or
39-
* Azure Standard storage, backed by regular HDDs.
37+
Use *Azure Disks* to create a Kubernetes *DataDisk* resource. Disks types include:
38+
* Ultra Disks
39+
* Premium SSDs
40+
* Standard SSDs
41+
* Standard HDDs
4042

4143
> [!TIP]
42-
>For most production and development workloads, use Premium storage.
44+
>For most production and development workloads, use Premium SSD.
4345
4446
Since Azure Disks are mounted as *ReadWriteOnce*, they're only available to a single pod. For storage volumes that can be accessed by multiple pods simultaneously, use Azure Files.
4547

4648
### Azure Files
47-
Use *Azure Files* to mount an SMB 3.0 share backed by an Azure Storage account to pods. Files let you share data across multiple nodes and pods and can use:
48-
* Azure Premium storage, backed by high-performance SSDs, or
49-
* Azure Standard storage backed by regular HDDs.
49+
Use *Azure Files* to mount an SMB 3.1.1 share or NFS 4.1 share backed by an Azure storage accounts to pods. Files let you share data across multiple nodes and pods and can use:
50+
* Azure Premium storage backed by high-performance SSDs
51+
* Azure Standard storage backed by regular HDDs
52+
53+
### Azure NetApp Files
54+
* Ultra Storage
55+
* Premium Storage
56+
* Standard Storage
57+
58+
### Azure Blob Storage
59+
* Block Blobs
5060

5161
### Volume types
5262
Kubernetes volumes represent more than just a traditional disk for storing and retrieving information. Kubernetes volumes can also be used as a way to inject data into a pod for use by the containers.
@@ -92,15 +102,6 @@ To define different tiers of storage, such as Premium and Standard, you can crea
92102

93103
The StorageClass also defines the *reclaimPolicy*. When you delete the pod and the persistent volume is no longer required, the reclaimPolicy controls the behavior of the underlying Azure storage resource. The underlying storage resource can either be deleted or kept for use with a future pod.
94104

95-
In AKS, four initial `StorageClasses` are created for cluster using the in-tree storage plugins:
96-
97-
| Permission | Reason |
98-
|---|---|
99-
| `default` | Uses Azure StandardSSD storage to create a Managed Disk. The reclaim policy ensures that the underlying Azure Disk is deleted when the persistent volume that used it is deleted. |
100-
| `managed-premium` | Uses Azure Premium storage to create a Managed Disk. The reclaim policy again ensures that the underlying Azure Disk is deleted when the persistent volume that used it is deleted. |
101-
| `azurefile` | Uses Azure Standard storage to create an Azure File Share. The reclaim policy ensures that the underlying Azure File Share is deleted when the persistent volume that used it is deleted. |
102-
| `azurefile-premium` | Uses Azure Premium storage to create an Azure File Share. The reclaim policy ensures that the underlying Azure File Share is deleted when the persistent volume that used it is deleted.|
103-
104105
For clusters using the [Container Storage Interface (CSI) drivers][csi-storage-drivers] the following extra `StorageClasses` are created:
105106

106107
| Permission | Reason |
@@ -118,23 +119,24 @@ Unless you specify a StorageClass for a persistent volume, the default StorageCl
118119
You can create a StorageClass for additional needs using `kubectl`. The following example uses Premium Managed Disks and specifies that the underlying Azure Disk should be *retained* when you delete the pod:
119120

120121
```yaml
121-
kind: StorageClass
122122
apiVersion: storage.k8s.io/v1
123+
kind: StorageClass
123124
metadata:
124125
name: managed-premium-retain
125-
provisioner: kubernetes.io/azure-disk
126-
reclaimPolicy: Retain
126+
provisioner: disk.csi.azure.com
127127
parameters:
128-
storageaccounttype: Premium_LRS
129-
kind: Managed
128+
skuName: Premium_LRS
129+
reclaimPolicy: Retain
130+
volumeBindingMode: WaitForFirstConsumer
131+
allowVolumeExpansion: true
130132
```
131133
132134
> [!NOTE]
133135
> AKS reconciles the default storage classes and will overwrite any changes you make to those storage classes.
134136
135137
## Persistent volume claims
136138
137-
A PersistentVolumeClaim requests either Disk or File storage of a particular StorageClass, access mode, and size. The Kubernetes API server can dynamically provision the underlying Azure storage resource if no existing resource can fulfill the claim based on the defined StorageClass.
139+
A PersistentVolumeClaim requests storage of a particular StorageClass, access mode, and size. The Kubernetes API server can dynamically provision the underlying Azure storage resource if no existing resource can fulfill the claim based on the defined StorageClass.
138140
139141
The pod definition includes the volume mount once the volume has been connected to the pod.
140142
@@ -152,7 +154,7 @@ metadata:
152154
spec:
153155
accessModes:
154156
- ReadWriteOnce
155-
storageClassName: managed-premium
157+
storageClassName: managed-premium-retain
156158
resources:
157159
requests:
158160
storage: 5Gi
@@ -198,12 +200,12 @@ For mounting a volume in a Windows container, specify the drive letter and path.
198200

199201
For associated best practices, see [Best practices for storage and backups in AKS][operator-best-practices-storage].
200202

201-
To see how to create dynamic and static volumes that use Azure Disks or Azure Files, see the following how-to articles:
203+
To see how to use CSI drivers, see the following how-to articles:
202204

203-
- [Create a static volume using Azure Disks][aks-static-disks]
204-
- [Create a static volume using Azure Files][aks-static-files]
205-
- [Create a dynamic volume using Azure Disks][aks-dynamic-disks]
206-
- [Create a dynamic volume using Azure Files][aks-dynamic-files]
205+
- [Enable Container Storage Interface(CSI) drivers for Azure disks and Azure Files on Azure Kubernetes Service(AKS)][csi-storage-drivers]
206+
- [Use Azure disk Container Storage Interface(CSI) drivers in Azure Kubernetes Service(AKS)][azure-disk-csi]
207+
- [Use Azure Files Container Storage Interface(CSI) drivers in Azure Kubernetes Service(AKS)][azure-files-csi]
208+
- [Integrate Azure NetApp Files with Azure Kubernetes Service][azure-netapp-files]
207209

208210
For more information on core Kubernetes and AKS concepts, see the following articles:
209211

@@ -216,10 +218,14 @@ For more information on core Kubernetes and AKS concepts, see the following arti
216218
<!-- EXTERNAL LINKS -->
217219

218220
<!-- INTERNAL LINKS -->
219-
[aks-static-disks]: azure-disk-volume.md
220-
[aks-static-files]: azure-files-volume.md
221-
[aks-dynamic-disks]: azure-disks-dynamic-pv.md
222-
[aks-dynamic-files]: azure-files-dynamic-pv.md
221+
[disks-types]: ../virtual-machines/disks-types.md
222+
[storage-files-planning]: ../storage/files/storage-files-planning.md
223+
[azure-netapp-files-service-levels]: ../azure-netapp-files/azure-netapp-files-service-levels.md
224+
[storage-account-overview]: ../storage/common/storage-account-overview.md
225+
[csi-storage-drivers]: csi-storage-drivers.md
226+
[azure-disk-csi]: azure-disk-csi.md
227+
[azure-netapp-files]: azure-netapp-files.md
228+
[azure-files-csi]: azure-files-csi.md
223229
[aks-concepts-clusters-workloads]: concepts-clusters-workloads.md
224230
[aks-concepts-identity]: concepts-identity.md
225231
[aks-concepts-scale]: concepts-scale.md

articles/aks/kubernetes-walkthrough.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,8 @@ To learn more about AKS, and walk through a complete code to deployment example,
293293
> [!div class="nextstepaction"]
294294
> [AKS tutorial][aks-tutorial]
295295
296+
This quickstart is for introductory purposes. For guidance on a creating full solutions with AKS for production, see [AKS solution guidance][aks-solution-guidance].
297+
296298
<!-- LINKS - external -->
297299
[azure-vote-app]: https://github.com/Azure-Samples/azure-voting-app-redis.git
298300
[kubectl]: https://kubernetes.io/docs/user-guide/kubectl/
@@ -317,3 +319,4 @@ To learn more about AKS, and walk through a complete code to deployment example,
317319
[kubernetes-deployment]: concepts-clusters-workloads.md#deployments-and-yaml-manifests
318320
[kubernetes-service]: concepts-network.md#services
319321
[windows-container-cli]: windows-container-cli.md
322+
[aks-solution-guidance]: /azure/architecture/reference-architectures/containers/aks-start-here?WT.mc_id=AKSDOCSPAGE

articles/aks/managed-aad.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ When deploying an AKS Cluster, local accounts are enabled by default. Even when
190190
> On clusters with Azure AD integration enabled, users belonging to a group specified by `aad-admin-group-object-ids` will still be able to gain access via non-admin credentials. On clusters without Azure AD integration enabled and `properties.disableLocalAccounts` set to true, obtaining both user and admin credentials will fail.
191191
192192
> [!NOTE]
193-
> After disabling local accounts users on an already existing AKS cluster where users might have used local account/s, admin must [rotate the cluster certificates](certificate-rotation.md#rotate-your-cluster-certificates), in order to revoke the certificates those users might have access to. If this is a new cluster than no action is required.
193+
> After disabling local accounts users on an already existing AKS cluster where users might have used local account/s, admin must [rotate the cluster certificates](certificate-rotation.md), in order to revoke the certificates those users might have access to. If this is a new cluster then no action is required.
194194
195195
### Create a new cluster without local accounts
196196

0 commit comments

Comments
 (0)