Emix Infra repository
get IP bastion
yc compute instance get bastion --format json | -r jq '.network_interfaces[] .primary_v4_address .one_to_one_nat .address'
ssh -A -t 62.84.114.0 ssh [email protected]
Host internal
User emil
ProxyCommand ssh [email protected] nc 10.128.0.32 22
testapp_IP = 84.252.133.83 testapp_port = 9292
- Yandex CLI
- Yandec Cloud Account
yc compute instance create \
--name reddit-app \
--hostname reddit-app \
--memory=4 \
--create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1604-lts,size=10GB \
--network-interface subnet-name=default-ru-central1-c,nat-ip-version=ipv4 \
--metadata serial-port-enable=1 \
--ssh-key ~/.ssh/id_rsa.pub
./install_ruby.sh
./install_ruby.sh
./deploy.sh
* Version 3.10.0 (ruby 2.3.1-p112), codename: Russell's Teapot
* Min threads: 0, max threads: 16
* Environment: development
* Daemonizing...
http://84.252.133.83:9292/
Запуск создания образа для Yandex.Cloud без установки Packer
cd packer
docker run --env YC_TOKEN=$YC_TOKEN -it --rm \
-v `pwd`:/workspace -w /workspace \
hashicorp/packer:latest \
build -var-file=variables.json immutable.json
В папке /terraform
Запуск terraform apply
в результате создаст
Сеть, подсеть, ВМ, целевую группу балансировки, балансировщик и сами ВМ и установит приложение.
- files - файлы деплоя для созданных ВМ
- outputs.tf - выходные переменные, напрмиер IP озданных ВМ
- terraform.tfvars - значение переменных
- lb.tf - файл описывающий балансировщик нагрузки
- terraform.tfvars.example - значение переменных
- main.tf - главный файл описывающий ресурсы , которые будут созданы
- variables.tf - Объявление переменных такие как YC_TOKEN, instance_count - количество ВМ и др.