Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Logging
  • Начало работы
    • Все руководства
    • Передача логов кластера Yandex Managed Service for Kubernetes в Cloud Logging
    • Передача логов с ВМ в Cloud Logging
    • Передача логов с COI в Cloud Logging
    • Передача логов через HTTP-вход Unified Agent в Cloud Logging
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Репликация логов в Object Storage с помощью Data Streams
    • Визуализация логов в Grafana с помощью плагина Yandex Cloud Logging
    • Интерактивная отладка функций Cloud Functions
    • Запись логов балансировщика в PostgreSQL
    • Настройки логирования для Ingress-контроллеров Application Load Balancer
    • Обработка логов Cloud Logging
    • Настройка реагирования в Cloud Logging и Yandex Cloud Functions
    • Поиск событий Yandex Cloud в Cloud Logging
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Обучающие курсы

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

  • Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging
  • Перед началом работы
  • Включите настройку master logging
  • Проверьте результат
  • Удалите созданные ресурсы
  • Отправка логов подов и сервисов с помощью Fluent Bit
  • Необходимые платные ресурсы
  • Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging
  • Перед началом работы
  • Включите настройку master logging
  • Проверьте результат
  • Удалите созданные ресурсы
  • Отправка логов подов и сервисов с помощью Fluent Bit
  • Необходимые платные ресурсы
  • Перед началом работы
  • Установите и настройте Fluent Bit
  • Установка Fluent Bit для сбора логов подов и сервисов
  • Установка Fluent Bit для сбора логов подов, сервисов и системных логов узлов
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Передача логов кластера Yandex Managed Service for Kubernetes в Cloud Logging

Передача логов кластера Yandex Managed Service for Kubernetes в Cloud Logging

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging
    • Перед началом работы
    • Включите настройку master logging
    • Проверьте результат
    • Удалите созданные ресурсы
  • Отправка логов подов и сервисов с помощью Fluent Bit
  • Необходимые платные ресурсы
  • Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging
    • Перед началом работы
    • Включите настройку master logging
    • Проверьте результат
    • Удалите созданные ресурсы
  • Отправка логов подов и сервисов с помощью Fluent Bit
  • Необходимые платные ресурсы
  • Перед началом работы
  • Установите и настройте Fluent Bit
    • Установка Fluent Bit для сбора логов подов и сервисов
    • Установка Fluent Bit для сбора логов подов, сервисов и системных логов узлов
  • Проверьте результат
  • Удалите созданные ресурсы

Вы можете отправлять логи кластера Managed Service for Kubernetes в Cloud Logging:

  • Для отправки логов мастера Managed Service for Kubernetes используйте настройку master logging при создании или изменении кластера. Настройка доступна только через API, CLI и Terraform.
  • Для отправки логов подов и сервисов используйте приложение Fluent Bit с плагином для Cloud Logging в кластере Managed Service for Kubernetes.

Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master loggingОтправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging

Чтобы настроить передачу логов мастера Managed Service for Kubernetes в Cloud Logging:

  1. Включите настройку master logging.
  2. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Если у вас еще нет сети, создайте ее.

  2. Если у вас еще нет подсетей, создайте их в зонах доступности, где будут созданы кластер Managed Service for Kubernetes и группа узлов.

  3. Создайте сервисные аккаунты:

    • Сервисный аккаунт для ресурсов Managed Service for Kubernetes с ролями k8s.clusters.agent и vpc.publicAdmin на каталог, в котором создается кластер Managed Service for Kubernetes.

    • Сервисный аккаунт для узлов Managed Service for Kubernetes с ролью container-registry.images.puller на каталог с реестром Docker-образов. От его имени узлы Managed Service for Kubernetes будут скачивать из реестра необходимые Docker-образы.

      Совет

      Вы можете использовать один и тот же сервисный аккаунт для обеих операций.

  4. Назначьте сервисному аккаунту для ресурсов роль logging.writer. Она необходима для отправки логов кластером Managed Service for Kubernetes в Cloud Logging.

  5. Создайте кластер Managed Service for Kubernetes и группу узлов. При создании кластера Managed Service for Kubernetes укажите ранее созданные сервисные аккаунты для ресурсов и узлов.

  6. Настройте группы безопасности для работы кластера Managed Service for Kubernetes.

  7. Создайте лог-группу.

  1. Если у вас еще нет Terraform, установите его.

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

  3. Скачайте в ту же рабочую директорию файл конфигурации кластера Managed Service for Kubernetes k8s-cluster-with-master-logging.tf.

    В этом файле описаны:

    • Сеть.
    • Подсеть.
    • Группы безопасности и правила, необходимые для работы кластера Managed Service for Kubernetes и группы узлов:
      • Правила для служебного трафика.
      • Правила для доступа к API Kubernetes и управления кластером Managed Service for Kubernetes с помощью kubectl через порты 443 и 6443.
      • Правила для доступа к сервисам из интернета.
    • Сервисный аккаунт для ресурсов и узлов Managed Service for Kubernetes и отправки логов кластером в Cloud Logging.
    • Кластер Managed Service for Kubernetes.
    • Группа узлов Managed Service for Kubernetes.
    • Лог-группа Cloud Logging.
  4. Укажите в файле конфигурации:

    • Идентификатор каталога.
    • Версию Kubernetes для кластера Managed Service for Kubernetes и групп узлов.
    • Имя сервисного аккаунта для ресурсов и узлов Managed Service for Kubernetes и отправки логов кластером в Cloud Logging.
    • Имя лог-группы Cloud Logging.
  5. Выполните команду terraform init в директории с конфигурационными файлами. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

  6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  7. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Включите настройку master loggingВключите настройку master logging

