Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
      • Обзор способов подключения
      • Настройка групп безопасности
      • Создание статического файла конфигурации
    • Подключение внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Создать правила для служебного трафика
  • Разрешить трафик для кластера и групп узлов
  • Разрешить трафик для групп узлов
  • Разрешить трафик для кластера
  • Создать правило для подключения к сервисам из интернета
  • Создать правило для подключения к узлам по SSH
  • Применить группы безопасности с правилами
  • Примеры правил
  1. Пошаговые инструкции
  2. Подключение к кластеру
  3. Настройка групп безопасности

Настройка групп безопасности

Статья создана
Yandex Cloud
Улучшена
Mikhail S.
Обновлена 30 июня 2025 г.
  • Создать правила для служебного трафика
    • Разрешить трафик для кластера и групп узлов
    • Разрешить трафик для групп узлов
    • Разрешить трафик для кластера
  • Создать правило для подключения к сервисам из интернета
  • Создать правило для подключения к узлам по SSH
  • Применить группы безопасности с правилами
  • Примеры правил

Примечание

В регионе Казахстан доступна только зона доступности kz1-a.

Примечание

В регионе Казахстан поддерживаются базовые и высокодоступные мастера в одной зоне доступности.

Для групп безопасности действует принцип «весь трафик, который не разрешен, запрещен». Чтобы кластер работал:

  1. Создайте правила в его группах безопасности, разрешающие нужный трафик для узлов кластера:

    • Служебный трафик внутри кластера.

      Эти правила разрешают внутрикластерную коммуникацию и подключение к кластеру через API Kubernetes.

    • Подключение к сервисам из интернета.

    • Подключение к узлам по SSH.

    Совет

    Поместите каждый из этих наборов правил в отдельную группу безопасности.

    Тогда будет удобно применять эти группы безопасности к кластеру и его группам узлов.

  2. (Опционально) Если вы планируете использовать L7-балансировщик Yandex Application Load Balancer вместе с кластером, то добавьте правила для балансировщика.

  3. Примените группы безопасности с этими правилами к кластеру и группам узлов.

Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.

Группы безопасности должны быть корректно настроены для всех подсетей, в которых будет размещен кластер. От этого зависит работоспособность и доступность кластера и запущенных в нем сервисов.

Перед изменением списка групп безопасности или настроек входящих в них правил убедитесь, что это не нарушит работу кластера и его групп узлов.

Внимание

Не удаляйте группы безопасности, привязанные к работающему кластеру или группе узлов. Это может привести к запрету прохождения сетевого трафика и нарушить работу кластера и его узлов.

Создать правила для служебного трафикаСоздать правила для служебного трафика

Важно

Настройка правил для служебного трафика — обязательное условие для работоспособности высокодоступного кластера.

Разрешить трафик для кластера и групп узловРазрешить трафик для кластера и групп узлов

Чтобы кластер работал корректно, создайте правила для входящего и исходящего трафика, и примените их к кластеру и группам узлов:

  1. Добавьте правила для входящего трафика, которые разрешают:

    • Выполнять проверки состояния сетевого балансировщика нагрузки:
      • Диапазон портов — 0-65535.
      • Протокол — TCP.
      • Источник — Проверки состояния балансировщика.
    • Передавать служебный трафик между мастером и узлами:
      • Диапазон портов — 0-65535.
      • Протокол — Любой (Any).
      • Источник — Группа безопасности.
      • Группа безопасности — Текущая (Self).
    • Проверять работоспособность узлов с помощью ICMP-запросов из подсетей внутри Yandex Cloud:
      • Протокол — ICMP.
      • Источник — CIDR.
      • CIDR блоки — диапазоны адресов подсетей внутри Yandex Cloud, из которых будет осуществляться проверка работоспособности, например:
        • 10.0.0.0/8.
        • 192.168.0.0/16.
        • 172.16.0.0/12.
  2. Добавьте правило для исходящего служебного трафика между мастером и узлами:

    • Диапазон портов — 0-65535.
    • Протокол — Любой (Any).
    • Назначение — Группа безопасности.
    • Группа безопасности — Текущая (Self).

