f5devcentral.bigip_onboard
bigip-onboarding
Rol de Ansible para automatizar la configuración de incorporación en un BIG-IP. El rol configurará lo siguiente:
- Nombre de host del BIG-IP
- Texto del banner SSH del BIG-IP
- Servidores NTP
- Servidores DNS
- Provisión de módulos (ASM/AFM, etc.) en el BIG-IP
- Configuración de VLAN y Self-IPs
Requisitos
- Este rol requiere Ansible 2.6
- Paquetes a instalar
- pip install f5-sdk
- pip install bigsuds
- pip install netaddr
Variables del Rol
Las variables que se pueden pasar a este rol y una breve descripción de ellas son las siguientes.
username: admin //Nombre de usuario del BIG-IP
password: admin //Contraseña del BIG-IP
banner_text: "--Bienvenido a la Incorporación BIGIP--" //Texto del banner cuando el usuario accede por SSH al BIG-IP
hostname: 'ansibleManaged-bigip.local' //Nombre de host del BIG-IP
ntp_servers: //Servidores NTP configurados en el BIG-IP
- '172.27.1.1'
- '172.27.1.2'
dns_servers: //Servidores DNS configurados en el BIG-IP
- '8.8.8.8'
- '4.4.4.4'
dns_search_domains: //Dominios de búsqueda DNS configurados en el BIG-IP
- 'local'
- 'localhost'
device_license: 'AAAAA-BBBBB-CCCCC-DDDDD-EEEEEEE' //Clave de licencia del BIG-IP. Solo declare esta variable si desea que se ejecute la tarea de licencia.
ip_version: 4 //Versión del protocolo DNS
vlan_information: //VLAN configurada en el BIG-IP
- name: 'External' //Ejemplo: VLAN 'External' con etiqueta VLAN 10
tag: '10' // Etiqueta 10 asignada a la interfaz 1.1. Omitir el parámetro 'tag' creará una VLAN sin etiquetar
interface: '1.1'
- name: 'Internal' //Ejemplo: VLAN 'Internal' con etiqueta VLAN 11
tag: '11' // Etiqueta 11 asignada a la interfaz 1.2. Omitir el parámetro 'tag' creará una VLAN sin etiquetar
interface: '1.2'
selfip_information: //Self-IP configurado en el BIG-IP
- name: 'External-SelfIP'
address: '10.168.68.5'
netmask: '255.255.255.0'
vlan: 'External'
allow_service: 'default'
- name: 'Internal-SelfIP'
address: '192.168.68.5'
netmask: '255.255.255.0'
vlan: 'Internal'
allow_service: 'default'
module_provisioning: //Provisionamiento de módulos en el BIG-IP.
- name: 'asm' //Módulo ASM está habilitado en el BIG-IP
level: 'nominal'
Ejemplo de Playbook
- hosts: bigips
gather_facts: false
roles:
- { role: f5devcentral.bigip-onboarding }
Almacenamiento de credenciales
Debido a que este rol incluye el uso de credenciales para acceder a tu BIG-IP, te recomiendo que proporciones estas variables en un archivo cifrado por ansible-vault.
Esto puede ser proporcionado fuera de este rol.
Pasos:
- Almacena tu contraseña de vault en un archivo - '~/.vault_pass.txt'
- Ejecuta el playbook de la siguiente manera - ansible-vault encrypt <
> --vault-password-file ~/.vault_pass.txt
Para más información, consulta: http://docs.ansible.com/ansible/latest/playbooks_vault.html
Validación de certificados
Para validar los certificados SSL de la API REST del BIG-IP:
- establece validate_certs: true
- Genera un par de claves públicas y privadas
- Almacena la clave pública en el BIG-IP (https://support.f5.com/csp/article/K13454#bigipsshdaccept)
Licencias
Al licenciar un BIG-IP, este rol aceptará el EULA en tu nombre. Este módulo no te presentará el EULA, por lo que es tu responsabilidad leerlo aquí: https://support.f5.com/csp/article/K12902
Créditos
Performs a basic series of on-boarding steps to bootstrap a BIG-IP system to the point that it can accept configuration.
ansible-galaxy install f5devcentral.bigip_onboard