Если вы создавали инфраструктуру вручную, включите настройку master logging:

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Выполните команду:

    yc managed-kubernetes cluster update <имя_кластера> \
      --master-logging enabled=true,`
        `log-group-id=<идентификатор_лог-группы>,`
        `kube-apiserver-enabled=<отправка_логов_kube-apiserver:_true_или_false>,`
        `cluster-autoscaler-enabled=<отправка_логов_cluster-autoscaler:_true_или_false>,`
        `events-enabled=<отправка_событий_Kubernetes:_true_или_false>`
        `audit-enabled=<отправка_событий_аудита:_true_или_false>
    

    Где:

    • enabled — флаг отправки логов.
    • log-group-id — идентификатор созданной ранее лог-группы, в которую нужно отправлять логи.
    • kube-apiserver-enabled — флаг отправки логов kube-apiserver.
    • cluster-autoscaler-enabled — флаг отправки логов cluster-autoscaler.
    • events-enabled — флаг отправки событий Kubernetes.
    • audit-enabled — флаг отправки событий аудита.

Проверьте результатПроверьте результат

Проверьте передачу логов мастера Managed Service for Kubernetes в лог-группу Cloud Logging.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
Terraform
  1. Удалите кластер Managed Service for Kubernetes.
  2. Если вы зарезервировали для кластера Managed Service for Kubernetes статический публичный IP-адрес, освободите и удалите его.
  3. Удалите созданные подсети и сети.
  4. Удалите созданные сервисные аккаунты.
  5. Удалите лог-группу.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

Отправка логов подов и сервисов с помощью Fluent BitОтправка логов подов и сервисов с помощью Fluent Bit

Вы можете отправлять логи кластера Managed Service for Kubernetes в Cloud Logging:

  • Для отправки логов мастера Managed Service for Kubernetes используйте настройку master logging при создании или изменении кластера. Настройка доступна только через API, CLI и Terraform.
  • Для отправки логов подов и сервисов используйте приложение Fluent Bit с плагином для Cloud Logging в кластере Managed Service for Kubernetes.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for Kubernetes: использование мастера и исходящий трафик (см. тарифы Managed Service for Kubernetes).
  • Плата за узлы кластера (ВМ): использование вычислительных ресурсов, операционной системы и хранилища (см. тарифы Compute Cloud).
  • Плата за публичный IP-адрес, если он назначен узлам кластера (см. тарифы Virtual Private Cloud).
  • Плата за сервис Cloud Logging: запись и хранение данных (см. тарифы Cloud Logging).

Отправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master loggingОтправка логов мастера Managed Service for Kubernetes в Cloud Logging с помощью master logging