Примечание

Если вы используете высокодоступный тип мастера, разрешите трафик для групп узлов до CIDR подсетей, в которых расположены хосты мастера, или до CIDR кластера. Это нужно для передачи служебного трафика между мастером и узлами.

Разрешить трафик для групп узловРазрешить трафик для групп узлов

Чтобы группы узлов работали корректно, создайте правила для входящего и исходящего трафика, и примените их к группам узлов:

  1. Добавьте правило для входящего трафика, которое разрешает передачу трафика между подами и сервисами:

    • Диапазон портов — 0-65535.
    • Протокол — Любой (Any).
    • Источник — CIDR.
    • CIDR блоки — CIDR кластера и CIDR сервисов. Например, 10.96.0.0/16 и 10.112.0.0/16.
  2. Добавьте правило для исходящего трафика, которое разрешает узлам в группе узлов подключаться к внешним ресурсам, например, чтобы скачивать образы с Docker Hub или работать с Yandex Object Storage:

    • Диапазон портов — 0-65535.
    • Протокол — Любой (Any).
    • Назначение — CIDR.
    • CIDR блоки — 0.0.0.0/0.

    Примечание

    Если вы используете высокодоступный тип мастера и не хотите разрешать узлам подключаться к любым адресам (CIDR — 0.0.0.0/0), разрешите исходящий трафик до CIDR подсетей, в которых расположены хосты мастера, или до CIDR кластера. Это нужно, чтобы у узлов был доступ к мастеру.

    Примеры
    • Доступ к CIDR кластера:

      • Диапазон портов — 0-65535.
      • Протокол — Любой (Any).
      • Назначение — CIDR.
      • CIDR блоки — 10.131.0.32/32.
    • Доступ к CIDR подсетей с хостами мастера:

      • Диапазон портов — 0-65535.
      • Протокол — Любой (Any).
      • Назначение — CIDR.
      • CIDR блоки — 10.128.0.0/24, 10.129.0.0/24, 10.131.0.0/24.

Разрешить трафик для кластераРазрешить трафик для кластера

Чтобы кластер работал корректно и к нему можно было подключиться, создайте правила для входящего и исходящего трафика, и примените их к кластеру:

  1. Добавьте правила для входящего трафика, которые разрешают подключение к мастеру через порты 6443 и 443. Это позволит получить доступ к API Kubernetes и управлять кластером с помощью kubectl и других утилит.

    Создайте два правила для входящего трафика, по одному для каждого порта:

    • Диапазон портов — 443, 6443.
    • Протокол — TCP.
    • Источник — CIDR.
    • CIDR блоки — укажите диапазон адресов подсетей, из которых будете управлять кластером, например:
      • 85.23.23.22/32 — для внешней сети.
      • 192.168.0.0/24 — для внутренней сети.
  2. Добавьте правило для исходящего трафика, которое разрешает передачу трафика между мастером и подами metric-server:

    • Диапазон портов — 4443.
    • Протокол — TCP.
    • Назначение — CIDR.
    • CIDR блоки — укажите CIDR кластера, например, 10.96.0.0/16.

Создать правило для подключения к сервисам из интернетаСоздать правило для подключения к сервисам из интернета

Чтобы запущенные на узлах сервисы были доступны из интернета и подсетей внутри Yandex Cloud, создайте правило для входящего трафика, и примените его к группе узлов:

  • Диапазон портов — 30000-32767.
  • Протокол — TCP.
  • Источник — CIDR.
  • CIDR блоки — 0.0.0.0/0.

Создать правило для подключения к узлам по SSHСоздать правило для подключения к узлам по SSH

Чтобы получить доступ к узлам по протоколу SSH, создайте правило для входящего трафика и примените его к группе узлов:

  • Диапазон портов — 22.
  • Протокол — TCP.
  • Источник — CIDR.
  • CIDR блоки — диапазоны адресов подсетей внутри Yandex Cloud, а также публичные IP-адреса компьютеров в интернете, например:
    • 10.0.0.0/8.
    • 192.168.0.0/16.
    • 172.16.0.0/12.
    • 85.32.32.22/32.

