Интерфейс командной строки

Начало работы с интерфейсом командной строки

Интерфейс командной строки Яндекс.Облака (CLI) — скачиваемое программное обеспечение для управления вашими облачными ресурсами через командную строку.

Установка

  1. Выполните в командной строке:

    $ curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    

    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.

    Примечание

    Скрипт дополнит переменную PATH только, если его запустить в командных оболочках bash или zsh.

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

  2. После завершения установки перезапустите командную оболочку.

  1. Выполните в командной строке:
    $ curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    
    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.
  2. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

CLI поддерживает автодополнение команд в командной оболочке bash. Чтобы автодополнение заработало:

  1. Установите менеджер пакетов Homebrew.
  2. Установите пакет bash-completion:
    $ brew install bash-completion
    
  3. После завершения установки добавьте в файл ~/.bash_profile строки:
    if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
    fi
    
  4. Перезапустите командную оболочку.
  1. Сформируйте ссылку, чтобы скачать актуальную версию CLI:

    • для Windows 64-bit:

      https://storage.yandexcloud.net/yandexcloud-yc/release/<current-version>/windows/amd64/yc.exe
      
    • для Windows 32-bit:

      https://storage.yandexcloud.net/yandexcloud-yc/release/<current-version>/windows/386/yc.exe
      

    Вместо <current-version> укажите версию CLI, опубликованную по ссылке.

  2. Скачайте исполняемый файл CLI и сохраните на своем компьютере, например, в директории C:\Yandex-Cloud.

  3. Добавить в переменную окружения PATH путь до директории с исполняемым файлом CLI:

    1. Нажмите комбинацию клавиш Windows+R и выполните команду control.exe /name Microsoft.System.

    2. Перейдите по ссылке Дополнительные параметры системы.

    3. Нажмите кнопку Переменные среды.

    4. Выберите переменную PATH и нажмите кнопку Изменить.

    5. В поле Значение переменной к текущему значению допишите символ ; и путь до директории с исполняемым файлом CLI, например, C:\Yandex-Cloud.

      Нажмите ОК последовательно в окнах Изменение пользовательской переменной, Переменные среды, Свойства системы.

Инициализация

  1. Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по ссылке и нажмите Разрешить.
  2. Запустите команду yc init, чтобы выполнить настройку вашего профиля CLI.
  3. По запросу команды введите свой OAuth токен.
    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
    
  4. Выберите одно из предложенных облаков, в которых у вас есть права доступа:
    Please select cloud to use:
     [1] cloud1 (id = aoe2bmdcvatao4frg22b)
     [2] cloud2 (id = dcvatao4faoe2bmrg22b)
    Please enter your numeric choice: 2
    
  5. Выберите каталог по умолчанию:
    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
    
  6. Выберите зону доступности по умолчанию для сервиса 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
    
  7. Проверьте настройки вашего профиля CLI:
    $ yc config list
    

Примеры команд

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

  1. Посмотрите описание команд CLI для работы с облачными сетями:
    $ yc vpc network --help
    
  2. Создайте облачную сеть в каталоге, указанном в вашем профиле CLI:
    $ yc vpc network create \
        --name my-yc-network \
        --labels my-label=my-value \
        --description "my first network via yc"
    
  3. Создайте подсеть в облачной сети my-yc-network:
    $ yc vpc subnet create \
        --name my-yc-subnet-b \
        --zone ru-central1-b \
        --range 10.1.2.0/24 \
        --network-name my-yc-network \
        --description "my first subnet via yc"
    
  4. Получите список всех облачных сетей в каталоге, указанном в вашем профиле 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 |
    +----------------------+------------------+-------------------------+
    
    Получите тот же список c большим количеством деталей в формате 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
    
  5. Создайте виртуальную машину и подключите к подсети my-yc-subnet-b:
    1. Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на виртуальную машину.
    2. Создайте виртуальную машину:
      $ yc compute instance create \
          --name my-yc-instance \
          --network-interface subnet-name=my-yc-subnet-b,nat-ip-version=ipv4 \
          --ssh-key ~/.ssh/id_rsa.pub
      
      В параметре ssh-key передайте путь к открытому ключу для SSH-доступа. В ОС виртуальной машины будет автоматически создан пользователь yc-user с указанным открытым ключом.
  6. Подключитесь к виртуальной машине по SSH:
    1. Узнайте публичный IP-адрес виртуальной машины. Для этого посмотрите подробную информацию о вашей виртуальной машине:
      $ yc compute instance get my-yc-instance
      
      В выводе команды найдите адрес виртуальной машины в блоке one_to_one_nat:
      one_to_one_nat:
          address: 130.193.32.90
          ip_version: IPV4
      
    2. Подключитесь к виртуальной машине по SHH от имени пользователя yc-user, используя закрытый ключ:
      $ ssh yc-user@130.193.32.90
      
  7. Удалите виртуальную машину my-yc-instance, подсеть my-yc-subnet-b и сеть my-yc-network:
    $ yc compute instance delete my-yc-instance
    $ yc vpc subnet delete my-yc-subnet-b
    $ yc vpc network delete my-yc-network