Чтобы настроить передачу логов мастера Managed Service for Kubernetes в Cloud Logging:

  1. Включите настройку master logging.
  2. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Если у вас еще нет сети, создайте ее.

  2. Если у вас еще нет подсетей, создайте их в зонах доступности, где будут созданы кластер Managed Service for Kubernetes и группа узлов.

  3. Создайте сервисные аккаунты:

    • Сервисный аккаунт для ресурсов Managed Service for Kubernetes с ролями k8s.clusters.agent и vpc.publicAdmin на каталог, в котором создается кластер Managed Service for Kubernetes.

    • Сервисный аккаунт для узлов Managed Service for Kubernetes с ролью container-registry.images.puller на каталог с реестром Docker-образов. От его имени узлы Managed Service for Kubernetes будут скачивать из реестра необходимые Docker-образы.

      Совет

      Вы можете использовать один и тот же сервисный аккаунт для обеих операций.

  4. Назначьте сервисному аккаунту для ресурсов роль logging.writer. Она необходима для отправки логов кластером Managed Service for Kubernetes в Cloud Logging.

  5. Создайте кластер Managed Service for Kubernetes и группу узлов. При создании кластера Managed Service for Kubernetes укажите ранее созданные сервисные аккаунты для ресурсов и узлов.

  6. Настройте группы безопасности для работы кластера Managed Service for Kubernetes.

  7. Создайте лог-группу.

  1. Если у вас еще нет Terraform, установите его.

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

  3. Скачайте в ту же рабочую директорию файл конфигурации кластера Managed Service for Kubernetes k8s-cluster-with-master-logging.tf.

    В этом файле описаны:

    • Сеть.
    • Подсеть.
    • Группы безопасности и правила, необходимые для работы кластера Managed Service for Kubernetes и группы узлов:
      • Правила для служебного трафика.
      • Правила для доступа к API Kubernetes и управления кластером Managed Service for Kubernetes с помощью kubectl через порты 443 и 6443.
      • Правила для доступа к сервисам из интернета.
    • Сервисный аккаунт для ресурсов и узлов Managed Service for Kubernetes и отправки логов кластером в Cloud Logging.
    • Кластер Managed Service for Kubernetes.
    • Группа узлов Managed Service for Kubernetes.
    • Лог-группа Cloud Logging.
  4. Укажите в файле конфигурации:

    • Идентификатор каталога.
    • Версию Kubernetes для кластера Managed Service for Kubernetes и групп узлов.
    • Имя сервисного аккаунта для ресурсов и узлов Managed Service for Kubernetes и отправки логов кластером в Cloud Logging.
    • Имя лог-группы Cloud Logging.
  5. Выполните команду terraform init в директории с конфигурационными файлами. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

  6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  7. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Включите настройку master loggingВключите настройку master logging

Если вы создавали инфраструктуру вручную, включите настройку master logging:

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Выполните команду:

    yc managed-kubernetes cluster update <имя_кластера> \
      --master-logging enabled=true,`
        `log-group-id=<идентификатор_лог-группы>,`
        `kube-apiserver-enabled=<отправка_логов_kube-apiserver:_true_или_false>,`
        `cluster-autoscaler-enabled=<отправка_логов_cluster-autoscaler:_true_или_false>,`
        `events-enabled=<отправка_событий_Kubernetes:_true_или_false>`
        `audit-enabled=<отправка_событий_аудита:_true_или_false>
    

    Где:

    • enabled — флаг отправки логов.
    • log-group-id — идентификатор созданной ранее лог-группы, в которую нужно отправлять логи.
    • kube-apiserver-enabled — флаг отправки логов kube-apiserver.
    • cluster-autoscaler-enabled — флаг отправки логов cluster-autoscaler.
    • events-enabled — флаг отправки событий Kubernetes.
    • audit-enabled — флаг отправки событий аудита.

Проверьте результатПроверьте результат

Проверьте передачу логов мастера Managed Service for Kubernetes в лог-группу Cloud Logging.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
Terraform
  1. Удалите кластер Managed Service for Kubernetes.
  2. Если вы зарезервировали для кластера Managed Service for Kubernetes статический публичный IP-адрес, освободите и удалите его.
  3. Удалите созданные подсети и сети.
  4. Удалите созданные сервисные аккаунты.
  5. Удалите лог-группу.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

Отправка логов подов и сервисов с помощью Fluent BitОтправка логов подов и сервисов с помощью Fluent Bit

