Создадим ВМ для сервисных нужд
До этого момента мы рассматривали варианты создания ВМ только для того чтобы понять как это делается. Сейчас же мы создадим ВМ, которая будет работать на постоянной основе и будет предназначена для сервисных нужд.
Здесь будет установлен определённый набор софта, предназначенный для дальнейшего использования. И именно на эту ВМ установим сервисы, которые будут помогать нам в дальнейшей работе.
Создадим скрипт для 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