Найти в Дзене
Openstack Cli# Обращаемся к источнику данных, чтобы узнать ID существующего виртуального маршрутизатора data "openstack_networking_router_v2" "router" { name = "cloud" } data "openstack_networking_router_v2" "router1" { name = "cloud" } data "openstack_networking_router_v2" "router2" { name = "cloud" } data "openstack_networking_router_v2" "router3" { name = "cloud" } data "openstack_networking_router_v2" "router4" { name = "cloud" } # Создаём сеть с именем "INTERNET" в соответствие с топологией resource "openstack_networking_network_v2" "network" { name = "INTERNET" admin_state_up = "true" } resource "openstack_networking_network_v2" "network1" { name = "Backup-Net" admin_state_up = "true" } resource "openstack_networking_network_v2" "network2" { name = "Management-Net" admin_state_up = "true" } resource "openstack_networking_network_v2" "network3" { name = "Internal-Net" admin_state_up = "true" } resource "openstack_networking_network_v2" "network4" { name = "External-Net" admin_state_up = "true" } # Создаём подсеть с именем "INTERNET" в ранее созданной сети с именем "INTERNET" resource "openstack_networking_subnet_v2" "subnet" { name = "INTERNET" network_id = openstack_networking_network_v2.network.id cidr = "192.168.200.0/24" ip_version = 4 gateway_ip = "192.168.200.1" dns_nameservers = [ "77.88.8.8" ] enable_dhcp = false } resource "openstack_networking_subnet_v2" "subnet1" { name = "Backup-Net" network_id = openstack_networking_network_v2.network1.id cidr = "192.168.10.128/27" ip_version = 4 gateway_ip = "192.168.10.158" dns_nameservers = [ "77.88.8.8" ] enable_dhcp = false } resource "openstack_networking_subnet_v2" "subnet2" { name = "Management-Net" network_id = openstack_networking_network_v2.network2.id cidr = "192.168.10.64/26" ip_version = 4 gateway_ip = "192.168.10.126" dns_nameservers = [ "77.88.8.8" ] enable_dhcp = false } resource "openstack_networking_subnet_v2" "subnet3" { name = "Internal-Net" network_id = openstack_networking_network_v2.network3.id cidr = "192.168.10.0/26" ip_version = 4 gateway_ip = "192.168.10.62" dns_nameservers = [ "77.88.8.8" ] enable_dhcp = false } # Создаём подсеть с именем "INTERNET" в ранее созданной сети с именем "INTERNET" resource "openstack_networking_subnet_v2" "subnet4" { name = "External-Net" network_id = openstack_networking_network_v2.network4.id cidr = "172.16.1.0/29" ip_version = 4 gateway_ip = "172.16.1.6" dns_nameservers = [ "77.88.8.8" ] enable_dhcp = false } # Добавляем в существующий маршрутизатор созданную подсеть с именем "INTERNET", чтобы в дальнейшем ВМ подключённые к данной подсети имели доступ в Интернет resource "openstack_networking_router_interface_v2" "router_interface" { router_id = data.openstack_networking_router_v2.router.id subnet_id = openstack_networking_subnet_v2.subnet.id } resource "openstack_networking_router_interface_v2" "router_interface1" { router_id = data.openstack_networking_router_v2.router1.id subnet_id = openstack_networking_subnet_v2.subnet1.id } resource "openstack_networking_router_interface_v2" "router_interface2" { router_id = data.openstack_networking_router_v2.router2.id subnet_id = openstack_networking_subnet_v2.subnet2.id } resource "openstack_networking_router_interface_v2" "router_interface3" { router_id = data.openstack_networking_router_v2.router3.id subnet_id = openstack_networking_subnet_v2.subnet3.id } resource "openstack_networking_router_interface_v2" "router_interface4" { router_id = data.openstack_networking_router_v2.router4.id subnet_id = openstack_networking_subnet_v2.subnet4.id } Скрипт автоматизации: deploy-cloudinfra.sh a) Основные параметры Рабочая директория: /home/altlinux/bin Конфигурационный файл: /home/altlinux/bin/cloudinit.conf b) Пример скрипта (deploy-cloudinfra.sh) bash #!/bin/bash # Настройки подключения к облачному провайдеру source /home/altlinux/bin/cloudinit.conf
7 месяцев назад
38 Развертывание базового стека ELK
vim ~/elk.yml version: '3.7' services: elasticsearch: image: elasticsearch:7.10.1 container_name: elasticsearch environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms1g -Xmx1g" ulimits: memlock: soft: -1 hard: -1 ports: - "9200:9200" volumes: - es_data:/usr/share/elasticsearch/data logstash: image: logstash:7.10.1 container_name: logstash depends_on: - elasticsearch volumes: - ...
9 месяцев назад
37 Развертывание приложений в Docker (азвертывание WordPress с использованием Docker Compose)
vim ~/wordpress.yml version: '3.1' services: wordpress: image: wordpress:latest container_name: wordpress networks: - wordpress-network ports: - "80:80" environment: WORDPRESS_DB_HOST: mysql:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress depends_on: - mysql volumes: - wordpress_data:/var/www/html mysql: image: mysql:5.7 container_name: mysql networks: ...
9 месяцев назад
36 Развертывание приложений в Docker (Развертывание Python-скрипта в Docker)
vim ~/py.py import os def main(): working_directory = os.path.expanduser("/root") file_path = os.path.join(working_directory, "input.txt") if os.path.exists(file_path): with open(file_path, "r", encoding="utf-8") as file: content = file.read() print(content) else: print("Ошибка: файл input.txt не найден в директории /root.") if...
9 месяцев назад
35 Cоздание и настройка скрипта на машине ControlVM
terraform destroy cloudinit.sh #!/bin/bash cd /home/altlinux/bin source cloud.conf terraform init terraform apply -auto-approve terraform output > /home/altlinux/white.ip ansible-playbook -i ansible/inventory ansible/wireguard_playbook.yml ansible-playbook -i ansible/inventory ansible/ssh_playbook.yml echo "Проверяем доступность созданных инстансов, для каждого инстанса статус должен быть ACTIVE:" echo "" openstack --insecure server list echo "Проверяем доступность созданного балансировщика...
9 месяцев назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала