Skip to content

Commit 811ef90

Browse files
Merge pull request #229786 from JnHs/jh-arck8-prereqs
new requirements page
2 parents f8b5a0a + 7d1a28c commit 811ef90

File tree

6 files changed

+123
-37
lines changed

6 files changed

+123
-37
lines changed

articles/azure-arc/kubernetes/conceptual-extensions.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Cluster extensions - Azure Arc-enabled Kubernetes"
3-
ms.date: 01/23/2023
3+
ms.date: 03/08/2023
44
ms.topic: conceptual
55
description: "This article provides a conceptual overview of the Azure Arc-enabled Kubernetes cluster extensions capability."
66
---
@@ -34,6 +34,9 @@ Both the `config-agent` and `extensions-manager` components running in the clust
3434
>
3535
> Protected configuration settings for an extension instance are stored for up to 48 hours in the Azure Arc-enabled Kubernetes services. As a result, if the cluster remains disconnected during the 48 hours after the extension resource was created on Azure, the extension changes from a `Pending` state to `Failed` state. To prevent this, we recommend bringing clusters online regularly.
3636
37+
> [!IMPORTANT]
38+
> Currently, Azure Arc-enabled Kubernetes cluster extensions aren't supported on ARM64-based clusters. To [install and use cluster extensions](extensions.md), the cluster must have at least one node of operating system and architecture type `linux/amd64`.
39+
3740
## Extension scope
3841

3942
Each extension type defines the scope at which they operate on the cluster. Extension installations on Arc-enabled Kubernetes clusters are either *cluster-scoped* or *namespace-scoped*.

