Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Managed Service for Kubernetes
  • Comparison with other Yandex Cloud services
  • Getting started
    • All guides
    • Connecting to a node over SSH
    • Connecting to a node via OS Login
    • Updating Kubernetes
    • Configuring autoscaling
      • Getting started with Cloud Marketplace
      • Installing Argo CD
      • Installing Chaos Mesh
      • Installing cert-manager with the Cloud DNS ACME webhook plugin
      • Installing Container Storage Interface for S3
      • Installing Crossplane
      • Installing External Secrets Operator
      • Installing ExternalDNS with a plugin for Cloud DNS
      • Installing Falco
      • Installing Filebeat OSS
      • Installing Fluent Bit
      • Installing Gatekeeper
      • Installing Gateway API
      • Installing the GitLab Agent
      • Installing GitLab Runner
      • Installing HashiCorp Vault
      • Installing Ingress NGINX
      • Installing the Application Load Balancer Ingress controller
      • Upgrading the Application Load Balancer Ingress controller
      • Installing Istio
      • Installing Jaeger
      • Installing Kruise
      • Installing Kyverno & Kyverno Policies
      • Installing Loki
      • Installing Metrics Provider
      • Installing NodeLocal DNS
      • Installing Policy Reporter
      • Installing Prometheus Operator
      • Installing Thumbor
      • Installing Velero
    • Connecting external nodes to the cluster
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Getting started
  • Installation using Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Use cases
  • See also
  1. Step-by-step guides
  2. Installing apps from Cloud Marketplace
  3. Installing Ingress NGINX

Installing Ingress NGINX

Written by
Yandex Cloud
Improved by
Dmitry A.
Updated at May 5, 2025
  • Getting started
  • Installation using Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Use cases
  • See also

Ingress NGINX is an Ingress controller for NGINX that balances the load between the WebSocket, gRPC, TCP, or UDP applications. Ingress NGINX is installed in a Managed Service for Kubernetes cluster and is set up using the Kubernetes ConfigMap and Ingress objects, including the annotations.

Getting startedGetting started

  1. If you do not have the Yandex Cloud CLI yet, install and initialize it.

    The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

  2. Make sure that the security groups for the Managed Service for Kubernetes cluster and its node groups are configured correctly. If any rule is missing, add it.

    Warning

    The configuration of security groups determines the performance and availability of the cluster and the services and applications running in it.

Installation using Yandex Cloud MarketplaceInstallation using Yandex Cloud Marketplace

  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.

  2. Click the name of the cluster you need and select the Marketplace tab.

  3. Under Application available for installation, select Ingress NGINX and click Go to install.

  4. Configure the application:

    • Namespace: Create a new namespace, e.g., ingress-nginx-space. If you leave the default namespace, Ingress NGINX may work incorrectly.

    • Application name: Specify the application name.

    • Number of controller replicas: Set the number of Ingress controller replicas to improve fault tolerance. If only one replica is used, then, in case of its failure, the applications deployed using the Ingress controller will be unavailable.

      The default value is 1.

    • Controller IP address: Specify a reserved IP address. You can reserve it using Yandex Virtual Private Cloud.

      If you do not fill in the field, the Ingress controller will be assigned a dynamic IP address.

    • Traffic management policy: Select a policy for external traffic management. It matches the externalTrafficPolicy parameter in the Kubernetes specifications. The possible values are:

      • Cluster: Traffic is routed to different Kubernetes nodes (default). As a result, traffic is distributed evenly; however, such an approach has some disadvantages:

        • The package may come to one node's proxy and get rerouted to another node. Such behavior leads to delays in performing operations and sending packages.
        • The pod that receives the package sees the IP address of the proxying node rather than the one of the client. As a result, the original IP address of the client is not preserved.
      • Local: Traffic is proxied and distributed between pods on the same node. The traffic is routed to the node via the port specified in the Kubernetes Service object of the LoadBalancer or NodePort type.

        The traffic comes to a specific node, so it is distributed unevenly between nodes; however, the client IP address is preserved.

      For more information about policies for external traffic management, see the Kubernetes documentation.

  5. Click Install.

  6. Wait for the application to change its status to Deployed.

Installation using a Helm chartInstallation using a Helm chart

  1. Install Helm v3.8.0 or higher.

  2. Install kubect and configure it to work with the new cluster.

  3. To install a Helm chart with an NGINX Ingress controller, run this command:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/ingress-nginx/chart/ingress-nginx \
       --version 4.12.1 \
       --untar && \
    helm install \
       --namespace <namespace> \
       --create-namespace \
       ingress-nginx ./ingress-nginx/
    

    If you set namespace to the default namespace, Ingress NGINX may work incorrectly. We recommend you to specify a value different from all existing namespaces (e.g., ingress-nginx-space).

    Note

    If you are using a Helm version below 3.8.0, append the export HELM_EXPERIMENTAL_OCI=1 && \ string to the command to enable Open Container Initiative (OCI) support in the Helm client.

Use casesUse cases

  • Creating a network load balancer using an NGINX Ingress controller
  • Installing an NGINX Ingress controller with a Let's Encrypt® certificate manager
  • Installing an NGINX Ingress controller with a Yandex Certificate Manager certificate

See alsoSee also

  • NGINX Ingress controller documentation
  • GitHub documentation
  • NGINX Ingress controller use cases
  • Known issues

Was the article helpful?

Previous
Installing HashiCorp Vault
Next
Installing the Application Load Balancer Ingress controller
© 2025 Direct Cursus Technology L.L.C.