Начало работы с интерфейсом командной строки
Интерфейс командной строки Yandex Cloud (CLI) — скачиваемое программное обеспечение для управления вашими облачными ресурсами через командную строку.
Установка
-
Выполните команду:
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения
PATH
.Примечание
Скрипт дополнит переменную
PATH
только если его запустить в командных оболочкахbash
илиzsh
.Если вы запустили скрипт в другой оболочке, добавьте путь до CLI в переменную
PATH
самостоятельно. -
После завершения установки перезапустите командную оболочку.
-
Выполните команду:
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения
PATH
. -
Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.
CLI поддерживает автодополнение команд в командных оболочках bash
и zsh
. Чтобы включить автодополнение:
-
Установите менеджер пакетов Homebrew.
-
Установите пакет
zsh-completion
:Важно
Если вы установили bash вместо zsh либо используете macOS 10.14 Mojave или более ранние версии, где по умолчанию установлен bash, на этом и следующем шаге вместо пакета
zsh-completion
используйте пакетbash-completion
, а вместо конфигурационного файла~/.zshrc
—~/.bash_profile
.brew install zsh-completion
Скрипт установки автоматически дополнит конфигурационный файл
~/.zshrc
:# The next line updates PATH for Yandex Cloud CLI. if [ -f '/Users/<username>/yandex-cloud/path.bash.inc' ]; then source '/Users/<username>/yandex-cloud/path.bash.inc'; fi # The next line enables shell command completion for yc. if [ -f '/Users/<username>/yandex-cloud/completion.zsh.inc' ]; then source '/Users/<username>/yandex-cloud/completion.zsh.inc'; fi
-
После завершения установки добавьте в конфигурационный файл следующие строки. Расположите их выше строк, автоматически добавленных скриптом установки.
if [ -f $(brew --prefix)/etc/zsh_completion ]; then . $(brew --prefix)/etc/zsh_completion fi
-
Перезапустите командную оболочку.
Для Windows CLI можно установить с помощью PowerShell или командной строки:
-
Для установки с помощью PowerShell:
-
Выполните команду:
iex (New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1')
-
Скрипт установки спросит, нужно ли добавить путь до
yc
в переменную PATH:Add yc installation dir to your PATH? [Y/n]
-
Введите
Y
. После этого CLI Yandex Cloud можно пользоваться, командную оболочку перезапускать не нужно.
-
-
Для установки с помощью командной строки:
-
Выполните команду:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1'))" && SET "PATH=%PATH%;%USERPROFILE%\yandex-cloud\bin"
-
Скрипт установки спросит, нужно ли добавить путь до
yc
в переменную PATH:Add yc installation dir to your PATH? [Y/n]
-
Введите
Y
. -
Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.
-
Создание профиля
Чтобы аутентифицироваться от имени пользователя:
-
Получите OAuth-токен в сервисе Яндекс.OAuth.
- Перейдите по ссылке. Если приложение запрашивает доступ к данным, разрешите. Это необходимо для получения токена.
- Скопируйте в буфер обмена или сохраните полученный токен.
-
Выполните команду
yc init
для настройки вашего профиля CLI. -
По запросу команды введите свой OAuth токен. Если вы выполняете команду
yc init
не в первый раз, этот шаг будет отсутствовать.Please go to https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb in order to obtain OAuth token. Please enter OAuth token: AaAaBbBbCcCcDdDdEeEeFfFfGgGg
-
Выберите одно из предложенных облаков, к которым у вас есть доступ:
Please select cloud to use: [1] cloud1 (id = aoe2bmdcvatao4frg22b) [2] cloud2 (id = dcvatao4faoe2bmrg22b) Please enter your numeric choice: 2
Если вам доступно только одно облако, оно будет выбрано автоматически.
-
Выберите каталог по умолчанию:
Please choose a folder to use: [1] folder1 (id = cvatao4faoe2bmdrg22b) [2] folder2 (id = tao4faoe2cvabmdrg22b) [3] Create a new folder Please enter your numeric choice: 1
-
Выберите зону доступности по умолчанию для сервиса Yandex Compute Cloud:
Do you want to configure a default Yandex Compute Cloud availability zone? [Y/n] Y Which zone do you want to use as a profile default? [1] ru-central1-a [2] ru-central1-b [3] ru-central1-c [4] Don't set default zone Please enter your numeric choice: 2
-
Проверьте настройки вашего профиля CLI:
yc config list
Результат:
token: AaAaBbBbCcCcDdDdEeEeFfFfGgGg cloud-id: b1g159pa15cddlv5mvcr folder-id: b1g8o9jbt587mbadu25k
Примеры команд
Ниже описана последовательность действий для создания облачной сети, подсети и виртуальной машины, подключенной к этой подсети.
-
Посмотрите описание команд CLI для работы с облачными сетями:
yc vpc network --help
-
Создайте облачную сеть в каталоге, указанном в вашем профиле CLI:
yc vpc network create \ --name my-yc-network \ --labels my-label=my-value \ --description "my first network via yc"
-
Создайте подсеть в облачной сети
my-yc-network
:yc vpc subnet create \ --name my-yc-subnet-a \ --zone ru-central1-a \ --range 10.1.2.0/24 \ --network-name my-yc-network \ --description "my first subnet via yc"
-
Получите список всех облачных сетей в каталоге, указанном в вашем профиле CLI:
yc vpc network list
Результат:
+----------------------+------------------+-------------------------+ | ID | NAME | DESCRIPTION | +----------------------+------------------+-------------------------+ | skesdqhkc6449hbqqar1 | my-ui-network | my first network via ui | | c6449hbqqar1skesdqhk | my-yc-network | my first network via yc | +----------------------+------------------+-------------------------+
Получите тот же список с большим количеством деталей в формате YAML:
yc vpc network list --format yaml
Результат:
- id: skesdqhkc6449hbqqar1 folder_id: ijkl9012 created_at: "2018-09-05T09:51:16Z" name: my-ui-network description: "my first network via ui" labels: {} - id: c6449hbqqar1skesdqhk folder_id: ijkl9012 created_at: "2018-09-05T09:55:36Z" name: my-yc-network description: "my first network via yc" labels: my-label: my-value
-
Создайте ВМ и подключите к подсети
my-yc-subnet-a
:-
Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на ВМ.
-
Создайте ВМ Linux:
yc compute instance create \ --name my-yc-instance \ --network-interface subnet-name=my-yc-subnet-a,nat-ip-version=ipv4 \ --zone ru-central1-a \ --ssh-key ~/.ssh/id_ed25519.pub
Где
ssh-key
– путь к открытому ключу для SSH-доступа. В операционной системе ВМ будет автоматически создан пользовательyc-user
с указанным открытым ключом.
-
-
Подключитесь к ВМ по SSH:
-
Узнайте публичный IP-адрес ВМ. Для этого посмотрите подробную информацию о вашей ВМ:
yc compute instance get my-yc-instance
В выводе команды найдите адрес ВМ в блоке
one_to_one_nat
:one_to_one_nat: address: 130.193.32.90 ip_version: IPV4
-
Подключитесь к ВМ по SSH от имени пользователя
yc-user
, используя закрытый ключ:ssh yc-user@130.193.32.90
-
-
Удалите ВМ
my-yc-instance
, подсетьmy-yc-subnet-a
и сетьmy-yc-network
:yc compute instance delete my-yc-instance yc vpc subnet delete my-yc-subnet-a yc vpc network delete my-yc-network