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

  • At least one licensed and running Connection Manager 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 Connection Manager and the Kubernetes API server

  • Details of the namespace for which objects are defined

  • The Connection Manager 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 Connection Manager to Pods section.

  • TLS1.2 must be enabled in Certificates & Security > Admin WUI Access > Supported TLS Protocols in the Connection Manager 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)