bastion
Роль Bastion для OpenTelekomCloud
Простая роль для создания bastion-сервера в запрашиваемой VPC.
Требования
Необходимо, чтобы на хосте выполнения была установлена библиотека openstacksdk и была обеспечена связь с OTC.
Переменные роли
Доступные переменные перечислены ниже с указанными значениями по умолчанию (см. defaults/main.yml
):
prefix: test- # должно быть переопределено
domain_name: example.com # используется для создания server_fqdn и метаданных, должно быть переопределено
server_name: bastion
server_subnet: "default-subnet" # должно соответствовать значению по умолчанию из network_infra
server_net: "{{ (prefix + 'otc-net') }}" # должно соответствовать значению по умолчанию из network_infra
security_group: "{{ (prefix + 'bastion_sg') }}" # использует существующую группу безопасности, если имена совпадают, в противном случае будет создана новая группа безопасности
server_fqdn: "{{ (server_name + '.' + domain_name) }}"
server_image: "Standard_Fedora_29_latest"
server_flavor: "s2.large.1"
server_ssh_user: "linux"
server_volume_size: 10
assign_floating_ip: True
fixed_floating_ip: ""
# ssh_key_name: "{{ (infra_prefix + 'KeyPair')}}"
server_keypair_name: "{{ (prefix + 'common-KeyPair') }}" # используйте существующую пару ключей или создайте новую пару ключей из файла, учитывайте переменную ansible_ssh_private_key_file
# Путь к приватному ключу будет добавлен в инвентарь во время выполнения
ansible_ssh_private_key_file: "{{ ('~/.ssh/' + server_keypair_name + '.pem') }}"
# Опциональная версия Python для использования Ansible на bastion для подключения Ansible (влияет на инвентарь во время выполнения)
bastion_python: "/usr/bin/env python3"
# Состояние (`present` для создания, `absent` для удаления)
state: present
Также можно указать зону доступности, предоставив переменную:
availability_zone: "eu-de-03" # пропущено, если не определено
Зависимости
Нет.
Пример плейбука
Включение примера того, как использовать вашу роль (например, с переданными параметрами) всегда приятно для пользователей:
- hosts: localhost
roles:
- opentelekomcloud.bastion
Очистка ресурсов так же проста, как и их создание. Для этого следует передать переменную 'state': 'false':
- hosts: localhost
roles:
- { role: opentelekomcloud.bastion, state: 'absent'}
Более продвинутый пример:
- hosts: localhost
vars:
security_group: my_bastion_sg
server_net: my_network_name #список сетей openstack
server_keypair_name: my_existing_public_key
server_name: 'my_bastion_host'
domain_name: 'my-domain.com'
roles:
- { role: opentelekomcloud.bastion, state: 'present'}
Лицензия
Apache
Информация об авторе
OpenTelekomCloud
О проекте
Manage bastion server in the VPC to provide access to servers without public IPs
Установить
ansible-galaxy install OpenTelekomCloud/ansible-role-otc-bastion
Лицензия
apache-2.0
Загрузки
2641
Владелец
Some projects related to OpenTelekomCloud. Blueprints and whitepapers can be found at github.com/opentelekomcloud-blueprints