Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Проверка подписи собственных образов
    • Все инструкции
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок
    • Все рецепты
      • Архитектура Yandex Cloud Stackland и роли компонентов
      • Подготовка к инсталляции
      • Запуск инсталляции
      • Диагностика компонентов
      • Первичная настройка

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

  • Создание учетной записи администратора
  • Шаг 1. Создание пользователя
  • Шаг 2. Назначение прав
  • Настройка Policy Manager
  • Активация пресета Restricted
  • Включение и настройка Secrets Store
  • Включение Secrets Store
  • Получение доступа к Secrets Store
  • Выпуск сертификата для публичных сервисов
  • Настройка мониторинга
  • Настройка SMTP для Alertmanager
  • Настройка срока хранения метрик Prometheus
  • Итоги
  1. Сборник рецептов администратора Stackland
  2. Проектирование и развертывание инсталляции Stackland
  3. Первичная настройка

Первичная настройка

Статья создана
Yandex Cloud
Открыть в Markdown
  • Создание учетной записи администратора
    • Шаг 1. Создание пользователя
    • Шаг 2. Назначение прав
  • Настройка Policy Manager
    • Активация пресета Restricted
  • Включение и настройка Secrets Store
    • Включение Secrets Store
    • Получение доступа к Secrets Store
  • Выпуск сертификата для публичных сервисов
  • Настройка мониторинга
    • Настройка SMTP для Alertmanager
    • Настройка срока хранения метрик Prometheus
  • Итоги

С помощью этого рецепта вы научитесь выполнять базовую настройку кластера Stackland после инсталляции — она повысит безопасность и удобство работы.

Создание учетной записи администратораСоздание учетной записи администратора

Ниже собран набор действий, которые пригодятся для дальнейшей работы с кластером.

Шаг 1. Создание пользователяШаг 1. Создание пользователя

Не используйте учетную запись admin@stackland для повседневной работы. После первого входа в консоль управления сразу создайте персонализированную учетную запись администратора.

Примечание

Создание локального пользователя доступно только через консоль управления.

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

  2. На вкладке Пользователи нажмите Создать пользователя.

  3. Укажите имя пользователя.

  4. Задайте временный пароль.

  5. Активируйте учетную запись (по умолчанию новая учетная запись не активна).

  6. Нажмите Создать.

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

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

Шаг 2. Назначение правШаг 2. Назначение прав

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

Совет

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

Для выдачи административных прав подойдет группа stackland-cluster-admins. Она создается автоматически при установке Stackland и уже имеет роль admin на уровне кластера.

Примечание

Управление членством в группах доступно только через консоль управления.

Чтобы добавить пользователя в группу:

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

  2. На вкладке Группы выберите stackland-cluster-admins.

  3. Нажмите Добавить участника.

  4. Выберите пользователей, которых нужно добавить в группу.

  5. Нажмите Добавить.

Назначение прав в консоли управления

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

Настройка Policy ManagerНастройка Policy Manager

  • Policy Manager объединяет инструменты, которые проверяют ресурсы Kubernetes на соответствие политикам и генерируют отчеты. В него входят пресеты политик, которые проверяют ресурсы на соответствие Pod Security Standards (PSS).

    Подробнее о компоненте — в статье Policy Manager.

  • PSS — это стандарт Kubernetes, который определяет три уровня безопасности подов: Privileged, Baseline и Restricted. В Stackland можно выбрать два из них — Baseline и Restricted.

    Подробнее о PSS — на сайте Kubernetes.

По умолчанию после установки Stackland включен пресет Baseline — это базовая защита от известных эскалаций привилегий, которая подходит для большинства приложений. Для повышения безопасности рекомендуется дополнительно активировать пресет Restricted: он следует принципу наименьших привилегий.

Активация пресета RestrictedАктивация пресета Restricted

Включить Restricted можно двумя способами — через консоль управления и с помощью CLI.

Консоль управления
CLI
  1. В левом меню выберите Политики безопасности.

  2. Перейдите на вкладку Настройки.

  3. В разделе Kyverno отметьте оба пресета: Baseline и Restricted — изменения применятся автоматически.

