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 Application Load Balancer
  • Getting started
    • Overview
      • Overview
      • How it works
      • Installing an Ingress controller
      • Updating an Ingress controller
        • Ingress
        • HttpBackendGroup
        • GrpcBackendGroup
        • IngressClass
        • Service for Ingress
    • Configuring security groups
    • Working with service accounts
    • Creating or updating resources based on a configuration
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • L7 load balancer logs
  • Release notes

In this article:

  • IngressClass
  • ObjectMeta
  1. Tools for Managed Service for Kubernetes
  2. Ingress controller
  3. Resource configuration
  4. IngressClass

IngressClass resource fields and annotations

Written by
Yandex Cloud
Updated at April 22, 2025
  • IngressClass
  • ObjectMeta

The IngressClass resource is a class of Ingress resources supporting simultaneous use of multiple ingress controllers, e.g., Application Load Balancer and NGINX. Each IngressClass resource specifies a distinct ingress controller. This enables traffic routing across multiple Ingress controllers within the same application and Managed Service for Kubernetes cluster.

When using multiple ingress controllers, explicitly declare the target controller for each Ingress resource. To do this, specify the relevant controller’s IngressClass in the spec.ingressClassName field of the Ingress resource.

IngressClass is a standard Kubernetes resource. Its fields and annotations are described below. For more information on configuring and using IngressClass resources, see the relevant Kubernetes article. See a GitHub example for configuring Ingress resources and routing traffic across multiple ingress controllers.

IngressClassIngressClass

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata: <ObjectMeta>
spec:
  controller: <string>

Field

Value / Type

Description

apiVersion

networking.k8s.io/v1

This is a required field.

Kubernetes API version.

kind

IngressClass

Resource type

metadata

ObjectMeta

This is a required field.

Resource metadata.

spec

IngressClassSpec

This is a required field.

Resource specification.

spec.controller

string

This is a required field.

Ingress controller name specified by the IngressClass resource. The possible values are:

  • ingress.alb.yc.io/yc-alb-ingress-controller: Application Load Balancer controller.
  • k8s.io/ingress-nginx: NGINX controller.
Example
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  labels:
    app.kubernetes.io/component: controller
  name: alb
  annotations:
    ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: ingress.alb.yc.io/yc-alb-ingress-controller

ObjectMetaObjectMeta

name: <string>
labels:
  <string>: <string>
annotations:
  ingressclass.kubernetes.io/is-default-class: "<bool>"

Field

Value / Type

Description

name

string

This is a required field.

Resource name. For more information about the name format, see the relevant Kubernetes article.

This name is also specified in the spec.ingressClassName field of the Ingress resource.

labels

map[string]string

Kubernetes: Metrics for Kubernetes object management and monitoring.

We recommend you to specify app.kubernetes.io/component: controller in this field.

annotations

map[string]string

Resource annotations.

Available annotation is ingressclass.kubernetes.io/is-default-class. The annotation data type is bool. This annotation specifies whether the IngressClass resource is used by default. When set to "true", this IngressClass is automatically used for Ingress resources with no IngressClass specified.

Was the article helpful?

Previous
GrpcBackendGroup
Next
Service for Ingress
© 2025 Direct Cursus Technology L.L.C.