Применить группы безопасности с правиламиПрименить группы безопасности с правилами

В зависимости от правил, которые содержатся в группах безопасности, эти группы должны быть назначены кластеру или группе узлов:

Группа безопасности Объект, на который нужно назначить группу
Группа, разрешающая трафик для кластера и групп узлов Кластер и группа узлов
Группа, разрешающая трафик для групп узлов Группа узлов
Группа, разрешающая трафик для кластера Кластер
Группа, разрешающая подключение к сервисам из интернета Группа узлов
Группа, разрешающая подключение к узлам по SSH Группа узлов

Примеры правилПримеры правил

Terraform

Пусть планируется создать кластер Kubernetes, в котором:

  • Используется следующая конфигурация:

    • Высокодоступный мастер, размещенный в зонах доступности kz1-a, kz1-b и kz1-d.
    • Группа узлов worker-nodes-a, размещенная в зоне доступности kz1-a.
    • CIDR кластера — 10.96.0.0/16, CIDR сервисов — 10.112.0.0/16.
  • Применяются следующие политики по обмену трафиком:

    • Проверка работоспособности узлов с помощью ICMP-запросов разрешена из следующих подсетей внутри Yandex Cloud:

      • 10.0.0.0/8,
      • 172.16.0.0/12,
      • 192.168.0.0/16.
    • Подключение к сервисам из интернета разрешено с любых адресов — 0.0.0.0/0.

    • Подключение к узлам по SSH разрешено только с одного адреса — 85.32.32.22/32.

    • Доступ к API Kubernetes разрешен из одной подсети — 203.0.113.0/24.

