You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AKS-Hybrid/ad-sso.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Use Active Directory single sign-on for secure connection to Kubernetes A
3
3
description: Use Active Directory Authentication to securely connect to the API server with SSO credentials
4
4
author: sethmanheim
5
5
ms.topic: how-to
6
-
ms.date: 06/24/2024
6
+
ms.date: 08/07/2024
7
7
ms.author: sethm
8
8
ms.lastreviewed: 1/14/2022
9
9
ms.reviewer: sulahiri
@@ -30,7 +30,10 @@ AD integration uses AD kubeconfig, which is distinct from the certificate-based
30
30
Another security benefit with AD integration is that the users and groups are stored as [security identifiers (SIDs)](/troubleshoot/windows-server/identity/security-identifiers-in-windows). Unlike group names, SIDs are immutable and unique and therefore present no naming conflicts.
31
31
32
32
> [!NOTE]
33
-
> Currently, AD SSO connectivity is only supported for workload clusters.
33
+
> AD SSO connectivity is only supported for workload clusters.
34
+
35
+
> [!NOTE]
36
+
> The use of nested AD groups (creating an AD group within another AD group) is unsupported.
34
37
35
38
This article guides you through the steps to set up Active Directory as the identity provider and to enable SSO via `kubectl`:
Copy file name to clipboardExpand all lines: AKS-Hybrid/aks-hci-network-system-requirements.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,8 @@ In this conceptual article, the following key components are introduced. These c
26
26
Kubernetes nodes are deployed as specialized virtual machines in AKS enabled by Arc. These VMs are allocated IP addresses to enable communication between Kubernetes nodes. AKS Arc uses Azure Stack HCI logical networks to provide IP addresses and networking for the underlying VMs of the Kubernetes clusters. For more information about logical networks, see [Logical networks for Azure Stack HCI](/azure-stack/hci/manage/create-logical-networks?tabs=azurecli). You must plan to reserve one IP address per AKS cluster node VM in your Azure Stack HCI environment.
27
27
28
28
> [!NOTE]
29
-
> Static IP is the only supported mode for assigning an IP address to AKS Arc VMs. This is because Kubernetes requires the IP address assigned to a Kubernetes node to be constant throughout the lifecycle of the Kubernetes cluster.
29
+
> Static IP is the only supported mode for assigning an IP address to AKS Arc VMs. This is because Kubernetes requires the IP address assigned to a Kubernetes node to be constant throughout the lifecycle of the Kubernetes cluster.
30
+
> Software defined virtual networks and SDN related features are currently not supported on AKS on Azure Stack HCI 23H2.
30
31
31
32
The following parameters are required in order to use a logical network for AKS Arc cluster create operation:
The main purpose of a load balancer is to distribute traffic across multiple nodes in a Kubernetes cluster. This can help prevent downtime and improve overall performance of applications. AKS enabled by Azure Arc supports creating [MetalLB](https://metallb.universe.tf/) load balancer instance on your Kubernetes cluster using the `Arc Networking` k8s-extension.
17
+
The main purpose of a load balancer is to distribute traffic across multiple nodes in a Kubernetes cluster. This can help prevent downtime and improve overall performance of applications. AKS enabled by Azure Arc supports creating [MetalLB](https://metallb.universe.tf/) load balancer instance on your Kubernetes cluster using the `Arc Kubernetes Runtime` k8s-extension.
18
18
19
19
## Prerequisites
20
20
21
-
-A Kubernetes cluster with at least one Linux node. You can create a Kubernetes cluster on Azure Stack HCI 23H2 using the [Azure CLI](aks-create-clusters-cli.md) or the [Azure portal](aks-create-clusters-portal.md).
22
-
- Make sure you have enough IP addresses for the load balancer. Ensure that the IP addresses reserved for the load balancer do not conflict with the IP addresses in Arc VM logical networks and control plane IPs. For more information about IP address planning and networking in Kubernetes, see [Networking requirements for AKS on Azure Stack HCI 23H2](aks-hci-network-system-requirements.md).
21
+
-An Azure Arc enabled Kubernetes cluster with at least one Linux node. You can create a Kubernetes cluster on Azure Stack HCI 23H2 using the [Azure CLI](aks-create-clusters-cli.md) or the [Azure portal](aks-create-clusters-portal.md). AKS on Azure Stack HCI 23H2 clusters are Arc enabled by default.
22
+
- Make sure you have enough IP addresses for the load balancer. For AKS on Azure Stack HCI 23H2, ensure that the IP addresses reserved for the load balancer do not conflict with the IP addresses in Arc VM logical networks and control plane IPs. For more information about IP address planning and networking in Kubernetes, see [Networking requirements for AKS on Azure Stack HCI 23H2](aks-hci-network-system-requirements.md).
23
23
- This how-to guide assumes you understand how Metal LB works. For more information, see the [overview for MetalLB in Arc Kubernetes clusters](load-balancer-overview.md).
24
24
25
25
## Install the Azure CLI extension
@@ -30,25 +30,71 @@ Run the following command to install the necessary Azure CLI extension:
30
30
az extension add -n k8s-runtime --upgrade
31
31
```
32
32
33
-
## Enable load balancer Arc extension
33
+
## Enable MetalLB Arc extension
34
34
35
35
Configure the following variables before proceeding:
|`$subId`| Azure subscription ID of your Kubernetes cluster. |
40
-
|`$rgName`| Azure resource group for your Kubernetes cluster. |
41
-
|`$clusterName`| The name of your AKS Arc cluster. |
40
+
|`$rgName`| Azure resource group of your Kubernetes cluster. |
41
+
|`$clusterName`| The name of your Kubernetes cluster. |
42
42
43
-
Use the [`az k8s-runtime load-balancer enable`](/cli/azure/k8s-runtime/load-balancer#az-k8s-runtime-load-balancer-enable) command to install the Arc extension and register the resource provider for your Kubernetes cluster. The `--resource-uri` parameter refers to the resource manager ID of your AKS Arc cluster.
To enable the MetalLB Arc extension using the following command, you must have [Graph permission Application.Read.All](/graph/permissions-reference#applicationreadall). You can check if you have this permission by logging into your Azure subscription, and running the following command:
46
+
47
+
```azurecli
48
+
`az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json`
49
+
```
50
+
If the command fails, contact your Azure tenant administrator to get `Application.Read.All` role.
51
+
52
+
If you do have the permission, you can use the [`az k8s-runtime load-balancer enable`](/cli/azure/k8s-runtime/load-balancer#az-k8s-runtime-load-balancer-enable) command to install the Arc extension and register the resource provider for your Kubernetes cluster. The `--resource-uri` parameter refers to the resource manager ID of your Kubernetes cluster.
44
53
45
54
```azurecli
46
55
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
If you don't have [Graph permission Application.Read.All](/graph/permissions-reference#applicationreadall), you can follow these steps:
61
+
62
+
1. Register the `Microsoft.KubernetesRuntime RP` if you haven't already done so. Note that you only need to register once per Azure subscription. You can also register resource providers using the Azure portal. For more information about how to register resource providers and required permissions, see [how to register a resource provider](/azure/azure-resource-manager/management/resource-providers-and-types#register-resource-provider).
63
+
64
+
```azurecli
65
+
az provider register -n Microsoft.KubernetesRuntime
66
+
```
67
+
68
+
You can check if the resource provider has been registered successfully by running the following command.
69
+
70
+
```azurecli
71
+
az provider show -n Microsoft.KubernetesRuntime -o table
2. To install the MetalLB Arc extension, obtain the AppID of the MetalLB extension resource provider, and then run the extension create command. You must run the following commands once per Arc Kubernetes cluster.
82
+
83
+
Obtain the Application ID of the Arc extension by running [az ad sp list](/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-list). In order to run the following command, you must be a `user` member of your Azure tenant. For more information about user and guest membership, see [default user permissions in Microsoft Entra ID](/entra/fundamentals/users-default-permissions).
84
+
85
+
```azurecli
86
+
$objID = az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --query "[].id" --output tsv
87
+
```
88
+
89
+
Once you have the $objID, you can install the MetalLB Arc extension on your Kubernetes cluster. To run the below command, you need to have [**Kubernetes extension contributor**](/azure/role-based-access-control/built-in-roles/containers#kubernetes-extension-contributor) role.
## Deploy MetalLB load balancer on your Kubernetes cluster
50
96
51
-
You can now create a load balancer for your Kubernetes cluster remotely by running the [`az k8s-runtime load-balancer create`](/cli/azure/k8s-runtime/load-balancer#az-k8s-runtime-load-balancer-create) command. This command creates a custom resource of kind`IPAddressPool` in namespace `kube-system`.
97
+
You can now create a load balancer for your Kubernetes cluster remotely by running the [`az k8s-runtime load-balancer create`](/cli/azure/k8s-runtime/load-balancer#az-k8s-runtime-load-balancer-create) command. This command creates a custom resource of type`IPAddressPool` in the namespace `kube-system`.
52
98
53
99
Configure the following variables before proceeding:
Copy file name to clipboardExpand all lines: AKS-Hybrid/kubernetes-rbac-entra-id.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,8 @@ Before you set up Kubernetes RBAC using Microsoft Entra ID, you need the followi
32
32
-**Azure CLI and the connectedk8s extension**. Azure CLI is a set of commands used to create and manage Azure resources. To check whether you have the Azure CLI, open a command line tool, and type: `az -v`. Also, install the [connectedk8s extension](https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedk8s) in order to open a channel to your Kubernetes cluster. For installation instructions, see [How to install Azure CLI](/cli/azure/install-azure-cli).
33
33
-**Kubectl**. This Kubernetes command-line tool enables you to run commands targeting your Kubernetes clusters. To check whether you installed kubectl, open a command prompt and type: `kubectl version --client`. Make sure your kubectl client version is at least version v1.24.0. For installation instructions, see [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl).
34
34
-**PowerShell and the AksHci PowerShell module**. PowerShell is a cross-platform task automation solution comprised of a command-line shell, a scripting language, and a configuration management framework. If you installed AKS Arc, you have access to the **AksHci** PowerShell module.
35
+
- To access the Kubernetes cluster from anywhere with a proxy mode using `az connectedk8s proxy` command, you need the **Microsoft.Kubernetes/connectedClusters/listClusterUserCredential/action**, which is included in the **Azure Arc-enabled Kubernetes Cluster User** role permission. Meanwhile, you need to verify that the agents and the machine performing the onboarding process meet the network requirements in [Azure Arc-enabled Kubernetes network requirements](/azure/azure-arc/kubernetes/network-requirements?tabs=azure-cloud#details).
Copy file name to clipboardExpand all lines: azure-stack/hci/deploy/deployment-prep-active-directory.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Prepare Active Directory for new Azure Stack HCI, version 23H2 deployment
3
3
description: Learn how to prepare Active Directory before you deploy Azure Stack HCI, version 23H2.
4
4
author: alkohli
5
5
ms.topic: how-to
6
-
ms.date: 06/13/2024
6
+
ms.date: 08/05/2024
7
7
ms.author: alkohli
8
8
ms.reviewer: alkohli
9
9
ms.subservice: azure-stack-hci
@@ -46,7 +46,7 @@ Before you begin, make sure you've done the following:
46
46
47
47
## Active Directory preparation module
48
48
49
-
The *AsHciADArtifactsPreCreationTool.ps1* module is used to prepare Active Directory. Here are the required parameters associated with the cmdlet:
49
+
The `New-HciAdObjectsPreCreation` cmdlet of the AsHciADArtifactsPreCreationTool PowerShell module is used to prepare Active Directory for Azure Stack HCI deployments. Here are the required parameters associated with the cmdlet:
50
50
51
51
|Parameter|Description|
52
52
|--|--|
@@ -60,14 +60,13 @@ The *AsHciADArtifactsPreCreationTool.ps1* module is used to prepare Active Direc
60
60
|`-Deploy`|Select this scenario for a brand new deployment instead of an upgrade of an existing system.|-->
61
61
62
62
> [!NOTE]
63
-
> - The `-AsHciOUName` path doesn't support the following special characters anywhere within the path `- &,”,’,<,>`.
63
+
> - The `-AsHciOUName` path doesn't support the following special characters anywhere within the path: `&,",',<,>`.
64
64
> - Moving the computer objects to a different OU after the deployment is complete is also not supported.
65
65
66
66
## Prepare Active Directory
67
67
68
68
When you prepare Active Directory, you create a dedicated Organizational Unit (OU) to place the Azure Stack HCI related objects such as deployment user.
69
69
70
-
71
70
To create a dedicated OU, follow these steps:
72
71
73
72
1. Sign in to a computer that is joined to your Active Directory domain.
Copy file name to clipboardExpand all lines: azure-stack/hci/deploy/deployment-prerequisites.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Prerequisites to deploy Azure Stack HCI, version 23H2
3
3
description: Learn about the prerequisites to deploy Azure Stack HCI, version 23H2.
4
4
author: alkohli
5
5
ms.topic: conceptual
6
-
ms.date: 05/02/2024
6
+
ms.date: 08/05/2024
7
7
ms.author: alkohli
8
8
ms.reviewer: alkohli
9
9
ms.subservice: azure-stack-hci
@@ -34,7 +34,7 @@ Use the following checklist to gather the required information ahead of the actu
34
34
|Component|What is needed|
35
35
|--|--|
36
36
|Server names|Unique name for each server you wish to deploy.|
37
-
|Active directory OU|A new organizational unit (OU) to store all the objects for the Azure Stack HCI deployment. The OU is created during the [Active Directory preparation](./deployment-prep-active-directory.md).<br>The OU must be specified as the distinguished name (DN). The OU path doesn't support the following special characters anywhere within the path`- &,”,’,<,>`. For more information, see the format of [Distinguished Names](/previous-versions/windows/desktop/ldap/distinguished-names).|
37
+
|Active directory OU|A new organizational unit (OU) to store all the objects for the Azure Stack HCI deployment. The OU is created during the [Active Directory preparation](./deployment-prep-active-directory.md).<br>The OU must be specified as the distinguished name (DN). The OU path doesn't support the following special characters anywhere within the path: `&,",',<,>`. For more information, see the format of [Distinguished Names](/previous-versions/windows/desktop/ldap/distinguished-names).|
38
38
|Active Directory Domain|Fully-qualified domain name (FQDN) for the Active Directory Domain Services prepared for deployment.|
39
39
|Active Directory LCM User credential|A new username and password that is created with the appropriate permissions for deployment. This account is the same as the user account used by the Azure Stack HCI deployment.<br>The password must conform to the Azure length and complexity requirements. Use a password that is at least 12 characters long. The password must contain the following: a lowercase character, an uppercase character, a numeral, and a special character.<br> The name must be unique for each deployment and you can't use *admin* as the username.|
40
40
|IPv4 network range subnet for management network intent|A subnet used for management network intent. You need an address range for management network with a minimum of 6 available, contiguous IPs in this subnet. These IPs are used for infrastructure services with the first IP assigned to fail over clustering.<br> For more information, see the **Specify network settings** page in [Deploy via Azure portal](./deploy-via-portal.md#specify-network-settings).|
# Prepare a CentOS Linux image for Azure Stack HCI virtual machines (preview)
14
14
15
+
> [!CAUTION]
16
+
> This article references CentOS, a Linux distribution that's reached end-of-life (EOL). Consider your use of CentOS and plan accordingly. For more information, see [CentOS end-of-life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life).
This article describes how to prepare a CentOS Linux image to create a virtual machine (VM) on your Azure Stack HCI cluster. You use the Azure CLI for the VM image creation.
0 commit comments