Skip to content

Configuration#

Configuration options are available for the Envoy Gateway controller and for the management ingress. You can configure these components using either the mkectl command-line tool or the MKE 4 Dashboard.

Envoy Gateway controller#

To configure Envoy Gateway controller from the command line:

  1. Obtain the default mke4.yaml configuration file:

    mkectl init
    
  2. Navigate to the spec.envoyGateway section of the configuration file, and set the parameters as needed.

    MKE 4 supports the Envoy Gateway controller configurations detailed below:

    Configuration                                               Description
    nodeSelector Specifies a map for determining the nodes on which to run the Envoy Gateway controller deployment. Merged with required default selectors:
    • kubernetes.io/os: linux
    • node-role.kubernetes.io/control-plane: "true"
    replicaCount Indicates the number of replicas for the Envoy Gateway controller deployment. Note that replicaCount defaults to the controller count when it is not explicitly set.
    resources Sets the requests and limits parameters for Envoy Gateway deployment. For both parameters, specify only cpu and memory.
    tolerations Sets the tolerations that are used for the Envoy Gateway controller deployment. By default, MKE 4 adds appropriate tolerations for scheduling the Envoy Gateway controller deployment pods on controller nodes. If you specify your own tolerations, however, you must also include any that are require scheduling on the controller nodes.
  3. Apply the configuration:

    mkectl apply -f mke4.yaml
    

To configure Envoy Gateway controller using the MKE 4 Dashboard:

  1. Log in to the MKE 4 Dashboard as an administrator.

  2. In the left-side navigation panel, navigate to Admin Settings > Gateway.

  3. Select the Controller tab.

  4. Adjust the settings as needed:

    • Replica count: Number of controller Pod replicas. When left blank, the setting defaults to one replica per control-plane node.

    • Tolerations: The default control-plane tolerations, node-role.kubernetes.io/master and node-role.kubernetes.io/control-plane, are locked and cannot be removed using the MKE 4 Dashboard. You can, though, add your own additional tolerations.

    • Node selector: The default kubernetes.io/os: linux selector is locked and cannot be removed. You can, though, add your own additional key/value pairs.

    • ResourcesRequests

    • ResourcesLimits

  5. Click Save settings.

Management ingress#

To configure Management ingress from the command line:

  1. Obtain the default mke4.yaml configuration file:

    mkectl init
    
  2. Navigate to the spec.gatewayMKEIngress section of the configuration file, and set the parameters as needed.

    MKE 4 supports the management ingress configurations detailed below:

    Configuration                                                             Description
    nodePorts.HTTP HTTP node port for management ingress. Unsupported and can be removed at any time.
    nodePorts.HTTPS HTTPS node port for management ingress. Ensure that this matches the target port of the MKE 4 Dashboard in your load balancer configuration.
  3. Apply the configuration:

    mkectl apply -f mke4.yaml
    

To configure management ingress using the MKE 4 Dashboard:

  1. Log in to the MKE 4 Dashboard as an administrator.

  2. In the left-side navigation panel, navigate to Admin Settings > Gateway.

  3. Select the Management ingress tab.

  4. Adjust the HTTP and HTTPS port settings as needed:

  5. Service ports

  6. Node ports

  7. Click Save settings.