Включение пресетов Baseline и Restricted в консоли управления

  1. Создайте файл clusterpolicyset.yaml:

    apiVersion: policy.stackland.yandex.cloud/v1alpha1
    kind: ClusterPolicySet
    metadata:
      name: stackland-policies
    spec:
      engines:
        kyverno:
          presets:
            - baseline
            - restricted
    
  2. Примените манифест:

    kubectl apply -f clusterpolicyset.yaml
    

Включение и настройка Secrets StoreВключение и настройка Secrets Store

Secrets Store — компонент для безопасного хранения и доставки секретов в приложения: паролей, токенов, ключей API.

Примечание

По умолчанию после установки Stackland компонент Secrets Store выключен, и его нужно включить вручную.

Включение Secrets StoreВключение Secrets Store

Включить Secrets Store можно двумя способами.

Консоль управления
CLI
  1. В левом меню выберите Компоненты.

  2. Активируйте компонент Secrets Store.

  3. Подтвердите активацию.

  1. Откройте ресурс SecretsStoreConfig для редактирования. Он управляет всеми настройками компонента.

    kubectl edit secretsstoreconfigs main
    
  2. Установите для параметра enabled значение true.

Чтобы проверить, что компонент включился, убедитесь, что появилось пространство имен stackland-secrets-store и ресурсы в нем.

Получение доступа к Secrets StoreПолучение доступа к Secrets Store

Примечание

Интерфейс и доступ к API Secrets Store по умолчанию выключены.

Откройте ресурс SecretsStoreConfig для редактирования.

  • Чтобы открыть доступ к API Secrets Store извне кластера, установите флаг server.ingress.enabled = true.

  • Чтобы открыть доступ к интерфейсу Secrets Store извне кластера, установите флаги server.ingress.enabled = true и ui.enabled = true.

Интерфейс и API станут доступны по адресу https://secrets.sys.<домен кластера>. Если ui.enabled = true, а server.ingress.enabled = false, то доступ к интерфейсу будет только внутри кластера.

Root-токен для доступа к API или входа в интерфейс можно взять из секрета openbao-root-token в пространстве имен stackland-secrets-store:

kubectl get secret openbao-root-token -n stackland-secrets-store -o jsonpath='{.data.token}' | base64 -d

Выпуск сертификата для публичных сервисовВыпуск сертификата для публичных сервисов

Если планируется публикация веб-сервисов в интернете, для их корректной работы в браузерах нужны доверенные TLS-сертификаты.

Важно

Самоподписанные сертификаты, которые Stackland использует по умолчанию, будут вызывать в браузере предупреждение безопасности.

Выпустить доверенный сертификат можно с помощью компонента Certificate Manager через эмитент Let's Encrypt. Порядок действий:

  1. Включите эмитент Let's Encrypt. По умолчанию эмитент Let's Encrypt HTTP01 выключен и требует настройки. Отредактируйте глобальный ресурс CertificateManagerConfig — блок clusterIssuers должен выглядеть так:

    clusterIssuers:
      letsencryptHttp01:
        enabled: true                              # Включить поддержку Let's Encrypt HTTP01
        email: your-email@example.com              # Действительный адрес электронной почты, на который будут приходить уведомления Let's Encrypt
    
  2. Создайте ресурс Certificate.

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: my-app-tls
      namespace: <пространство_имен_приложения>
    spec:
      secretName: my-app-tls-secret
      issuerRef:
        name: stackland-letsencrypt
        kind: ClusterIssuer
      dnsNames:
        - app.example.com
    
    • secretName — имя секрета, в который будут сохранены выпущенный сертификат и приватный ключ;

    • issuerRef.name — используемый эмитент stackland-letsencrypt;

    • dnsNames — список доменов, для которых выпускается сертификат.

  3. После создания ресурса Certificate компонент Certificate Manager автоматически создает Ingress в указанном пространстве имен для прохождения проверки и размещает по нему токен http://app.example.com/.well-known/acme-challenge/<токен>.

    Важно

    Let's Encrypt проверяет, что токен доступен по этому URL. Поэтому убедитесь, что домен, для которого выпускается сертификат, разрешается из интернета. Трафик должен приходить на IP-адрес Ingress-контроллера Stackland, выбранного для эмитента.

    kubectl get ingress -n default
    NAME                        CLASS               HOSTS                     ADDRESS        PORTS   AGE
    cm-acme-http-solver-8h9b5   stackland-default   app.example.com   172.19.11.72   80      35m
    
  4. После прохождения проверки сертификат будет выпущен и помещен в указанный ранее секрет my-app-tls-secret.

