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