bastion_IP = 158.160.119.216 someinternalhost_IP = 10.128.0.20
Подключение к someinternalhost одной коммандой:
ssh -J appuser@158.160.119.216 appuser@10.128.0.20
Для подключения через алиас необходим конфигурационный файл в папке ~/.ssh/config
Host bastion HostName 158.160.119.216 User appuser
Host someinternalhost HostName 10.128.0.20 User appuser ProxyJump bastion
Host * IdentityFile ~/.ssh/appuser
Полезные ссылки :
https://habr.com/ru/companies/cloud4y/articles/530516/ https://wiki.gentoo.org/wiki/SSH_jump_host https://docs.pritunl.com/docs/connecting https://linuxize.com/post/using-the-ssh-config-file/
testapp_IP = 51.250.76.218 testapp_port = 9292 user yc_user
Создал набор параметризуемых параметров:
service_account_key_file folder_id source_image_family ssh_username platform_id image_family image_min_disk_size_gb disk_size_gb zone use_ipv4_nat
https://developer.hashicorp.com/packer/guides/hcl/variables https://developer.hashicorp.com/packer/integrations/hashicorp/yandex/latest/components/builder/yandex
- Выполнил настройку по слайдам дз с 1 по 46
- Создал input переменную для приватного ключа
- Определил input переменную для задания зоны
- Отформатировал файлы используя команду terraform fmt
- Создал файл
terraform.example.tfvars
, - Создал файл lb.tf
- Добавил планировщик и reddit-app-2
- Сделал через count
ДЗ Принципы организации инфраструктурного кода и работа над инфраструктурой в команде на примере Terraform
- Выполнил настройку по слайдам дз с 1 по 46
- Выполнил первое задание
-
Установил ансибл: sudo apt-add-repository ppa:ansible/ansible sudo apt update sudo apt install ansible
-
Настрол файл inventory. reddit-db ansible_host=<ext_ip> ansible_user=ubuntu ansible_private_key_file="/home/appuser/.ssh/ubuntu" Проверка: ansible reddit-db -i ./inventory -m ping Enter passphrase for key '/home/appuser/.ssh/ubuntu': reddit-db | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" }
-
проверил выполнение произвольных комманд: ansible dbserver -m command -a uptime
-
проверил работу с группами хостов: ansible app -m ping
-
выполнил создание inventory.yml ansible all -m ping -i inventory.yml
-
проверка компонентов на серверах: ansible app -m command -a 'ruby -v' ansible app -m command -a 'bundler -v' или обе ansible app -m command -a 'ruby -v; bundler -v' - но это не работает ) ansible app -m shell -a 'ruby -v; bundler -v' - вот так работает
-
Проверка сервера бд ansible db -m command -a 'systemctl status mongod' ansible db -m shell -a 'systemctl status mongod' ansible db -m systemd -a name=mongod или ansible db -m service -a name=mongod
-
Установка git ansible app -u ubuntu -b -K -m shell -a "sudo apt install -y git" Проверка: ansible app -m apt -a name=git
-
Клонирование репозитория в новую директорию: ansible app -m git -a 'repo=https://github.com/express42/reddit.git dest=/home/ubuntu/reddit'
-
Создал и выполнил ansible-playbook clone.yml
- name: Clone hosts: app tasks:
- name: Clone repo git: repo: https://github.com/express42/reddit.git dest: /home/appuser/reddit
-
Удалил и заново залил репозиторий: ansible app -m command -a 'rm -rf ~/reddit' ansible-playbook clone.yml Изменился параметр change потому что заново залился repo
-
Выполнил задания из PDF создал файлы: app.yml db.yml site.yml eddit_app_multiple_plays.yml reddit_app_one_play.yml
-
Создал packer/db.json packer/app.json