Создание ВМ — одна из самых сложных команд CLI, потому что в ней очень много параметров. Давайте потренируемся работать с ней. Но сначала подготовим окружение.Мы будем работать в каталоге по умолчанию. Создадим в нём сеть, в ней — три подсети, а затем по ВМ в каждой подсети.
- Создайте сеть
my-network
в Virtual Private Cloud. Эта команда относится к группе vpc.
Проверьте синтаксис команды
yc vpc network create --name my-network
Выполнение операции займёт какое-то время. В итоге сеть появится в каталоге, который вы выбрали в начале урока.
- Теперь создадим три подсети в разных зонах доступности. Чтобы проще было выполнять задания дальше, назовите их
my-subnet-1
,my-subnet-2
иmy-subnet-3
. А пространства IP-адресов для подсетей укажите, соответственно, как 192.168.1.0/24, 192.168.2.0/24 и 192.168.3.0/24.
При создании подсетей не забудьте указать, что вы создаете их в новой сети, созданной на предыдущем шаге. Иначе они появятся в сети по умолчанию, которая есть в каждом каталоге.Вот так выглядит команда создания подсети в зоне доступности ru-central1-a
:
yc vpc subnet create --name my-subnet-1 \
--zone ru-central1-a \
--range 192.168.1.0/24 \
--network-name my-network
Создайте две другие подсети сами.Проверьте синтаксис команд
yc vpc subnet create --name my-subnet-2 \
--zone ru-central1-b \
--range 192.168.2.0/24 \
--network-name my-network
yc vpc subnet create --name my-subnet-3 \
--zone ru-central1-c \
--range 192.168.3.0/24 \
--network-name my-network
- Осталось создать три ВМ в нужных зонах доступности и привязать к ним подсети.
Пусть машины работают под управлением ОС Ubuntu 20.04 LTS, имеют диски объёмом 30 Гб, 4 Гб оперативной памяти и два виртуальных процессорных ядра.ВМ могут создаваться долго, поэтому запускайте команды в асинхронном режиме.Пример команды для первой ВМ:
yc compute instance create --name my-instance-1 \
--hostname my-instance-1 \
--zone ru-central1-a \
--create-boot-disk image-family=ubuntu-2004-lts,size=30,type=network-nvme \
--image-folder-id standard-images \
--memory 4 --cores 2 --core-fraction 100 \
--network-interface subnet-name=my-subnet-1,nat-ip-version=ipv4 \
--async
Посмотрите внимательно на все параметры. Поймите, какой из них за что отвечает.Создайте две другие машины сами.Проверьте синтаксис команд
yc compute instance create --name my-instance-2 \
--hostname my-instance-2 \
--zone ru-central1-b \
--create-boot-disk image-family=ubuntu-2004-lts,size=30,type=network-nvme \
--image-folder-id standard-images \
--memory 4 --cores 2 --core-fraction 100 \
--network-interface subnet-name=my-subnet-2,nat-ip-version=ipv4 \
--async
yc compute instance create --name my-instance-3 \
--hostname my-instance-3 \
--zone ru-central1-c \
--create-boot-disk image-family=ubuntu-2004-lts,size=30,type=network-nvme \
--image-folder-id standard-images \
--memory 4 --cores 2 --core-fraction 100 \
--network-interface subnet-name=my-subnet-3,nat-ip-version=ipv4 \
--async
После выполнения каждой команды благодаря флагу --async
вы получите идентификатор операции и ее описание в виде:
id: c9q9v4bsn1hs9api4b13
description: Create compute instance
folder_id: b1go1t87o152ggv814h5
created_at: "2021-03-01T03:23:00.079888Z"
done: false
- Проследите за статусом одной из операций, используя ее идентификатор.
Проверьте синтаксис команды
yc operation get c9q9v4bsn1hs9api4b13
- Дождитесь, пока операция завершится. Используйте для этого команду
wait
.
Проверьте синтаксис команды
yc operation wait c9q9v4bsn1hs9api4b13
- Убедитесь, что ВМ созданы. Для этого выведите их список.
yc compute instance list
По умолчанию список выдается в виде таблицы:
+----------------------+---------------------------+---------------+---------+----------------+-------------+
| ID | NAME | ZONE ID | STATUS | EXTERNAL IP | INTERNAL IP |
+----------------------+---------------------------+---------------+---------+----------------+-------------+
| fhm0qntkoj32qr6sqipa | my-instance-1 | ru-central1-a | RUNNING | | 10.130.0.14 |
| fhm2p20bifmg3k3voda7 | my-instance-2 | ru-central1-b | RUNNING | | 10.130.0.24 |
| fhmv1dkhd5o494d97cch | my-instance-3 | ru-central1-c | RUNNING | | 10.130.0.34 |
+----------------------+---------------------------+---------------+---------+----------------+-------------+
Список можно вывести в формате YAML или JSON (эта возможность пригодится вам на следующих уроках):
yc compute instance list --format json
Список в формате JSON содержит больше информации, чем таблица.Посмотрите результат
[
{
"id": "ef3rutmaas72bsujcja7",
"folder_id": "b1gfdbij3ijgopgqv9m9",
"created_at": "2021-06-21T12:41:10Z",
"name": "my-instance-3",
"zone_id": "ru-central1-c",
"platform_id": "standard-v2",
"resources": {
"memory": "4294967296",
"cores": "2",
"core_fraction": "100"
},
"status": "RUNNING",
"boot_disk": {
"mode": "READ_WRITE",
"device_name": "ef3v2lor1u4pfn3ce1al",
"auto_delete": true,
"disk_id": "ef3v2lor1u4pfn3ce1al"
},
"network_interfaces": [
{
"index": "0",
"mac_address": "d0:0d:1b:f7:6c:a5",
"subnet_id": "b0c4h992tbuodl5hudpu",
"primary_v4_address": {
"address": "10.128.0.32",
"one_to_one_nat": {
"address": "178.154.212.5",
"ip_version": "IPV4"
}
}
}
],
"fqdn": "my-instance-3.ru-central1.internal",
"scheduling_policy": {},
"network_settings": {
"type": "STANDARD"
},
"placement_policy": {}
},
{
"id": "epd928ffks7m8ssc4i3k",
"folder_id": "b1gfdbij3ijgopgqv9m9",
"created_at": "2021-06-21T12:40:35Z",
"name": "my-instance-2",
"zone_id": "ru-central1-b",
"platform_id": "standard-v2",
"resources": {
"memory": "4294967296",
"cores": "2",
"core_fraction": "100"
},
"status": "RUNNING",
"boot_disk": {
"mode": "READ_WRITE",
"device_name": "epddf7t0ljn9i1jp2pbs",
"auto_delete": true,
"disk_id": "epddf7t0ljn9i1jp2pbs"
},
"network_interfaces": [
{
"index": "0",
"mac_address": "d0:0d:91:21:ef:a7",
"subnet_id": "e2l1fgq2fbhnp6b929t7",
"primary_v4_address": {
"address": "10.129.0.9",
"one_to_one_nat": {
"address": "84.201.176.134",
"ip_version": "IPV4"
}
}
}
],
"fqdn": "my-instance-2.ru-central1.internal",
"scheduling_policy": {},
"network_settings": {
"type": "STANDARD"
},
"placement_policy": {}
},
{
"id": "fhm1op9id0dc6bubfags",
"folder_id": "b1gfdbij3ijgopgqv9m9",
"created_at": "2021-06-21T12:39:43Z",
"name": "my-instance-1",
"zone_id": "ru-central1-a",
"platform_id": "standard-v2",
"resources": {
"memory": "4294967296",
"cores": "2",
"core_fraction": "100"
},
"status": "RUNNING",
"boot_disk": {
"mode": "READ_WRITE",
"device_name": "fhmms7r7ia4uteikv1to",
"auto_delete": true,
"disk_id": "fhmms7r7ia4uteikv1to"
},
"network_interfaces": [
{
"index": "0",
"mac_address": "d0:0d:1c:65:32:68",
"subnet_id": "e9bcvlanhbum9ggdvkh2",
"primary_v4_address": {
"address": "10.130.0.6",
"one_to_one_nat": {
"address": "178.154.225.167",
"ip_version": "IPV4"
}
}
}
],
"fqdn": "my-instance-1.ru-central1.internal",
"scheduling_policy": {},
"network_settings": {
"type": "STANDARD"
},
"placement_policy": {}
}
]
- Чтобы не тратить ресурсы облака понапрасну, в веб-консоли удалите три созданные ВМ: на следующих практических работах они вам не понадобятся.
Свежие комментарии