Configure the load balancer#
Setting up your load balancer is a key aspect of upgrading from MKE 3 to MKE 4.
To do so you must first identify NodePorts that the Gateway API will use. You
can choose any listener port; however, if you select a port other than 443 you
must specify it in the external-address by appending the listener port to the
load balancer address, as indicated in the load balancer
requirements.
The listener port must target the HTTPS NodePort of the Gateway API. This
NodePort must be selected in advance to ensure that it does not conflict with
NodePorts that are already in use by other services. Specify the NodePort values,
using the --gateway-https-node-port parameter for HTTPS and the --gateway-http-node-port
parameter for HTTP. Note that the load balancer only needs to route traffic
from the listener port to the HTTPS NodePort.
The --gateway-https-node-port and --gateway-http-node-port parameters are
mandatory for upgrades of MKE 3 to MKE 4.1.5 or later. One exception to this,
though, is if you had ingress enabled on the source MKE 3 cluster and want to
remove it following the upgrade; for instance, if you are running the mkectl
upgrade command with the --remove-ingress-nginx argument. In this case, MKE
4 uses the configured NodePorts for the ingress controller for the Gateway API,
though Mirantis still strongly recommends that you explicitly specify the Gateway
API NodePorts.