Skip to content

Latest commit

 

History

History
123 lines (105 loc) · 7.15 KB

File metadata and controls

123 lines (105 loc) · 7.15 KB

Авторизация в облачной консоли и настройка yc CLI

Настройка yc

Для начала авторизуемся в аккаунте выданном на время практикума

  • Откроем в новой вкладке (Ctrl+Клик или Cmd + Клик) консоль облака и, вверху справа, временно выйдем из текущих аккаунтов, чтобы они нам не помешали.
  • Откроем в новой вкладке ссылку где вам будет предложено авторизоваться в Яндекс ID
  • Введём имя и пароль пользователя, который был выдан для практикума
  • Произойдёт перенаправление в консоль Yandex Cloud
  • Среди доступных облаков должно быть только cloud-practicum-k8s
    • Если это не так, кликните на аватаку справа вверху, и выберете аккаунт выданный для практикума. Если виден только ваш текущий аккаунт, то нажмите на значёк Выйти справа от имени

Получим и сохраним в env переменную токен для работы с Yandex Cloud.

Кликнем на блок кода, ниже, чтобы его скопировать. Вставим в терминал, но не будем нажимать enter:

# После символа '=' нужно будет вставить полученный токен
OAUTH_TOKEN=
  • Откроем в в новой вкладке ссылку для получения токена для работы с Yandex Cloud
  • Убедитесь, что в правом верхнем углу имя вашего аккаунта на время практикума
    • Если нет, выберите аккаунт на время практикума
  • Скопируем токен
  • Вернёмся в терминал, вставим, чтобы получилось OAUTH_TOKEN=AQAE....Tuw и нажмём enter

Несколько приёмов использования командной строки которые будут встречаться далее:

  • Получение значения переменной с добавлением :? к имени, вроде ${VAR_NAME:?}, требует чтобы переменная была выставлена ранее
  • Вызов yc CLI с флагом --format json выводит объект в формате JSON
  • | jq .id -r возвращает JSON значение поля id

Работать с настройками yc CLI будем используя команды не интерактивной настройки

  • yc config. Создадим профиль yc CLI в котором будем работать и выставим туда токен
yc config profile create workshop
yc config set token ${OAUTH_TOKEN:?}
echo "Token set to '$(yc config get token)'"

Проверим, что токен скопирован корректно, и появился доступ к Облаку в котором будем работать:

yc resource cloud list

Выставим ID Облака в конфиг yc CLI

CLOUD_NAME=cloud-practicum-k8s
CLOUD_ID=$(yc resource cloud get --name ${CLOUD_NAME:?} --format json | jq .id -r)
yc config set cloud-id ${CLOUD_ID:?}
echo "В конфиг yc CLI добавлен ID Облака: '$(yc config get cloud-id)'"

У вашего аккаунта будет к одному каталогу вида y-scale-participant-<номер>:

echo "Ваш каталог участника:"
FOLDER=$(yc resource folder list --format json | jq '.[]' -c | grep y-scale-participant)
jq <<< "$FOLDER" '"Имя: " + .name + " " + "ID: " + .id' -r

Сохраним его ID в конфиг yc CLI:

yc config set folder-id $(jq -r <<< "$FOLDER" .id)
echo "В конфиг yc CLI добавлен ID каталога: '$(yc config get folder-id)'"

Подготовка виртуальной машины

Если вы подготовили окружение на своём компьютере, пропустите этот шаг, и переходите к следующему этапу

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

  1. Убедитесь, что у вас есть SSH-ключ или сгенерируйте новый (подробная инструкция).
ssh-keygen -t rsa -b 2048 # генерация нового ssh-ключа
>>>>>>> add vm instruction
cat ~/.ssh/id_rsa.pub
  1. Создайте виртуальную машину с помощью yc
IMAGE_ID=$(yc compute image get yandex-scale-2021-kubernetes-workshop --folder-name public-image --format json | jq -r .id)
yc compute instance create --name workshop-vm \
 --create-boot-disk image-id="${IMAGE_ID:?}" \
 --public-ip \
 --ssh-key ~/.ssh/id_rsa.pub --zone ru-central1-c
  1. Скопируйте публичный IP адрес
IP_ADDRESS=$(yc compute instance get workshop-vm --format json | jq -r '.network_interfaces[0].primary_v4_address.one_to_one_nat.address')
  1. Скопируйте свой конфиг yc на ВМ:
ssh yc-user@${IP_ADDRESS:?} mkdir -p /home/yc-user/.config/yandex-cloud
scp ~/.config/yandex-cloud/config.yaml yc-user@${IP_ADDRESS:?}:/home/yc-user/.config/yandex-cloud/config.yaml
  1. Войдите на созданную ВМ по SSH
ssh yc-user@${IP_ADDRESS:?}
  1. Проверьте, что на ВМ работает yc
yc compute instance list
  1. Скачайте репозиторий и перейдите в него;
git clone https://github.com/skipor/yandex-scale-2021-kubernetes-workshop.git
cd ./yandex-scale-2021-kubernetes-workshop

. Дальнейшие команды выполняйте на созданной ВМ.