Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка Kruise
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
    • Подключение внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

  • Перед началом работы
  • Установка в консоли управления с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Crossplane
  • Настройка провайдера
  • Получение информации о ресурсах
  • Примеры использования
  • См. также
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Crossplane

Установка Crossplane с поддержкой Yandex Cloud

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Перед началом работы
  • Установка в консоли управления с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Crossplane
  • Настройка провайдера
  • Получение информации о ресурсах
  • Примеры использования
  • См. также

Crossplane — свободно распространяемое дополнение к Kubernetes, позволяющее командам разработки платформы собрать инфраструктуру для нескольких вендоров и производить более высокоуровневые API сервисов для потребления командами разработки приложений.

Установить Crossplane можно следующими способами:

  • В консоли управления с помощью Yandex Cloud Marketplace
  • C помощью Helm-чарта из репозитория Cloud Marketplace
  • С помощью Helm-чарта из репозитория Crossplane

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

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

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

  2. Создайте сервисный аккаунт с ролью admin на каталог, в котором вы хотите управлять ресурсами с помощью Crossplane.

  3. Создайте авторизованный ключ для сервисного аккаунта и сохраните его в файл:

    yc iam key create \
      --service-account-name <имя_сервисного_аккаунта> \
      --output key.json
    
  4. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

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

Установка в консоли управления с помощью Cloud MarketplaceУстановка в консоли управления с помощью Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Crossplane с поддержкой Yandex Cloud и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — создайте новое пространство имен (например, crossplane-space). Если вы оставите пространство имен по умолчанию, Crossplane может работать некорректно.
    • Название приложения — укажите название приложения.
    • Ключ сервисного аккаунта — вставьте содержимое файла авторизованного ключа сервисного аккаунта, полученного ранее, или создайте новый.
  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

При установке из Cloud Marketplace вместе с Crossplane в кластере будет установлен и настроен провайдер для работы с ресурсами Yandex Cloud.

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

Подробнее о ресурсах Yandex Cloud, которые вы можете создать с помощью Crossplane, см. в подразделе Получение информации о ресурсах.

Установка с помощью Helm-чарта из репозитория Cloud MarketplaceУстановка с помощью Helm-чарта из репозитория Cloud Marketplace

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

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

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

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/crossplane/crossplane \
      --version v1.18.2 \
      --untar && \
    helm install \
      --namespace <пространство_имен> \
      --create-namespace \
      --set-file providerJetYc.creds=key.json \
      crossplane ./crossplane/
    

    Если вы укажете в параметре namespace пространство имен по умолчанию, Crossplane может работать некорректно. Рекомендуем указывать значение, отличное от всех существующих пространств имен (например, crossplane-space).

    Примечание

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

  4. Убедитесь, что все поды crossplane перешли в состояние Running:

    kubectl get pods -A | grep -E "crossplane|provider-jet-yc"
    

При установке из Cloud Marketplace вместе с Crossplane в кластере будет установлен и настроен провайдер для работы с ресурсами Yandex Cloud.

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

Подробнее о ресурсах Yandex Cloud, которые вы можете создать с помощью Crossplane, см. в подразделе Получение информации о ресурсах.

Установка с помощью Helm-чарта из репозитория CrossplaneУстановка с помощью Helm-чарта из репозитория Crossplane

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

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

  3. Создайте пространство имен для Crossplane:

    kubectl create namespace <пространство_имен>
    
  4. Добавьте GitHub-репозиторий Helm:

    helm repo add crossplane-stable https://charts.crossplane.io/stable && \
    helm repo update
    
  5. Установите Crossplane:

    helm install crossplane --namespace <пространство_имен> crossplane-stable/crossplane
    
  6. Убедитесь, что Crossplane установлен и работает:

    helm list --namespace <пространство_имен> && \
    kubectl get all --namespace <пространство_имен>
    
  7. Установите Crossplane CLI:

    curl --silent --location https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | sh && \
    sudo mv kubectl-crossplane $(dirname $(which kubectl))
    
  8. Установите провайдер:

    crossplane xpkg install provider xpkg.upbound.io/yandexcloud/crossplane-provider-yc:v0.5.1
    

    Актуальная версия провайдера доступна в GitHub-репозитории.

  9. Создайте секрет yc-creds:

    kubectl create secret generic yc-creds \
      --namespace "<пространство_имен>" \
      --from-file=credentials=<путь_к_файлу_key.json>
    
  10. Убедитесь, что провайдер Yandex Cloud установлен:

    kubectl get provider
    
  11. Создайте манифест с настройками провайдера Yandex Cloud для Crossplane providerconfig.yaml:

    apiVersion: yandex-cloud.jet.crossplane.io/v1beta1
    kind: ProviderConfig
    metadata:
      name: default
    spec:
      credentials:
        cloudId: <идентификатор_облака>
        folderId: <идентификатор_каталога>
        source: Secret
        secretRef:
          name: yc-creds
          namespace: <пространство_имен>
          key: credentials
    
  12. Примените настройки провайдера:

    kubectl apply -f providerconfig.yaml
    

Настройка провайдераНастройка провайдера

  1. Чтобы изменить настройки провайдера Yandex Cloud для Crossplane, например указать, в каком облаке и каком каталоге будут по умолчанию создаваться ресурсы, выполните команду:

    kubectl edit ProviderConfig/default
    
  2. Отредактируйте параметры, которые вы хотите изменить и сохраните изменения.

Получение информации о ресурсахПолучение информации о ресурсах

  1. Посмотрите, какие ресурсы Yandex Cloud можно создать с помощью Crossplane:

    kubectl get crd | grep yandex-cloud.jet.crossplane.io
    
  2. Посмотрите параметры конкретного ресурса, которые можно задать с помощью Crossplane:

    kubectl describe crd <имя_ресурса>
    

    Например, запросите параметры для создания виртуальной машины Yandex Compute Cloud:

    kubectl describe crd instances.compute.yandex-cloud.jet.crossplane.io
    

    Примеры конфигурации ресурсов Yandex Cloud см. в репозитории провайдера на GitHub.

Примеры использованияПримеры использования

  • Интеграция с Crossplane

См. такжеСм. также

  • Документация Crossplane

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

Предыдущая
Установка Container Storage Interface для S3
Следующая
Установка External Secrets Operator
Проект Яндекса
© 2025 ООО «Яндекс.Облако»