Some prerequisites that must be in place before configuring the Ingress Controller functionality for Kubernetes are listed below:

  • At least one licensed and running LoadMaster instance

  • A Kube config file with the necessary permissions to read configuration using the Kubernetes Application Programming Interface (API)

  • To verify if the current user can perform specific actions, you can use the following syntax:

    kubectl auth can-i <VERB> <RESOURCE> [-n <NAMESPACE>]

    • <VERB>: A Kubernetes API verb like get, list, watch, create, update, delete, and so on.

    • <RESOURCE>: The Kubernetes resource type (for example, pods, deployments, services). You can also specify a specific resource by name (for example, pods/my-pod).

    • -n <NAMESPACE>: (Optional) Specify the namespace for the check. If omitted, the current context's namespace is used.

      The LoadMaster needs access to the list and watch services in addition to endpoints and pods. For advanced routing, the LoadMaster needs list and watch access to nodes. Namespaces access is required if watching across multiple namespaces.

  • Network access between the LoadMaster and the Kubernetes API server

  • Details of the namespace for which objects are defined

  • The LoadMaster must be able to route to the Pod CIDR networks within the relevant Kubernetes Clusters and the Cluster Nodes. This may require additional routes to be created. For further details on how to do this, refer to the Ensuring Connectivity from the LoadMaster to Pods section.

  • TLS1.2 must be enabled in Certificates & Security > Admin WUI Access > Supported TLS Protocols in the LoadMaster WUI.

The Ingress Controller is currently confirmed to be supported on the following platforms:

  • Cloud:

    • Kubernetes running in Azure (Azure Kubernetes Service (AKS))

    • Kubernetes running in Amazon Web Services (AWS) Elastic Kubernetes Service (EKS). For setup steps that you must perform if using AWS EKS, refer to the AWS EKS Setup Steps section.

    • Kubernetes running in Rancher Kubernetes Management Platform

  • On-prem Linux: Kubernetes running on Linux Operating System (OS)