Yandex Cloud
  • Services
  • Solutions
  • Why Yandex Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Language / Region
© 2022 Yandex.Cloud LLC
Yandex Application Load Balancer
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Target groups
      • Create a target group
      • Edit a target group
      • Delete a target group
    • Backend groups
      • Create a backend group
      • Edit a backend group
      • Delete a backend group
    • HTTP routers
      • Create HTTP router
      • Edit an HTTP router
      • Delete an HTTP router
    • L7 load balancers
      • Create an L7 load balancer
      • Edit an L7 load balancer
      • View L7 load balancer statistics
      • View the L7 load balancer logs
      • Get the ID of the log group of the L7 load balancer
      • Stopping and restarting an L7 load balancer
      • Delete an L7 load balancer
    • Ingress Controller for Managed Service for Kubernetes
      • Install an Ingress controller
      • Create or update resources based on configuration
  • Practical guidelines
    • Setting up a virtual hosting
    • Creating a load balancer with DDoS protection
    • Integrating an L7 load balancer with the CDN and Object Storage
    • Blue-green and canary deployment of service versions
    • Terminating TLS connections
    • Writing load balancer logs to PostgreSQL
  • Concepts
    • Overview
    • Load balancers
    • HTTP routers
    • Backend groups
    • Target groups
    • Quotas and limits
  • Tools
    • Ingress Controller for Managed Service for Kubernetes
      • Overview
      • How it works
      • Security groups
      • Service accounts
  • Access management
  • Pricing policy
  • API reference
    • Authentication in the API
    • gRPC
      • Overview
      • BackendGroupService
      • HttpRouterService
      • LoadBalancerService
      • TargetGroupService
      • VirtualHostService
      • OperationService
    • REST
      • Overview
      • BackendGroup
        • Overview
        • addBackend
        • create
        • delete
        • get
        • list
        • listOperations
        • removeBackend
        • update
        • updateBackend
      • HttpRouter
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • LoadBalancer
        • Overview
        • addListener
        • addSniMatch
        • create
        • delete
        • get
        • getTargetStates
        • list
        • listOperations
        • removeListener
        • removeSniMatch
        • start
        • stop
        • update
        • updateListener
        • updateSniMatch
      • TargetGroup
        • Overview
        • addTargets
        • create
        • delete
        • get
        • list
        • listOperations
        • removeTargets
        • update
      • VirtualHost
        • Overview
        • create
        • delete
        • get
        • list
        • removeRoute
        • update
        • updateRoute
  • Ingress controller reference
    • Overview
    • Ingress
    • HttpBackendGroup
    • Service
  • Log reference
  1. Step-by-step instructions
  2. Ingress Controller for Managed Service for Kubernetes
  3. Install an Ingress controller

Installing a Application Load Balancer Ingress controller for Managed Service for Kubernetes

Written by
Yandex Cloud
  • Before you begin
  • Installation

The Application Load Balancer Ingress controller for Yandex Managed Service for Kubernetes is provided via Helm, a Kubernetes package manager.

Before you begin

  1. If you don't have the Yandex Cloud command line interface yet, install and initialize it.

  2. Install the Helm package manager, version 3.7.0 or higher.

  3. Create a service account to enable Ingress controller operation.

  4. Using the CLI, generate an authorized service account key and save it to sa-key.json:

    yc iam key create \
      --service-account-name <service account name> \
      --output sa-key.json
    
  5. Create a Managed Service for Kubernetes cluster with the following settings:

    • Kubernetes version: 1.19 or higher.
    • Public address: Auto.
  6. Create a node group in any suitable configuration with Kubernetes version 1.19 or higher.

  7. Create a namespace in your cluster.

Installation

  1. Enable experimental OCI support (Open Container Initiative) for Helm:

    export HELM_EXPERIMENTAL_OCI=1
    
  2. Authenticate the Helm client to the Yandex Container Registry registry using the authorized service account key:

    cat sa-key.json | helm registry login cr.yandex --username 'json_key' --password-stdin
    
  3. Download the Ingress controller chart from the registry and unpack:

    helm pull \
      --version v0.1.0 \
      oci://cr.yandex/yc/yc-alb-ingress-controller-chart
    
  4. Install the chart in the cluster:

    helm install \
      --namespace <namespace name> \
      --set folderId=<folder ID> \
      --set clusterId=<cluster ID> \
      --set-file saKeySecretKey=sa-key.json \
      yc-alb-ingress-controller ./yc-alb-ingress-controller-chart-v0.1.0.tgz
    
    • --namespace: name of namespace created prior to installation.

    • --set and --set-file set values for the chart either directly or from a file:

      • folderId: ID of Yandex Cloud folder where a Managed Service for Kubernetes cluster is created. You can retrieve the ID by following instructions in the Yandex Resource Manager documentation.
      • clusterId: Cluster ID. You can retrieve the ID by following instructions.
      • saKeySecretKey: Authorized service account key created prior to the installation.
    • The first argument (yc-alb-ingress-controller) is the name of the chart to install.

    • The second argument (./yc-alb-ingress-controller-chart-v0.1.0.tgz) is the path to the downloaded chart (./ points to the current directory).

Was the article helpful?

Language / Region
© 2022 Yandex.Cloud LLC
In this article:
  • Before you begin
  • Installation