Чтобы создать такой кластер:

  1. Создайте группы безопасности с необходимыми правилами.

    Конфигурационный файл с группами безопасности
    resource "yandex_vpc_security_group" "k8s-cluster-nodegroup-traffic" {
      name        = "k8s-cluster-nodegroup-traffic"
      description = "Правила группы разрешают служебный трафик для кластера и групп узлов. Примените ее к кластеру и группам узлов."
      network_id  = "<идентификатор_облачной_сети>"
      ingress {
        description       = "Правило для проверок состояния сетевого балансировщика нагрузки."
        from_port         = 0
        to_port           = 65535
        protocol          = "TCP"
        predefined_target = "loadbalancer_healthchecks"
      }
      ingress {
        description       = "Правило для входящего служебного трафика между мастером и узлами."
        from_port         = 0
        to_port           = 65535
        protocol          = "ANY"
        predefined_target = "self_security_group"
      }
      ingress {
        description    = "Правило для проверки работоспособности узлов с помощью ICMP-запросов из подсетей внутри Yandex Cloud."
        protocol       = "ICMP"
        v4_cidr_blocks = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
      }
      egress {
        description       = "Правило для исходящего служебного трафика между мастером и узлами."
        from_port         = 0
        to_port           = 65535
        protocol          = "ANY"
        predefined_target = "self_security_group"
      }
    }
    
    resource "yandex_vpc_security_group" "k8s-nodegroup-traffic" {
      name        = "k8s-nodegroup-traffic"
      description = "Правила группы разрешают служебный трафик для групп узлов. Примените ее к группам узлов."
      network_id  = "<идентификатор_облачной_сети>"
      ingress {
        description    = "Правило для входящего трафика, разрешающее передачу трафика между подами и сервисами."
        from_port      = 0
        to_port        = 65535
        protocol       = "ANY"
        v4_cidr_blocks = ["10.96.0.0/16", "10.112.0.0/16"]
      }
      egress {
        description    = "Правило для исходящего трафика, разрешающее узлам в группе узлов подключаться к внешним ресурсам."
        from_port      = 0
        to_port        = 65535
        protocol       = "ANY"
        v4_cidr_blocks = ["0.0.0.0/0"]
      }
    }
    
    resource "yandex_vpc_security_group" "k8s-services-access" {
      name        = "k8s-services-access"
      description = "Правила группы разрешают подключение к сервисам из интернета. Примените ее к группам узлов."
      network_id  = "<идентификатор_облачной_сети>"
      ingress {
        description    = "Правило для входящего трафика, разрешающее подключение к сервисам."
        from_port      = 30000
        to_port        = 32767
        protocol       = "TCP"
        v4_cidr_blocks = ["0.0.0.0/0"]
      }
    }
    
    resource "yandex_vpc_security_group" "k8s-ssh-access" {
      name        = "k8s-ssh-access"
      description = "Правила группы разрешают подключение к узлам по SSH. Примените ее к группам узлов."
      network_id  = "<идентификатор_облачной_сети>"
      ingress {
        description    = "Правило для входящего трафика, разрешающее подключение к узлам по SSH."
        port           = 22
        protocol       = "TCP"
        v4_cidr_blocks = ["85.32.32.22/32"]
      }
    }
    
    resource "yandex_vpc_security_group" "k8s-cluster-traffic" {
      name        = "k8s-cluster-traffic"
      description = "Правила группы разрешают трафик для кластера. Примените ее к кластеру."
      network_id  = "<идентификатор_облачной_сети>"
      ingress {
        description    = "Правило для входящего трафика, разрешающее доступ к API Kubernetes (порт 443)."
        port           = 443
        protocol       = "TCP"
        v4_cidr_blocks = ["203.0.113.0/24"]
      }
      ingress {
        description    = "Правило для входящего трафика, разрешающее доступ к API Kubernetes (порт 6443)."
        port           = 6443
        protocol       = "TCP"
        v4_cidr_blocks = ["203.0.113.0/24"]
      }
      egress {
        description    = "Правило для исходящего трафика, разрешающее передачу трафика между мастером и подами metric-server."
        port           = 4443
        protocol       = "TCP"
        v4_cidr_blocks = ["10.96.0.0/16"]
      }
    }
    
  2. Создайте кластер и группу узлов.

    Примените группы безопасности с правилами следующим образом:

    resource "yandex_kubernetes_cluster" "k8s-cluster" {
      name = "k8s-cluster"
      service_account_id = "<идентификатор_сервисного_аккаунта_для_кластера>"
      node_service_account_id = "<идентификатор_сервисного_аккаунта_для_групп_узлов>"
      cluster_ipv4_range = "10.96.0.0/16"
      service_ipv4_range = "10.112.0.0/16"
      network_id = "<идентификатор_облачной_сети>"
      master {
        master_location {
          zone      = "kz1-a"
          subnet_id = "<идентификатор_облачной_подсети_в_зоне>"
        }
        master_location {
          zone      = "kz1-b"
          subnet_id = "<идентификатор_облачной_подсети_в_зоне>"
        }
        master_location {
          zone      = "kz1-d"
          subnet_id = "<идентификатор_облачной_подсети_в_зоне>"
        }
        security_group_ids = [
          yandex_vpc_security_group.k8s-cluster-nodegroup-traffic.id,
          yandex_vpc_security_group.k8s-cluster-traffic.id
        ]
        public_ip = true
      }
    }
    
    resource "yandex_kubernetes_node_group" "worker-nodes-a" {
      cluster_id = yandex_kubernetes_cluster.k8s-cluster.id
      name       = "worker-nodes-a"
      allocation_policy {
        location {
          zone = "kz1-a"
        }
      }
      scale_policy {
        fixed_scale {
          size = 1
        }
      }
      instance_template {
        network_interface {
          nat                = true
          subnet_ids         = [<идентификатор_облачной_подсети>]
          security_group_ids = [
            yandex_vpc_security_group.k8s-cluster-nodegroup-traffic.id,
            yandex_vpc_security_group.k8s-nodegroup-traffic.id,
            yandex_vpc_security_group.k8s-services-access.id,
            yandex_vpc_security_group.k8s-ssh-access.id
          ]
        }
      }
    }
    

Была ли статья полезна?

Предыдущая
Обзор способов подключения
Следующая
Создание статического файла конфигурации
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»