Skip to main content
Install Ingress and Ingress Controller
Last update:

Install Ingress and Ingress Controller

In Managed Kubernetes, the Ingress Controller is not pre-installed in the cluster. To create an Ingress object yourself, install any Ingress Controller.

Ingress — A mechanism that provides application-level (L7) routing of incoming traffic is provided through the Ingress Controller. Ingress Controller is a proxy server deployed in a Managed Kubernetes cluster. The choice of controller depends on the requirements of the applications deployed in the Managed Kubernetes cluster. See the list of existing Ingress Controllers.

Install Ingress Controller

For your information

Before creating an Ingress Controller, ensure that the pool has a quota of one public IP address allocated.

We'll cover a basic Nginx installation — you can install a different Ingress Controller using the official instructions.

Together with the Ingress Controller, a Service of type LoadBalancer with a public IP address will be automatically created. By default, a load balancer of type Basic with redundancy is created, but you can choose the type of load balancer and configure other settings for it . The load balancer will be the entry point for accessing applications in the cluster, so there is no need to create an additional internal load balancer.

  1. Connect to the cluster.

  2. Install the Helm package manager.

  3. Add the ingress-nginx repository to Helm:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  4. Install the Ingress Controller:

    helm install ingress-nginx/ingress-nginx --generate-name
  5. Check that the Ingress Controller is installed:

    kubectl get pods

    Command output:

    NAME                                                   READY   STATUS    RESTARTS   AGE
    ingress-nginx-1652172027-controller-6d765d1688-vr7ab 1/1 Running 0 51s
  6. A new load balancer will be created. It will appear in the control panel: in the top menu, click Products and select Cloud ServersBalancers section → Balancers tab.

Create Ingress

Manifesto example:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80