Skip to content

Commit a8110e7

Browse files
committed
new requirements page
1 parent b484d52 commit a8110e7

File tree

4 files changed

+120
-18
lines changed

4 files changed

+120
-18
lines changed

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: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,7 @@ In addition to the prerequisites below, be sure to meet all [network requirement
2323

2424
* A basic understanding of [Kubernetes core concepts](../../aks/concepts-clusters-workloads.md).
2525

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.
26+
* 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.
3327

3428
* [Install or upgrade Azure CLI](/cli/azure/install-azure-cli) to the latest version.
3529

@@ -45,9 +39,9 @@ In addition to the prerequisites below, be sure to meet all [network requirement
4539
* Self-managed Kubernetes cluster using [Cluster API](https://cluster-api.sigs.k8s.io/user/quick-start.html)
4640

4741
>[!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.
42+
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64` and/or `linux/arm64`.
4943
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.
44+
* 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.
5145

5246
* A [kubeconfig file](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) and context pointing to your cluster.
5347

@@ -67,23 +61,17 @@ In addition to the prerequisites below, be sure to meet all [network requirement
6761
Install-Module -Name Az.ConnectedKubernetes
6862
```
6963
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.
64+
* 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.
7765
7866
* An up-and-running Kubernetes cluster. If you don't have one, you can create a cluster using one of these options:
7967
* [Kubernetes in Docker (KIND)](https://kind.sigs.k8s.io/)
8068
* 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)
8169
* Self-managed Kubernetes cluster using [Cluster API](https://cluster-api.sigs.k8s.io/user/quick-start.html)
8270
8371
>[!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.
72+
> The cluster needs to have at least one node of operating system and architecture type `linux/amd64` and/or `linux/arm64`.
8573
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.
74+
* 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.
8775
8876
* A [kubeconfig file](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) and context pointing to your cluster.
8977
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: "Azure Arc-enabled Kubernetes system requirements"
3+
ms.date: 03/07/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`. Eligible ARM64 scenarios can be enabled using [Azure CLI](/cli/azure/install-azure-cli) installed on AMD64 machines.
19+
20+
Currently, no Azure Arc-enabled Kubernetes [cluster extensions](conceptual-extensions.md) are supported on ARM64-based clusters. To install and use cluster extensions, the cluster needs to have at least one node of operating system and architecture type `linux/amd64`.
21+
22+
The following table outlines architecture requirements for Arc-enabled Kubernetes scenarios:
23+
24+
| Scenario | AMD64 |ARM64 |
25+
|-----------------|----------|----------|
26+
|[Azure CLI installation](/cli/azure/install-azure-cli) |X | |
27+
|Onboarding |X |X |
28+
|[Cluster connect](cluster-connect.md) |X |X |
29+
|[Viewing Kubernetes resources in the Azure portal](kubernetes-resource-view.md) |X |X |
30+
|[Cluster extensions](conceptual-extensions.md) |X | |
31+
32+
## Compute and memory requirements
33+
34+
The Arc agents deployed on the cluster require:
35+
36+
- At least 850 MB of free memory
37+
- Capacity to use approximately 7% of a single CPU
38+
39+
For a multi-node Kubernetes cluster environment, pods can get scheduled on different nodes.
40+
41+
## Management tools
42+
43+
Connecting a cluster to Azure Arc requires [Helm 3](https://helm.sh/docs/intro/install), version 3.7.0 or earlier.
44+
45+
You'll also need to use either Azure CLI or Azure PowerShell.
46+
47+
For Azure CLI:
48+
49+
- [Install or upgrade Azure CLI](/cli/azure/install-azure-cli) to the latest version.
50+
- Install the latest version of **connectedk8s** Azure CLI extension:
51+
52+
```azurecli
53+
az extension add --name connectedk8s
54+
```
55+
56+
For Azure PowerShell:
57+
58+
- Install [Azure PowerShell version 6.6.0 or later](/powershell/azure/install-az-ps).
59+
- Install the **Az.ConnectedKubernetes** PowerShell module:
60+
61+
```azurepowershell-interactive
62+
Install-Module -Name Az.ConnectedKubernetes
63+
```
64+
65+
## Azure AD identity requirements
66+
67+
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.
68+
69+
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.
70+
71+
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.
72+
73+
## Azure resource providers
74+
75+
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:
76+
77+
* **Microsoft.Kubernetes**
78+
* **Microsoft.KubernetesConfiguration**
79+
* **Microsoft.ExtendedLocation**
80+
81+
You can register the resource providers using the following commands:
82+
83+
Azure PowerShell:
84+
85+
```azurepowershell-interactive
86+
Connect-AzAccount
87+
Set-AzContext -SubscriptionId [subscription you want to onboard]
88+
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
89+
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
90+
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
91+
```
92+
93+
Azure CLI:
94+
95+
```azurecli-interactive
96+
az account set --subscription "{Your Subscription Name}"
97+
az provider register --namespace Microsoft.Kubernetes
98+
az provider register --namespace Microsoft.KubernetesConfiguration
99+
az provider register --namespace Microsoft.ExtendedLocation
100+
```
101+
102+
You can also register the resource providers in the [Azure portal](../../azure-resource-manager/management/resource-providers-and-types.md#azure-portal).
103+
104+
## Network requirements
105+
106+
Be sure that you have connectivity to the [required endpoints for Azure Arc-enabled Kubernetes](includes/network-requirements.md).
107+
108+
## Next steps
109+
110+
- Review the [network requirements for using Arc-enabled Kubernetes](system-requirements.md).
111+
- 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)