Adjust the IP count value¶
During an MKE installation, you can alter the number of Azure IP addresses that MKE automatically provisions for pods.
By default, MKE will provision 128 addresses, from the same Azure subnet as the
hosts, for each VM in the cluster. If, however, you have manually attached
additional IP addresses to the VMs (by way of an ARM Template, Azure CLI or
Azure Portal) or you are deploying in to small Azure subnet (less than /16),
you can use an --azure-ip-count
flag at install time.
Note
Do not set the --azure-ip-count
variable to a value of less than 6 if
you have not manually provisioned additional IP addresses for each VM. The
MKE installation needs at least 6 IP addresses to allocate to the core MKE
components that run as Kubernetes pods (in addition to the VM’s private IP
address).
Below are several example scenarios that require the defining of the
--azure-ip-count
variable.
Scenario 1: Manually provisioned addresses
If you have manually provisioned additional IP addresses for each VM and want
to disable MKE from dynamically provisioning more IP addresses, you must
pass --azure-ip-count 0
into the MKE installation command.
Scenario 2: Reducing the number of provisioned addresses
Pass --azure-ip-count <custom_value>
into the MKE installation command
to reduce the number of IP addresses dynamically allocated from 128 to a
custom value due to:
Primary use of the Swarm Orchestrator
Deployment of MKE on a small Azure subnet (for example, /24)
Plans to run a small number of Kubernetes pods on each node
To adjust this value post-installation, refer to the instructions on how to download the MKE configuration file, change the value, and update the configuration via the API.
Note
If you reduce the value post-installation, existing VMs will not reconcile and you will need to manually edit the IP count in Azure.
Run the following command to install MKE on a manager node.
docker container run --rm -it \
--name ucp \
--volume /var/run/docker.sock:/var/run/docker.sock \
mirantis/ucp:3.5.12 install \
--host-address <ucp-ip> \
--pod-cidr <ip-address-range> \
--cloud-provider Azure \
--interactive
The
--pod-cidr
option maps to the IP address range that you configured for the Azure subnet.Note
The
pod-cidr
range must match the Azure virtual network’s subnet attached to the hosts. For example, if the Azure virtual network had the range172.0.0.0/16
with VMs provisioned on an Azure subnet of172.0.1.0/24
, then the Pod CIDR should also be172.0.1.0/24
.This requirement applies only when MKE does not use the VXLAN data plane. If MKE uses the VXLAN data plane, the
pod-cidr
range must be different than the node IP subnet.The
--host-address
maps to the private IP address of the master node.The
--azure-ip-count
serves to adjust the amount of IP addresses provisioned to each VM.