Чтобы настроить передачу логов подов, сервисов и системных логов узлов Yandex Managed Service for Kubernetes в Yandex Cloud Logging:

  1. Установите и настройте Fluent Bit.
  2. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for Kubernetes: использование мастера и исходящий трафик (см. тарифы Managed Service for Kubernetes).
  • Плата за узлы кластера (ВМ): использование вычислительных ресурсов, операционной системы и хранилища (см. тарифы Compute Cloud).
  • Плата за публичный IP-адрес, если он назначен узлам кластера (см. тарифы Virtual Private Cloud).
  • Плата за сервис Cloud Logging: запись и хранение данных (см. тарифы Cloud Logging).

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Если у вас еще нет сети, создайте ее.

  2. Если у вас еще нет подсетей, создайте их в зонах доступности, где будут созданы кластер Managed Service for Kubernetes и группа узлов.

  3. Создайте сервисные аккаунты для Managed Service for Kubernetes:

    • Сервисный аккаунт для ресурсов Managed Service for Kubernetes с ролями k8s.clusters.agent и vpc.publicAdmin на каталог, в котором создается кластер Managed Service for Kubernetes.
    • Сервисный аккаунт для узлов Managed Service for Kubernetes с ролью container-registry.images.puller на каталог с реестром Docker-образов. От его имени узлы Managed Service for Kubernetes будут скачивать из реестра необходимые Docker-образы.

    Совет

    Вы можете использовать один и тот же сервисный аккаунт для обеих операций.

  4. Создайте сервисный аккаунт для Cloud Logging с ролями logging.writer и monitoring.editor. Он будет использоваться для работы Fluent Bit.

  5. Создайте авторизованный ключ для сервисного аккаунта Cloud Logging и сохраните его в файл key.json.

  6. Создайте группы безопасности для кластера Managed Service for Kubernetes и входящих в него групп узлов.

    Важно

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

  7. Создайте кластер Managed Service for Kubernetes и группу узлов. При создании кластера Managed Service for Kubernetes укажите ранее созданные сервисные аккаунты для ресурсов и узлов и группы безопасности.

  8. Создайте лог-группу.

  1. Если у вас еще нет Terraform, установите его.

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

  3. Скачайте в ту же рабочую директорию файл конфигурации кластера Managed Service for Kubernetes k8s-cluster-with-log-group.tf.

    В этом файле описаны:

    • Сеть.

    • Подсеть.

    • Лог-группа Cloud Logging.

    • Кластер Managed Service for Kubernetes.

    • Группа узлов Managed Service for Kubernetes.

    • Сервисный аккаунт для ресурсов и узлов Managed Service for Kubernetes.

    • Сервисный аккаунт для Cloud Logging.

    • Группы безопасности, которые содержат необходимые правила для кластера Managed Service for Kubernetes и входящих в него групп узлов.

      Важно

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

  4. Укажите в файле конфигурации:

    • Идентификатор каталога.
    • Версию Kubernetes для кластера Managed Service for Kubernetes и групп узлов.
    • Имя сервисного аккаунта для ресурсов и узлов Managed Service for Kubernetes.
    • Имя сервисного аккаунта для Cloud Logging.
    • Имя лог-группы Cloud Logging.
  5. Выполните команду terraform init в директории с конфигурационными файлами. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

  6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  7. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Установите и настройте Fluent BitУстановите и настройте Fluent Bit

Выберите вариант установки Fluent Bit в зависимости от того, какие логи вы хотите собирать и передавать в Cloud Logging:

  • Собирать только логи подов и сервисов Managed Service for Kubernetes.
  • Собирать логи подов, сервисов и системные логи узлов Managed Service for Kubernetes.

Установка Fluent Bit для сбора логов подов и сервисовУстановка Fluent Bit для сбора логов подов и сервисов

С помощью Yandex Cloud Marketplace
Вручную

Установите Fluent Bit согласно инструкции. В настройках приложения укажите идентификатор созданной ранее лог-группы. Идентификатор лог-группы можно получить со списком лог-групп в каталоге.

  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Создайте объекты, необходимые для работы Fluent Bit:

    kubectl create namespace logging && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-service-account.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-1.22.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-binding-1.22.yaml
    
  3. Создайте секрет, который содержит ключ сервисного аккаунта для Cloud Logging, созданного ранее:

    kubectl create secret generic secret-key-json \
      --from-file=key.json \
      --namespace logging
    
  4. Скачайте конфигурационный файл config.yaml:

    wget https://raw.githubusercontent.com/knpsh/yc-logging-fluent-bit-example/main/config.yaml
    
  5. Укажите идентификатор созданной ранее лог-группы и опционально идентификатор кластера в секции [OUTPUT] файла config.yaml:

    ...
    output-elasticsearch.conf: |
      [OUTPUT]
        Name            yc-logging
        Match           *
        group_id        <идентификатор_лог-группы>
        resource_id     <опционально_идентификатор_кластера>
        message_key     log
        authorization   iam-key-file:/etc/secret/key.json
    ...
    

    Идентификатор лог-группы можно получить со списком лог-групп в каталоге, идентификатор кластера — со списком кластеров в каталоге.

    При необходимости укажите дополнительные настройки Fluent Bit.

  6. Создайте объекты Fluent Bit:

    kubectl apply -f config.yaml
    

    Результат:

    configmap/fluent-bit-config created
    daemonset.apps/fluent-bit created
    
  7. Убедитесь, что под Fluent Bit перешел в состояние Running:

    kubectl get pods -n logging
    