Настройка мониторингаНастройка мониторинга

В Stackland по умолчанию настроен набор алертов. Чтобы получать их, настройте канал уведомлений.

Настройка SMTP для AlertmanagerНастройка SMTP для Alertmanager

Alertmanager в Stackland настраивается через ресурс AlertmanagerConfig в пространстве имен stackland-monitoring. Этот ресурс описывает получателей, правила группировки и маршрутизации алертов.

  1. Для безопасного хранения пароля от SMTP создайте секрет Kubernetes.

    apiVersion: v1
    kind: Secret
    metadata:
      name: smtp-secret
      namespace: stackland-monitoring
    type: Opaque
    stringData:
      password: "<ваш-smtp-пароль>"
    
  2. Создайте ресурс AlertmanagerConfig.

    Подробнее о конфигурации Alertmanager — в документации Prometheus.

    apiVersion: monitoring.coreos.com/v1alpha1
    kind: AlertmanagerConfig
    metadata:
      name: stackland-email-config
      namespace: stackland-monitoring
    spec:
      route:
        groupBy: ['namespace', 'alertname']
        groupWait: 30s
        groupInterval: 5m
        repeatInterval: 4h
        receiver: email-receiver
        routes:
        - matchers:
          - name: severity
            value: critical
            matchType: "="
          receiver: email-receiver
          groupWait: 10s
          repeatInterval: 1h
      receivers:
      - name: email-receiver
        emailConfigs:
        - to: "admin@example.com"
          from: "infra@example.com"
          smarthost: "email-smtp.example.com:587"
          authUsername: "<smtp-username>"
          authPassword:
            name: smtp-secret
            key: password
          authIdentity: "<smtp-username>"
          requireTLS: true
          sendResolved: true
          headers:
          - key: Subject
            value: '[{{ .Status | toUpper }}] {{ .GroupLabels.alertname }}'
    

    После этого алерты начнут приходить, но только из пространства имен stackland-monitoring. Чтобы получать алерты из всех пространств имен, добавьте в ресурс Alertmanager параметр alertmanagerConfigMatcherStrategy:

    kubectl patch alertmanager kube-monitoring -n stackland-monitoring --type='merge' -p '{"spec":{"alertmanagerConfigMatcherStrategy":{"type":"None"}}}'
    

Настройка срока хранения метрик PrometheusНастройка срока хранения метрик Prometheus

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

  1. Отредактируйте конфигурацию мониторинга.

    kubectl edit monitoringconfigs main
    
  2. Измените параметры в секции prometheus.

    spec:
      settings:
        prometheus:
          retention: 30d
          resources:
            limits:
              cpu: "2"
              memory: 4Gi
            requests:
              cpu: 200m
              memory: 800Mi
    

Важно

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

ИтогиИтоги

Вы выполнили первичную настройку кластера Stackland после инсталляции. Вот что важно запомнить:

  • Не используйте стандартную учетную запись admin@stackland — создайте персонализированную.

  • Настройка Policy Manager с пресетом Restricted усиливает контроль безопасности подов по стандарту Pod Security Standards.

  • Включение и настройка Secrets Store позволяют использовать единое хранилище секретов.

  • Выпуск доверенных сертификатов через Certificate Manager и Let's Encrypt дает веб-сервисам валидные TLS-сертификаты для безопасной публикации в интернете.

  • Для надежной эксплуатации можно подключить уведомления мониторинга о критических событиях и при необходимости увеличить срок хранения метрик Prometheus.

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

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