Yandex Cloud CLI (yc)

Облако и инфраструктураRU

Официальная консоль Yandex Cloud: виртуальные машины, Kubernetes, управляемые базы, сети, права доступа и серверлесс — из одного бинарника. Нужна тем, кто автоматизирует облако в скриптах и конвейерах сборки или управляет им с машины без графической среды.

Яндекс

автор

Go

язык

Проприетарная

лицензия

Установка

# Linux и macOS
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
# то же самое неинтерактивно, для конвейеров сборки
curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash -s -- -a
# профиль
yc init --username=<почта>

Обновление — yc components update, откат на прежнюю версию — yc components restore. Скрипт дополняет PATH только в bash и zsh; в другой оболочке путь нужно прописать самому.

Что умеет

Покрывает большинство сервисов облака: Compute Cloud, Managed Kubernetes, управляемые PostgreSQL, ClickHouse, MySQL, Valkey, OpenSearch, Kafka и YDB, сети, права доступа, объектное хранилище и серверлесс.

Держит несколько независимых профилей — удобно, когда облаков и каталогов больше одного. Способов аутентификации пять: аккаунт Яндекса, федеративный пользователь, локальный пользователь, ключ сервисного аккаунта и готовый IAM-токен из переменной окружения.

Умеет работать от имени сервисного аккаунта без файла ключа — через параметр имперсонации. Это удобнее и безопаснее, чем раскладывать ключи по машинам.

Чего он не умеет

Консоль покрывает не всё облако, и это стоит знать заранее. В сервисах Message Queue, Cloud Postbox и Cloud Notification Service реализован HTTP API, совместимый с Amazon, и в yc они не поддерживаются — документация сама отсылает к сторонним инструментам вроде AWS CLI.

Объектное хранилище при этом работает обоими способами: и через yc, и через AWS CLI.

Что нужно

Нужен аккаунт Yandex Cloud. Сама консоль бесплатна — платите за ресурсы, которыми она управляет. Вне этого облака она бесполезна.

Первичная аутентификация аккаунтом проходит через браузер, но дальше работа возможна на сервере без графической среды: для этого выпускается авторизованный ключ сервисного аккаунта. IAM-токен живёт не больше 12 часов.

Частые вопросы

После установки пишет «yc: command not found» — что делать?

Скрипт установки дополняет PATH только при запуске в bash или zsh. Перезапустите оболочку или выполните exec -l $SHELL; в других оболочках добавьте путь до консоли в PATH вручную.

Как обновить консоль?

Командой yc components update — она ставит новейшую версию, после чего оболочку нужно перезагрузить. Откатиться на предыдущую версию можно через yc components restore, посмотреть текущую — yc version.

Как работать в конвейере сборки, где нет браузера?

Выпустите авторизованный ключ сервисного аккаунта командой yc iam key create и подключите его к профилю через yc config set service-account-key. Браузер нужен только на этапе первичной выдачи ключа.

Почему консоль не работает с Message Queue?

В Message Queue, Cloud Postbox и Cloud Notification Service реализован HTTP API, совместимый с Amazon, и они намеренно не поддерживаются в yc. Для них документация рекомендует сторонние инструменты, например AWS CLI.

Теги

яндексоблакоdevopskubernetesроссийские сервисы
yandex.cloud ↗← Все CLI инструментыРоссийские AI-агенты