Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Managed Service for Kubernetes
  • Comparing 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
    • Activating a Kubernetes Terraform provider
    • Installing applications from Yandex Cloud Marketplace using Terraform
      • Getting started with Cloud Marketplace
      • Installing Bitrix
      • 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 Gwin
      • Installing HashiCorp Vault
      • Installing Ingress NGINX
      • Installing an Application Load Balancer ingress controller
      • Upgrading the Application Load Balancer Ingress controller
      • Installing Istio
      • Installing Jaeger
      • Installing KEDA
      • Installing Kruise
      • Installing Kubernetes Node Remediation
      • Installing Kyverno & Kyverno Policies
      • Installing Loki
      • Installing Metrics Provider
      • Installing NodeLocal DNS
      • Installing OIDC Authentication
      • Installing Policy Reporter
      • Installing Prometheus Operator
      • Installing Thumbor
      • Installing Velero
      • Installing VictoriaLogs
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Getting started
  • Installation from Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Application auto upgrade
  • Use cases
  • See also
  1. Step-by-step guides
  2. Installing applications from Cloud Marketplace
  3. Installing Gateway API

Installing Gateway API

Written by
Yandex Cloud
Improved by
Dmitry A.
Updated at January 13, 2026
  • Getting started
  • Installation from Yandex Cloud Marketplace
  • Installation using a Helm chart
  • Application auto upgrade
  • Use cases
  • See also

Tip

We recommend using the new Yandex Cloud Gwin controller instead of an ALB Ingress controller and Gateway API.

Gateway API is a collection of API resources that model networking in a Managed Service for Kubernetes cluster. These include GatewayClass, Gateway, HTTPRoute, etc.

In Managed Service for Kubernetes, Gateway API launches Yandex Application Load Balancer and its auxiliary resources when a Kubernetes user announces the Gateway resource in a Managed Service for Kubernetes cluster.

Getting startedGetting started

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

    By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  2. Create a service account for Gateway API.

  3. Assign the following roles to the service account:

    • alb.editor: To create the required resources.
    • vpc.publicAdmin: To manage external connectivity.
    • certificate-manager.admin: To use certificates registered in Yandex Certificate Manager.
    • compute.viewer: To use Managed Service for Kubernetes cluster nodes in balancer target groups.
  4. Create an authorized key for your service account and save it to the sa-key.json file:

    yc iam key create \
      --service-account-name <name_of_service_account_for_Gateway_API> \
      --output sa-key.json
    
  5. 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 from Yandex Cloud MarketplaceInstallation from Yandex Cloud Marketplace

  1. Go to the folder page.
  2. Go to Managed Service for Kubernetes.
  3. Click the name of the Managed Service for Kubernetes cluster you need and select the Marketplace tab.
  4. Under Application available for installation, select Gateway API and click Go to install.
  5. Configure the application:
    • Namespace: Create a new namespace, e.g., gateway-api-space. If you leave the default namespace, Gateway API may work incorrectly.
    • Application name: Specify the application name.
    • Folder ID: Select the folder where you want to create your load balancers.
    • Network ID: Select the cloud network where your load balancers will reside.
    • Subnet 1 ID, Subnet 2 ID, Subnet 3 ID: Select subnets where your load balancers will reside.
    • Service account key: Paste the contents of the sa-key.json file or create a new service account key.
  6. Click Install.
  7. Wait for the application status to change 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 Gateway API, run this command:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gateway-api/gateway-api-helm/gateway-api \
      --version v0.7.3 \
      --untar && \
    helm install \
      --namespace <namespace> \
      --create-namespace \
      --set folderId='<folder_ID>' \
      --set networkId='<cloud_network_ID>' \
      --set subnet1Id='<subnet_1_ID>' \
      --set subnet2Id='<subnet_2_ID>' \
      --set subnet3Id='<subnet_3_ID>' \
      --set-file saKeySecretKey='<path_to_sa-key.json>' \
      gateway-api ./gateway-api/
    

    In this command, specify the network and its subnets where your load balancers will reside.

    If you set namespace to the default namespace, Gateway API may work incorrectly. We recommend specifying a value different from all the existing namespaces, e.g., gateway-api-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.

Application auto upgradeApplication auto upgrade

Gateway API 0.6.0 contains a Gateway API CRD upgrade from version 0.6.2 to 1.2.1. When upgrading your Gateway API from version 0.5.0 or lower to version 0.6.0, installing from the Helm chart will automatically upgrade Gateway API CRDs and all dependent resources in the Managed Service for Kubernetes cluster. The upgrade is secure, i.e., none of your Application Load Balancer resources will be deleted or recreated.

Automatic upgrade from version 0.5.0 or lower follows these steps:

  1. The cluster is checked for GRPCRoute or ReferenceGrant custom resources. If such resources exist, the application will not upgrade to avoid conflicts, as CRDs for these resources in the new version are incompatible with the previous version. For manual upgrade, see below.
  2. The Gateway API controller is stopped; the number of replicas scales down to zero.
  3. The CRDs of the GRPCRoute resources are removed; the CRDs of the remaining dependent resources of the new Gateway API version are applied.
  4. The Gateway API controller is started; the number of replicas scales back to the original value.

To disable CRD auto update, add this Helm chart installation command parameter: --set crdsAutoUpgrade=false. Thus your resources will be updated, while you will have to update the Gateway API CRDs manually. You can get the CRD file in the crds directory in the Helm chart archive.

Upgrading Gateway API manually
  1. Create a backup of your Gateway API resources.
  2. Stop the Gateway API controller.
  3. Remove all GRPCRoute resources from your cluster.
  4. Apply the new versions of the Gateway API CRDs. You can get the CRD file in the crds directory in the Helm chart archive.
  5. Start the Gateway API controller.
  6. In your GRPCRoute resource specification, replace the apiVersion value with gateway.networking.k8s.io/v1 and apply the specification.
  7. Install the new Helm chart version.

Use casesUse cases

  • Setting up the Gateway API.

See alsoSee also

  • Gateway API project description.
  • Gateway API description and configuration information in the Application Load Balancer guides.

Was the article helpful?

Previous
Installing Gatekeeper
Next
Installing the GitLab agent
© 2026 Direct Cursus Technology L.L.C.