Skip to content

Commit 6479f1c

Browse files
committed
Incorp changes
1 parent ac322a6 commit 6479f1c

File tree

4 files changed

+46
-20
lines changed

4 files changed

+46
-20
lines changed

AKS-Hybrid/aks-hci-ip-address-planning.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,32 @@ Continuing with this example, and adding it to the following table, you get:
5050
| AKS Arc VMs, K8s version upgrade and control plane IP | Reserve 16 IP addresses | Make this reservation through IP pools in the Azure Local logical network. |
5151
| Load balancer IPs | 3 IP address for Kubernetes services, for Jane's voting application. | These IP addresses are used when you install a load balancer on cluster A. You can use the MetalLB Arc extension, or bring your own 3rd party load balancer. Ensure that this IP is in the same subnet as the Arc logical network, but outside the IP pool defined in the Arc VM logical network. |
5252

53+
#### Example CLI commands for IP address reservation for Kubernetes clusters and applications
54+
55+
This section describes the set of commands Jane runs for her scenario. First, create a logical network with an IP pool that has at least 16 IP addresses. We created the IP pool with 20 IP addresses to provide the option to scale on day N. For detailed information about parameter options in logical networks, see [`az stack-hci-vm network lnet create`](/cli/azure/stack-hci-vm/network/lnet#az-stack-hci-vm-network-lnet-create):
56+
57+
```azurecli
58+
$ipPoolStart = "10.220.32.18"
59+
$ipPoolEnd = "10.220.32.37"
60+
az stack-hci-vm network lnet create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --name $lnetName --vm-switch-name $vmSwitchName --ip-allocation-method "Static" --address-prefixes $addressPrefixes --gateway $gateway --dns-servers $dnsServers --ip-pool-start $ipPoolStart --ip-pool-end $ipPoolEnd
61+
```
62+
63+
Next, create an AKS Arc cluster with the previous logical network:
64+
65+
```azurecli
66+
az aksarc create -n $aksclustername -g $resource_group --custom-location $customlocationID --vnet-ids $lnetName --aad-admin-group-object-ids $aadgroupID --generate-ssh-keys
67+
```
68+
69+
Now you can enable MetalLB load balancer with an IP pool of 3 IP addresses, in the same subnet as the Arc VM logical network. You can add more IP pools later if your application needs an increase. For detailed requirements, see the [MetalLB Arc extension overview](load-balancer-overview).
70+
71+
```azurecli
72+
az k8s-runtime load-balancer create --load-balancer-name $lbName --resource-uri subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.Kubernetes/connectedClusters/metallb-demo --addresses 172.25.28.145-172.25.28.147 --advertise-mode ARP
73+
```
74+
5375
### LNETs considerations for AKS clusters and Arc VMs
5476

5577
Logical networks on Azure Local are used by both AKS clusters and Arc VMs. You can configure logical networks in one of the following 2 ways:
78+
5679
- Share a logical network between AKS and Arc VMs.
5780
- Define separate logical networks for AKS clusters and Arc VMs.
5881

@@ -66,7 +89,6 @@ Sharing a logical network between AKS and Arc VMs on Azure Local offers the bene
6689
| **Security considerations** | Increased risk of cross-communication vulnerabilities if not properly segmented. | Better security as each network can be segmented and isolated more strictly. |
6790
| **Impact of network failures** | A failure in the shared network can affect both AKS and Arc VMs simultaneously. | A failure in one network affects only the workloads within that network, reducing overall risk. |
6891

69-
7092
## IP address range allocation for pod CIDR and service CIDR
7193

7294
### Pod network CIDR

AKS-Hybrid/aks-hci-network-system-requirements.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ The following parameters are required in order to use a logical network for AKS
3737
| `--gateway` | Gateway. The gateway IP address must be within the scope of the address prefix. Usage: `--gateway 10.220.32.16`. | ![Supported](media/aks-hybrid-networks/check.png) |
3838
| `--ip-allocation-method` | The IP address allocation method. Supported values are "Static". Usage: `--ip-allocation-method "Static"`. | ![Supported](media/aks-hybrid-networks/check.png) |
3939
| `--vm-switch-name` | The name of the VM switch. Usage: `--vm-switch-name "vm-switch-01"`. | ![Supported](media/aks-hybrid-networks/check.png) |
40+
| `--ip-pool-start` | If you use MetalLB or any other third party load balancer in L2/ARP mode, we highly recommend using IP pools to separate AKS Arc IP requirements from load balancer IPs. This recommendation is to help avoid IP address conflicts that can lead to unintended and hard-to-diagnose failures. This value is the start IP address of your IP pool. The address must be in the range of the address prefix. Usage: `--ip-pool-start "10.220.32.18"`. | Optional, but highly recommended. |
41+
| `--ip-pool-end` | If you use MetalLB or any other third party load balancer in L2/ARP mode, we highly recommend using IP pools to separate AKS Arc IP requirements from load balancer IPs. This recommendation is to help avoid IP address conflicts that can lead to unintended and hard-to-diagnose failures. This value is the end IP address of your IP pool. The address must be in the range of the address prefix. Usage: `--ip-pool-end "10.220.32.38"`. | Optional, but highly recommended. |
4042

4143
### Control plane IP
4244

AKS-Hybrid/arc-gateway-aks-arc.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ For more information, see [how the Azure Arc gateway works](/azure/azure-arc/kub
3838
3939
## Before you begin
4040

41-
- Ensure you've completed the [pre-requisites for creating AKS clusters on Azure Local](aks-hci-network-system-requirements.md)
41+
- Ensure you complete the [prerequisites for creating AKS clusters on Azure Local](aks-hci-network-system-requirements.md).
42+
- This article requires version 1.4.23 or later of Azure CLI. If you use Azure CloudShell, the latest version is already installed.
4243
- The following Azure permissions are required to create Arc gateway resources and manage their association with AKS Arc clusters:
4344
- `Microsoft.Kubernetes/connectedClusters/settings/default/write`
4445
- `Microsoft.hybridcompute/gateways/read`
@@ -64,23 +65,23 @@ Ensure your Arc gateway URL and all of the URLs below are allowed through your e
6465

6566
## Create an AKS Arc cluster with Arc gateway enabled
6667

67-
Run the following command to create AKS Arc clusters with Arc gateway enabled
68+
Run the following command to create an AKS Arc cluster with the Arc gateway enabled:
6869

6970
```azurecli
7071
az aksarc create -n $clusterName -g $resourceGroup --custom-location $customlocationID --vnet-ids $arcVmLogNetId --aad-admin-group-object-ids $aadGroupID --gateway-id $gatewayId --generate-ssh-keys
7172
```
7273

7374
## Update an AKS Arc cluster and enable Arc gateway
7475

75-
Run the following command to create AKS Arc clusters with Arc gateway enabled:
76+
Run the following command to update an AKS Arc cluster and enable the Arc gateway:
7677

7778
```azurecli
7879
az aksarc update -n $clusterName -g $resourceGroup --gateway-id $gatewayId
7980
```
8081

8182
## Disable Arc gateway on an AKS Arc cluster
8283

83-
Run the following command to create AKS Arc clusters with Arc gateway enabled:
84+
Run the following command to disable an AKS Arc cluster:
8485

8586
```azurecli
8687
az aksarc update -n $clusterName -g $resourceGroup --disable-gateway

AKS-Hybrid/disable-windows-nodepool.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,28 @@ This how-to article walks you through how to disable the Windows nodepool featur
2222

2323
Before you begin, make sure you have the following prerequisites in place:
2424

25-
- **Azure Local deployed**: This article is only applicable if you already deployed Azure Local. You cannot run the commands in this article before you deploy Azure Local. We currently do not support the ability to make this change before the initial Azure Local deployment.
26-
- **Custom Location ID**: Azure Resource Manager ID of the custom location. The custom location is configured during the Azure Local deployment. If you're in the Azure portal, go to the **Overview > Server** page in the Azure Stack HCI system resource. You should see a custom location for your cluster.
27-
- **Azure resource group**: The Azure resource group where Azure Local is deployed.
28-
- Azure RBAC permissions to update Azure Stack HCI configuration. Make sure you have the following roles. For more information, see [required permissions for deployment](/azure/azure-local/deploy/deployment-arc-register-server-permissions?tabs=powershell#assign-required-permissions-for-deployment):
25+
- **Azure Local deployed**. This article is only applicable if you already deployed Azure Local, release 2411. You cannot run the commands in this article before you deploy Azure Local release 2411. We currently do not support the ability to make this change before the initial Azure Local release 2411 deployment.
26+
- **Azure RBAC permissions to update Azure Local configuration**. Make sure you have the following roles. To learn more, visit [required permissions for deployment](/hci/deploy/deployment-arc-register-server-permissions?tabs=powershell#assign-required-permissions-for-deployment):
2927
- Azure Stack HCI Administrator
3028
- Reader
29+
- **Custom Location**. Name of the custom location. The custom location is configured during the Azure Local deployment. If you're in the Azure portal, go to the **Overview > Server** page in the Azure Local system resource. You should see a custom location for your cluster.
30+
- **Azure resource group**. The Azure resource group in which Azure Local is deployed.
3131

32-
## Set environment variables
32+
## Recommended option: disable Windows nodepool from an Azure CloudShell session
3333

3434
To help simplify configuration, the following steps define environment variables that are referenced in this article. Remember to replace the values shown with your own values.
3535

36-
Set the custom location and the resource group values in environment variables.\:
36+
Set the custom location and the resource group values in environment variables:
3737

3838
```azurecli
39-
$customlocationID = <The custom location ARM ID for Azure Local>
40-
$resourceGroup = <The Azure resource group where Azure Local is deployed>
39+
$customlocationName = <The custom location name for Azure Local>
40+
$resourceGroup = <The Azure resource group in which Azure Local is deployed>
4141
```
4242

4343
Next, run the following command to obtain the `clusterName` parameter. This parameter is the name of the Arc Resource Bridge that you deployed on Azure Local:
4444

4545
```azurecli
46-
az customlocation show -n $customlocationID -g $resourceGroup --query hostResourceId
46+
az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId
4747
```
4848

4949
Expected output:
@@ -77,22 +77,23 @@ You should have two extensions installed on your custom location: AKS Arc and Ar
7777
$extensionName = <Name of AKS Arc extension you deployed on the custom location>
7878
```
7979

80-
Once you have the extension name, create variables for the following parameters.
80+
After you have the extension name, create variables for the following parameters, and then disable the Windows nodepool feature:
8181

8282
```azurecli
8383
$extensionVersion = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
8484
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
85+
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
8586
```
8687

87-
## Update the AKS Arc extension to disable the Windows nodepool feature
88+
## Alternate option: disable Windows nodepool after connecting to an Azure Local physical node via Remote Desktop
8889

89-
After you set the environment variables, you can run the following command from an Azure CloudShell session to update the AKS Arc k8s extension. This command disables the Windows nodepool feature and deletes any associated VHDs:
90+
If for some reason you're not able to use Azure CloudShell or a machine with connectivity to Azure in order to disable Windows nodepool, you can disable Windows nodepool after connecting to any one of the Azure Local physical nodes with Remote Desktop. You must first sign in to Azure:
9091

9192
```azurecli
9293
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
9394
```
9495

95-
## Validate if the Windows nodepool feature is disabled
96+
### Validate if the Windows nodepool feature is disabled
9697

9798
You can check if the configuration settings were applied by running `az k8s-extension show`, as follows:
9899

@@ -111,7 +112,7 @@ Expected output:
111112
Next, check if Windows nodepools were disabled by running the following command:
112113

113114
```azurecli
114-
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationID
115+
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName
115116
```
116117

117118
The output for `osType=Windows` should say "Windows nodepool feature is disabled" and the `ready` state should be `false`, for each Kubernetes version option:
@@ -154,5 +155,5 @@ The Windows VHDs that were previously downloaded are automatically deleted if th
154155

155156
## Next steps
156157

157-
- [What's new in AKS on Azure Stack HCI](aks-overview.md)
158+
- [What's new in AKS on Azure Local](aks-overview.md)
158159
- [Create AKS clusters](aks-create-clusters-cli.md)

0 commit comments

Comments
 (0)