Создадим ВМ для сервисных нужд
До этого момента мы рассматривали варианты создания ВМ только для того чтобы понять как это делается. Сейчас же мы создадим ВМ, которая будет работать на постоянной основе и будет предназначена для сервисных нужд.
Здесь будет установлен определённый набор софта, предназначенный для дальнейшего использования. И именно на эту ВМ установим сервисы, которые будут помогать нам в дальнейшей работе.
Создадим скрипт для cloud-init: vi cloud-init.yaml
#cloud-config
version: v1
package_update: true
package_upgrade: true
write_files:
- encoding: b64
content: VGVzc3R0dC4uLg==
owner: root:root
path: /opt/test
permissions: '0644'
packages:
- git
- htop
- mc
- tree
- make
- iftop
- iotop
- dstat
- nginx
- gcc
- gdb
datasource:
Ec2:
strict_id: false
users:
- default
- name: cameda
gecos: Alexey Volkov
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
lock_passwd: false
passwd: $6$rounds=4096$WhW2cxlj/QX90$Jic1yPwlpiWV98oX8akplpOX4e7pgJlWHCfKAyPiMf7xP1AqI7iocN/gjWQNX9WuIUf14LVgxJluajfOInk.u.
ssh_authorized_keys:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDI98mJDBN9cnp6HOdBYTQILeAhUSDvDfoqA9iLmVPDyPLFRWs7tE4BjCAcFD6a3M50QIboCaohfa7h+PWksYibab7I3QHOR7y9pCW8FGonGRw2ACvt906qlaWHFj7jWOxuihFoiRROKqLCW5YE/Yc4XFIvW1gu3JQdvQ1wemWvujsI8EHE6PI1pEg7/41y6kn3IhNHIr8WRLe4dPyPGjwc4LpBCcaRSJiX4YjVXynSIHNk365UrL+nGv8ix7bW5FNCgGqSgfUTVCfMYLzQ/gYHPVQrcIvCeHjkwluH8Z3gXeN3OliejBjpLi+IWIzd9K6UADSUNU8oL+9941tDidp8APoe7RbB4h3bY6k8Bhy0yxohgQS2OWSYd1mjeEx8Ba5wzJKqfpUgmcPdrBJnBwLgLMFQyEfYG6vTPkYWAKEvkkJ6ZiA4tdoQvCb+B0xJV/ivHyLtoi3LFE59mbQFDUy8O51vX9JjBDLwzyTEeslWp7uOP66Ti5Q5ucNXbs5yXTU= cameda@cameda-osx"Зарезервируем статический адрес.
yc vpc address create \ --folder-id $FOLDER_ID \ --name cam-service \ --description "Service VM IP" \ --external-ipv4 zone=ru-central1-a \ --labels work=cam-service \ --async
export IP=$(yc vpc address get cam-service --format=json | jq -r ".external_ipv4_address" | jq -r ".address")
Создадим ВМ на базе Ubuntu 20.04:
export SG=$(yc vpc sg get cam-default --format json | jq -r '.id') export ZONE_ID=ru-central1-a export FOLDER_ID=$(yc config get folder-id) export SA=$(yc iam service-account get cam-instance-sa --format json | jq -r '.id') export SUBNET_ID=$(yc vpc subnet get subnet-a --format json | jq -r '.id') yc compute instance create \ --folder-id $FOLDER_ID \ --name cam-service \ --description "Service machine" \ --hostname cam-service \ --zone $ZONE_ID \ --platform standard-v3 \ --create-boot-disk image-family=ubuntu-2004-lts,size=65,type=network-ssd \ --image-folder-id standard-images \ --memory 16 \ --cores 4 \ --core-fraction 100 \ --network-settings type=standard \ --network-interface subnet-id=$SUBNET_ID,nat-ip-version=ipv4,nat-address=$IP,security-group-ids=$SG \ --metadata serial-port-enable=1 \ --metadata-from-file='user-data=cloud-init.yaml' \ --service-account-id $SA \ --async
Полезные ссылки.
SA у нас уже готов: https://teletype.in/@cameda/w93lPMPQWS4
Выберем зону доступности А: https://teletype.in/@cameda/S34zdiTcbUM
Сеть и подсети создали ранее: https://teletype.in/@cameda/ZbTkF70KWK9
SG будем использовать со стандартными открытыми портами: https://teletype.in/@cameda/WIoqKmpMNLM