f5devcentral.bigip_onboard
bigip-onboarding
Rôle Ansible pour automatiser la configuration d'onboarding sur un BIG-IP. Le rôle configurera les éléments suivants :
- Nom d'hôte BIG-IP
- Texte de la bannière SSH BIG-IP
- Serveurs NTP
- Serveurs DNS
- Provisionner les modules (ASM/AFM, etc.) sur le BIG-IP
- Configurer les VLAN et les Self-IPs
Exigences
- Ce rôle nécessite Ansible 2.6
- Paquets à installer
- pip install f5-sdk
- pip install bigsuds
- pip install netaddr
Variables de rôle
Les variables pouvant être transmises à ce rôle et une brève description de chacune sont les suivantes.
username: admin // Nom d'utilisateur BIG-IP
password: admin // Mot de passe BIG-IP
banner_text: "--Bienvenue dans l'onboarding BIGIP--" // Bannière lorsque l'utilisateur se connecte au BIG-IP via SSH
hostname: 'ansibleManaged-bigip.local' // Nom d'hôte BIG-IP
ntp_servers: // Serveurs NTP configurés sur BIG-IP
- '172.27.1.1'
- '172.27.1.2'
dns_servers: // Serveurs DNS configurés sur BIG-IP
- '8.8.8.8'
- '4.4.4.4'
dns_search_domains: // Domaines de recherche DNS configurés sur BIG-IP
- 'local'
- 'localhost'
device_license: 'AAAAA-BBBBB-CCCCC-DDDDD-EEEEEEE' // Clé de licence BIG-IP. Ne déclarez cette variable que si vous souhaitez que la tâche de licence s'exécute.
ip_version: 4 // Version du protocole DNS
vlan_information: // VLAN configuré sur BIG-IP
- name: 'External' // Exemple : VLAN 'External' avec le tag VLAN 10
tag: '10' // Tag 10 appliqué à l'interface 1.1. Si le paramètre 'tag' est omis, un VLAN non tagué sera créé.
interface: '1.1'
- name: 'Internal' // Exemple : VLAN 'Internal' avec le tag VLAN 11
tag: '11' // Tag appliqué à l'interface 1.2. Si le paramètre 'tag' est omis, un VLAN non tagué sera créé.
interface: '1.2'
selfip_information: // Self-IP configuré sur le 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: // Provisionnement de module sur BIG-IP.
- name: 'asm' // Le module ASM est activé sur le BIG-IP
level: 'nominal'
Exemple de Playbook
- hosts: bigips
gather_facts: false
roles:
- { role: f5devcentral.bigip-onboarding }
Stockage des identifiants
Étant donné que ce rôle utilise des identifiants pour accéder à votre BIG-IP, je vous recommande de fournir ces variables dans un fichier crypté avec Ansible Vault.
Cela peut être fourni en dehors de ce rôle.
Étapes :
- Stockez votre mot de passe de coffre dans un fichier - '~/.vault_pass.txt'
- Exécutez le playbook comme suit - ansible-vault encrypt <
> --vault-password-file ~/.vault_pass.txt
Pour plus d'informations, consultez : http://docs.ansible.com/ansible/latest/playbooks_vault.html
Validation des certificats
Pour valider les certificats SSL de l'API REST BIG-IP :
- définissez validate_certs : true
- Générez une paire de clés publiques-privées
- Stockez la clé publique sur le BIG-IP (https://support.f5.com/csp/article/K13454#bigipsshdaccept)
Licences
Lors de la licence d'un BIG-IP, ce rôle acceptera le contrat de licence en votre nom. Ce module ne vous présentera pas le contrat, il est donc important que vous le lisiez ici : https://support.f5.com/csp/article/K12902
Crédits
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