articles/azure-arc/kubernetes/extensions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Azure Arc-enabled Kubernetes cluster extensions"
33
ms.custom: event-tier1-build-2022, ignite-2022
4-
ms.date: 01/23/2023
4+
ms.date: 03/08/2023
55
ms.topic: how-to
66
description: "Deploy and manage lifecycle of extensions on Azure Arc-enabled Kubernetes clusters."
77
---
@@ -39,7 +39,7 @@ Before you begin, read the [conceptual overview of Arc-enabled Kubernetes cluste
3939
az extension update --name k8s-extension
4040
```
4141
42-
* An existing Azure Arc-enabled Kubernetes connected cluster.
42+
* An existing Azure Arc-enabled Kubernetes connected cluster, with at least one node of operating system and architecture type `linux/amd64`.
4343
* If you haven't connected a cluster yet, use our [quickstart](quickstart-connect-cluster.md).
4444
* [Upgrade your agents](agent-upgrade.md#manually-upgrade-agents) to the latest version.
4545

articles/azure-arc/kubernetes/network-requirements.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,6 @@ For a complete list of network requirements for Azure Arc features and Azure Arc
2727

2828
## Next steps
2929

30+
- Learn about other [requirements for Arc-enabled Kubernetes](system-requirements.md).
3031
- Use our [quickstart](quickstart-connect-cluster.md) to connect your cluster.
3132
- Review [frequently asked questions](faq.md) about Arc-enabled Kubernetes.

articles/azure-arc/kubernetes/quickstart-connect-cluster.md

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Quickstart: Connect an existing Kubernetes cluster to Azure Arc"
33
description: In this quickstart, you learn how to connect an Azure Arc-enabled Kubernetes cluster.
44
ms.topic: quickstart
5-
ms.date: 03/07/2023
5+
ms.date: 03/08/2023
66
ms.custom: template-quickstart, mode-other, devx-track-azurecli, devx-track-azurepowershell
77
ms.devlang: azurecli
88
---
@@ -20,20 +20,10 @@ In addition to the prerequisites below, be sure to meet all [network requirement
2020
### [Azure CLI](#tab/azure-cli)
2121

2222
* An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
23-
2423
* A basic understanding of [Kubernetes core concepts](../../aks/concepts-clusters-workloads.md).
25-
26-
* An identity (user or service principal) which can be used to [log in to Azure CLI](/cli/azure/authenticate-azure-cli) and connect your cluster to Azure Arc.
27-
28-
> [!IMPORTANT]
29-
>
30-
> * The identity must have 'Read' and 'Write' permissions on the Azure Arc-enabled Kubernetes resource type (`Microsoft.Kubernetes/connectedClusters`).
31-
> * If connecting the cluster to an existing resource group (rather than a new one created by this identity), the identity must have 'Read' permission for that resource group.
32-
> * The [Kubernetes Cluster - Azure Arc Onboarding built-in role](../../role-based-access-control/built-in-roles.md#kubernetes-cluster---azure-arc-onboarding) can be used for this identity. This role is useful for at-scale onboarding, as it has only the granular permissions required to connect clusters to Azure Arc, and doesn't have permission to update, delete, or modify any other clusters or other Azure resources.
33-
34-
* [Install or upgrade Azure CLI](/cli/azure/install-azure-cli) to the latest version.
35-
36-
* Install the latest version of **connectedk8s** Azure CLI extension:
24+
* An [identity (user or service principal)](system-requirements.md#azure-ad-identity-requirements) which can be used to [log in to Azure CLI](/cli/azure/authenticate-azure-cli) and connect your cluster to Azure Arc.
25+
* The latest version of [Azure CLI](/cli/azure/install-azure-cli).
26+
* The latest version of **connectedk8s** Azure CLI extension, installed by running the following command:
3727

3828
```azurecli
3929
az extension add --name connectedk8s
@@ -45,48 +35,34 @@ In addition to the prerequisites below, be sure to meet all [network requirement
4535
* Self-managed Kubernetes cluster using [Cluster API](https://cluster-api.sigs.k8s.io/user/quick-start.html)
4636

4737
>[!NOTE]
48-
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64`. Clusters with only `linux/arm64` nodes aren't yet supported.
49-
50-
* At least 850 MB free for the Arc agents that will be deployed on the cluster, and capacity to use approximately 7% of a single CPU. For a multi-node Kubernetes cluster environment, pods can get scheduled on different nodes.
38+
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64` and/or `linux/arm64`. See [Cluster requirements](system-requirements.md#cluster-requirements) for more about ARM64 scenarios.
5139
40+
* At least 850 MB free for the Arc agents that will be deployed on the cluster, and capacity to use approximately 7% of a single CPU.
5241
* A [kubeconfig file](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) and context pointing to your cluster.
53-
5442
* Install [Helm 3](https://helm.sh/docs/intro/install). Ensure that the Helm 3 version is < 3.7.0.
5543

5644
### [Azure PowerShell](#tab/azure-powershell)
5745

5846
* An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
59-
6047
* A basic understanding of [Kubernetes core concepts](../../aks/concepts-clusters-workloads.md).
61-
48+
* An [identity (user or service principal)](system-requirements.md#azure-ad-identity-requirements) which can be used to [log in to Azure PowerShell](/powershell/azure/authenticate-azureps) and connect your cluster to Azure Arc.
6249
* [Azure PowerShell version 6.6.0 or later](/powershell/azure/install-az-ps)
63-
64-
* Install the **Az.ConnectedKubernetes** PowerShell module:
50+
* The **Az.ConnectedKubernetes** PowerShell module, installed by running the following command:
6551

6652
```azurepowershell-interactive
6753
Install-Module -Name Az.ConnectedKubernetes
6854
```
6955
70-
* An identity (user or service principal) which can be used to [log in to Azure PowerShell](/powershell/azure/authenticate-azureps) and connect your cluster to Azure Arc.
71-
72-
> [!IMPORTANT]
73-
>
74-
> * The identity must have 'Read' and 'Write' permissions on the Azure Arc-enabled Kubernetes resource type (`Microsoft.Kubernetes/connectedClusters`).
75-
> * If connecting the cluster to an existing resource group (rather than a new one created by this identity), the identity must have 'Read' permission for that resource group.
76-
> * The [Kubernetes Cluster - Azure Arc Onboarding built-in role](../../role-based-access-control/built-in-roles.md#kubernetes-cluster---azure-arc-onboarding) is useful for at-scale onboarding as it has the granular permissions required to only connect clusters to Azure Arc. This role doesn't have the permissions to update, delete, or modify any other clusters or other Azure resources.
77-
7856
* An up-and-running Kubernetes cluster. If you don't have one, you can create a cluster using one of these options:
7957
* [Kubernetes in Docker (KIND)](https://kind.sigs.k8s.io/)
8058
* Create a Kubernetes cluster using Docker for [Mac](https://docs.docker.com/docker-for-mac/#kubernetes) or [Windows](https://docs.docker.com/docker-for-windows/#kubernetes)
8159
* Self-managed Kubernetes cluster using [Cluster API](https://cluster-api.sigs.k8s.io/user/quick-start.html)
8260
8361
>[!NOTE]
84-
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64`. Clusters with only `linux/arm64` nodes aren't yet supported.
85-
86-
* At least 850 MB free for the Arc agents that will be deployed on the cluster, and capacity to use approximately 7% of a single CPU. For a multi-node Kubernetes cluster environment, pods can get scheduled on different nodes.
62+
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64` and/or `linux/arm64`. See [Cluster requirements](system-requirements.md#cluster-requirements) for more about ARM64 scenarios.
8763
64+
* At least 850 MB free for the Arc agents that will be deployed on the cluster, and capacity to use approximately 7% of a single CPU.
8865
* A [kubeconfig file](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) and context pointing to your cluster.
89-
9066
* Install [Helm 3](https://helm.sh/docs/intro/install). Ensure that the Helm 3 version is < 3.7.0.
9167
9268
---
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: "Azure Arc-enabled Kubernetes system requirements"
3+
ms.date: 03/08/2023
4+
ms.topic: conceptual
5+
description: Learn about the system requirements to connect Kubernetes clusters to Azure Arc.
6+
---
7+
8+
# Azure Arc-enabled Kubernetes system requirements
9+
10+
This article describes the basic requirements for [connecting a Kubernetes cluster to Azure Arc](quickstart-connect-cluster.md), along with system requirement information related to various Arc-enabled Kubernetes scenarios.
11+
12+
## Cluster requirements
13+
14+
Azure Arc-enabled Kubernetes works with any Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters. This includes clusters running on other public cloud providers (such as GCP or AWS) and clusters running on your on-premises data center (such as VMware vSphere or Azure Stack HCI).
15+
16+
You must also have a [kubeconfig file](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) and context pointing to your cluster.
17+
18+
The cluster must have at least one node with operating system and architecture type `linux/amd64` and/or `linux/arm64`.
19+
20+
> [!IMPORTANT]
21+
> Many Arc-enabled Kubernetes features and scenarios are supported on ARM64 nodes, such as [cluster connect](cluster-connect.md) and [viewing Kubernetes resources in the Azure portal](kubernetes-resource-view.md). However, if using Azure CLI to enable these scenarios, [Azure CLI must be installed](/cli/azure/install-azure-cli) and run from an AMD64 machine.
22+
>
23+
> Currently, Azure Arc-enabled Kubernetes [cluster extensions](conceptual-extensions.md) aren't supported on ARM64-based clusters. To [install and use cluster extensions](extensions.md), the cluster must have at least one node of operating system and architecture type `linux/amd64`.
24+
25+
## Compute and memory requirements
26+
27+
The Arc agents deployed on the cluster require:
28+
29+
- At least 850 MB of free memory
30+
- Capacity to use approximately 7% of a single CPU
31+
32+
For a multi-node Kubernetes cluster environment, pods can get scheduled on different nodes.
33+
34+
## Management tool requirements
35+
36+
Connecting a cluster to Azure Arc requires [Helm 3](https://helm.sh/docs/intro/install), version 3.7.0 or earlier.
37+
38+
You'll also need to use either Azure CLI or Azure PowerShell.
39+
40+
For Azure CLI:
41+
42+
- [Install or upgrade Azure CLI](/cli/azure/install-azure-cli) to the latest version.
43+
- Install the latest version of **connectedk8s** Azure CLI extension:
44+
45+
```azurecli
46+
az extension add --name connectedk8s
47+
```
48+
49+
For Azure PowerShell:
50+
51+
- Install [Azure PowerShell version 6.6.0 or later](/powershell/azure/install-az-ps).
52+
- Install the **Az.ConnectedKubernetes** PowerShell module:
53+
54+
```azurepowershell-interactive
55+
Install-Module -Name Az.ConnectedKubernetes
56+
```
57+
58+
## Azure AD identity requirements
59+
60+
To connect your cluster to Azure Arc, you must have an Azure AD identity (user or service principal) which can be used to log in to [Azure CLI](/cli/azure/authenticate-azure-cli) or [Azure PowerShell](/powershell/azure/authenticate-azureps) and connect your cluster to Azure Arc.
61+
62+
This identity must have 'Read' and 'Write' permissions on the Azure Arc-enabled Kubernetes resource type (`Microsoft.Kubernetes/connectedClusters`). If connecting the cluster to an existing resource group (rather than a new one created by this identity), the identity must have 'Read' permission for that resource group.
63+
64+
The [Kubernetes Cluster - Azure Arc Onboarding built-in role](../../role-based-access-control/built-in-roles.md#kubernetes-cluster---azure-arc-onboarding) can be used for this identity. This role is useful for at-scale onboarding, as it has only the granular permissions required to connect clusters to Azure Arc, and doesn't have permission to update, delete, or modify any other clusters or other Azure resources.
65+
66+
## Azure resource provider requirements
67+
68+
To use Azure Arc-enabled Kubernetes, the following [Azure resource providers](../../azure-resource-manager/management/resource-providers-and-types.md) must be registered in your subscription:
69+
70+
- **Microsoft.Kubernetes**
71+
- **Microsoft.KubernetesConfiguration**
72+
- **Microsoft.ExtendedLocation**
73+
74+
You can register the resource providers using the following commands:
75+
76+
Azure PowerShell:
77+
78+
```azurepowershell-interactive
79+
Connect-AzAccount
80+
Set-AzContext -SubscriptionId [subscription you want to onboard]
81+
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
82+
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
83+
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
84+
```
85+
86+
Azure CLI:
87+
88+
```azurecli-interactive
89+
az account set --subscription "{Your Subscription Name}"
90+
az provider register --namespace Microsoft.Kubernetes
91+
az provider register --namespace Microsoft.KubernetesConfiguration
92+
az provider register --namespace Microsoft.ExtendedLocation
93+
```
94+
95+
You can also register the resource providers in the [Azure portal](../../azure-resource-manager/management/resource-providers-and-types.md#azure-portal).
96+
97+
## Network requirements
98+
99+
Be sure that you have connectivity to the [required endpoints for Azure Arc-enabled Kubernetes](network-requirements.md).
100+
101+
## Next steps
102+
103+
- Review the [network requirements for using Arc-enabled Kubernetes](system-requirements.md).
104+
- Use our [quickstart](quickstart-connect-cluster.md) to connect your cluster.

articles/azure-arc/kubernetes/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
items:
3232
- name: Agent overview
3333
href: conceptual-agent-overview.md
34+
- name: System requirements
35+
href: system-requirements.md
3436
- name: Network requirements
3537
href: network-requirements.md
3638
- name: Connectivity modes

0 commit comments

Comments
 (0)