Skip to content

Commit 9f70946

Browse files
authored
Merge pull request #113343 from mlearned/mdl-1527819-pip-per-agent
Mdl 1527819 pip per agent
2 parents f5b3658 + 848bfaa commit 9f70946

File tree

1 file changed

+59
-6
lines changed

1 file changed

+59
-6
lines changed

articles/aks/use-multiple-node-pools.md

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -718,22 +718,65 @@ az group deployment create \
718718

719719
It may take a few minutes to update your AKS cluster depending on the node pool settings and operations you define in your Resource Manager template.
720720

721-
## Assign a public IP per node for a node pool (preview)
721+
## Assign a public IP per node for your node pools (preview)
722722

723723
> [!WARNING]
724-
> During the preview of assigning a public IP per node, it cannot be used with the *Standard Load Balancer SKU in AKS* due to possible load balancer rules conflicting with VM provisioning. As a result of this limitation, Windows agent pools are not supported with this preview feature. While in preview you must use the *Basic Load Balancer SKU* if you need to assign a public IP per node.
724+
> You must install the CLI preview extension 0.4.43 or greater to use the public IP per node feature.
725725

726-
AKS nodes do not require their own public IP addresses for communication. However, scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. An common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. This scenario can be achieved on AKS by registering for a preview feature, Node Public IP (preview).
726+
AKS nodes do not require their own public IP addresses for communication. However, scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. This scenario can be achieved on AKS by registering for a preview feature, Node Public IP (preview).
727727

728-
Register for the Node Public IP feature by issuing the following Azure CLI command.
728+
To install and update the latest aks-preview extension, use the following Azure CLI commands:
729+
730+
```azurecli
731+
az extension add --name aks-preview
732+
az extension update --name aks-preview
733+
az extension list
734+
```
735+
736+
Register for the Node Public IP feature with the following Azure CLI command:
729737

730738
```azurecli-interactive
731739
az feature register --name NodePublicIPPreview --namespace Microsoft.ContainerService
732740
```
741+
It may take several minutes for the feature to register. You can check the status with the following command:
742+
743+
```azurecli-interactive
744+
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/NodePublicIPPreview')].{Name:name,State:properties.state}"
745+
```
746+
747+
After successful registration, create a new resource group.
748+
749+
```azurecli-interactive
750+
az group create --name myResourceGroup2 --location eastus
751+
```
752+
753+
Create a new AKS cluster and attach a public IP for your nodes. Each of the nodes in the node pool receives a unique public IP. You can verify this by looking at the Virtual Machine Scale Set instances.
754+
755+
```azurecli-interactive
756+
az aks create -g MyResourceGroup2 -n MyManagedCluster -l eastus --enable-node-public-ip
757+
```
733758

734-
After successful registration, deploy an Azure Resource Manager template following the same instructions as [above](#manage-node-pools-using-a-resource-manager-template) and add the boolean property `enableNodePublicIP` to agentPoolProfiles. Set the value to `true` as by default it is set as `false` if not specified.
759+
For existing AKS clusters, you can also add a new node pool, and attach a public IP for your nodes.
735760

736-
This property is a create-time only property and requires a minimum API version of 2019-06-01. This can be applied to both Linux and Windows node pools.
761+
```azurecli-interactive
762+
az aks nodepool add -g MyResourceGroup2 --cluster-name MyManagedCluster -n nodepool2 --enable-node-public-ip
763+
```
764+
765+
> [!Important]
766+
> During preview, the Azure Instance Metadata Service doesn't currently support retrieval of public IP addresses for the standard tier VM SKU. Due to this limitation, you can't use kubectl commands to display the public IPs assigned to the nodes. However, the IPs are assigned and function as intended. The public IPs for your nodes are attached to the instances in your Virtual Machine Scale Set.
767+
768+
You can locate the public IPs for your nodes in various ways:
769+
770+
* Use the Azure CLI command [az vmss list-instance-public-ips][az-list-ips]
771+
* Use [PowerShell or Bash commands][vmss-commands].
772+
* You can also view the public IPs in the Azure portal by viewing the instances in the Virtual Machine Scale Set.
773+
774+
> [!Important]
775+
> The [node resource group][node-resource-group] contains the nodes and their public IPs. Use the node resource group when executing commands to find the public IPs for your nodes.
776+
777+
```azurecli
778+
az vmss list-instance-public-ips -g MC_MyResourceGroup2_MyManagedCluster_eastus -n YourVirtualMachineScaleSetName
779+
```
737780

738781
## Clean up resources
739782

@@ -751,6 +794,12 @@ To delete the cluster itself, use the [az group delete][az-group-delete] command
751794
az group delete --name myResourceGroup --yes --no-wait
752795
```
753796

797+
You can also delete the additional cluster you created for the public IP for node pools scenario.
798+
799+
```azurecli-interactive
800+
az group delete --name myResourceGroup2 --yes --no-wait
801+
```
802+
754803
## Next steps
755804

756805
Learn more about [system node pools][use-system-pool].
@@ -791,3 +840,7 @@ To create and use Windows Server container node pools, see [Create a Windows Ser
791840
[taints-tolerations]: operator-best-practices-advanced-scheduler.md#provide-dedicated-nodes-using-taints-and-tolerations
792841
[vm-sizes]: ../virtual-machines/linux/sizes.md
793842
[use-system-pool]: use-system-pools.md
843+
[ip-limitations]: ../virtual-network/virtual-network-ip-addresses-overview-arm#standard
844+
[node-resource-group]: faq.md#why-are-two-resource-groups-created-with-aks
845+
[vmss-commands]: ../virtual-machine-scale-sets/virtual-machine-scale-sets-networking.md#public-ipv4-per-virtual-machine
846+
[az-list-ips]: /cli/azure/vmss?view=azure-cli-latest.md#az-vmss-list-instance-public-ips

0 commit comments

Comments
 (0)