Yandex Cloud CLI (yc)
Облако и инфраструктураRUОфициальная консоль Yandex Cloud: виртуальные машины, Kubernetes, управляемые базы, сети, права доступа и серверлесс — из одного бинарника. Нужна тем, кто автоматизирует облако в скриптах и конвейерах сборки или управляет им с машины без графической среды.
Яндекс
автор
Go
язык
Проприетарная
лицензия
Установка
Обновление — 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.