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
  1. Step-by-step guides
  2. Installing apps from Cloud Marketplace
  3. Upgrading the Application Load Balancer Ingress controller

Upgrading the Application Load Balancer Ingress controller

Written by
Yandex Cloud
Updated at April 22, 2025

ALB Ingress Controller versions 0.2.0 are incompatible with any 0.1.x releases. This incompatibility causes backend groups limitations.

One method for creating a backend group involves specifying rules directly in the Ingress resource. Pre-0.2.0 ALB Ingress Controller versions map each backend group to a distinct combination of host, http.paths.path, and http.paths.pathType values. ALB Ingress Controllers v0.2.0 and later map backend groups to the backend.service setting of the Ingress resource. This setting specifies a Kubernetes service. For more information about Ingress resource configuration and settings, see the relevant Kubernetes article.

When upgrading your ALB Ingress Controller from version 0.1.x to 0.2.0 or later, check whether any of the following scenarios apply to your Ingress resource groups, .i.e., Ingress resources with matching ingress.alb.yc.io/group-name values:

  • They are configured with the same host, http.paths.path, and http.paths.pathType combinations, but different backend.service.name, i.e., Kubernetes service, values. In this case, recreate your backend groups as HttpBackendGroup custom resources.

  • There is one Kubernetes service per multiple host, http.paths.path, and http.paths.pathType combinations. In this case, check whether their backend setitngs differ. For example, one Ingress resource group can route gRPC traffic, while another handles HTTP connections.

    If backend settings match, no configuration changes are needed. Otherwise, follow the steps below:

    1. Create an individual Service configuration file for each Ingress resource group and specify the following settings:

      • Service name: Use a different name for each service.
      • Deployment: This name must be the same for all services, as you previously used only one Kubernetes service.
      • Backend settings differing between Ingress resource groups.
      Sample configuration file
      apiVersion: v1
      kind: Service
      metadata:
        name: alb-demo-service-1 # Specify different names for each service.
      spec:
        selector:
          app: alb-demo-app # Specify the same Deployment for each service.
        type: NodePort
        ports:
          ... # Specify the settings differing for Ingress resource groups.
      
    2. Apply the configurations:

      kubectl apply -f <configuration_file_names>
      
    3. Change Kubernetes service names in the Ingress resources. In the backend.service.name setting, specify the service name associated with the Ingress resource’s group.

    4. Apply the updated Ingress resource configurations:

      kubectl apply -f <Ingress_resource_file_names>
      

Note

If you cannot change the Ingress resource configuration, do not upgrade the ALB Ingress Controller, or it will lead to collisions.

Was the article helpful?

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