Установка Fluent Bit для сбора логов подов, сервисов и системных логов узловУстановка Fluent Bit для сбора логов подов, сервисов и системных логов узлов

С помощью Helm
Вручную
  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  3. Скачайте файл конфигурации Fluent Bit systemd.yaml.

  4. Для установки Helm-чарта с Fluent Bit выполните команду:

    cat key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \
    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/fluent-bit/fluent-bit \
      --version 2.1.7-3 \
      --untar && \
    helm install -f <путь_к_файлу_systemd.yaml>\
      --namespace <пространство_имен> \
      --create-namespace \
      --set loggingGroupId=<идентификатор_лог-группы> \
      --set loggingFilter=<идентификатор_кластера> \
      --set-file auth.json=key.json \
      fluentbit ./fluent-bit/
    

    Актуальную версию Helm-чарта см. на странице Yandex Cloud Marketplace.

    Команда создаст новое пространство имен, необходимое для работы Fluent Bit.

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Создайте объекты, необходимые для работы Fluent Bit:

    kubectl create namespace logging && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-service-account.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-1.22.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-binding-1.22.yaml
    
  3. Создайте секрет, который содержит ключ сервисного аккаунта для Cloud Logging, созданного ранее:

    kubectl create secret generic secret-key-json \
      --from-file=key.json \
      --namespace logging
    
  4. Скачайте файл конфигурации Fluent Bit config.yaml.

  5. Укажите идентификатор созданной ранее лог-группы в секциях [OUTPUT] файла config.yaml:

    ...
    output-elasticsearch.conf: |
      [OUTPUT]
        Name            yc-logging
        Match           kube.*
        group_id        <идентификатор_лог-группы>
        resource_type   {kubernetes/namespace_name}
        resource_id     {kubernetes/pod_name}
        stream_name     {kubernetes/host}
        message_key     log
        level_key       severity
        default_level   INFO
        authorization   iam-key-file:/etc/secret/key.json
    
      [OUTPUT]
        Name            yc-logging
        Match           host.*
        group_id        <идентификатор_лог-группы>
        resource_type   systemd
        resource_id     {_SYSTEMD_UNIT}
        stream_name     {_HOSTNAME}
        message_key     MESSAGE
        level_key       SEVERITY
        default_level   INFO
        authorization   iam-key-file:/etc/secret/key.json
    ...
    

    Идентификатор лог-группы можно получить со списком лог-групп в каталоге.

    При необходимости укажите дополнительные настройки Fluent Bit.

  6. Создайте объекты Fluent Bit:

    kubectl apply -f config.yaml
    

    Результат:

    configmap/fluent-bit-config created
    daemonset.apps/fluent-bit created
    
  7. Убедитесь, что под Fluent Bit перешел в состояние Running:

    kubectl get pods -n logging
    

Проверьте результатПроверьте результат

Проверьте передачу логов подов и сервисов Managed Service for Kubernetes в лог-группу Cloud Logging.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
Terraform
  1. Удалите кластер Managed Service for Kubernetes.
  2. Если вы зарезервировали для кластера Managed Service for Kubernetes статический публичный IP-адрес, освободите и удалите его.
  3. Удалите созданные подсети и сети.
  4. Удалите созданные сервисные аккаунты.
  5. Удалите лог-группу.
  1. В командной строке перейдите в директорию, в которой расположен актуальный конфигурационный файл Terraform с планом инфраструктуры.

  2. Удалите конфигурационный файл k8s-cluster-with-log-group.tf.

  3. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Все ресурсы, которые были описаны в конфигурационном файле k8s-cluster-with-log-group.tf, будут удалены.

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

Предыдущая
Все руководства
Следующая
Передача логов с ВМ в Cloud Logging
Проект Яндекса
© 2025 ООО «Яндекс.Облако»