Difference between revisions of "Lab/Ansible"
Line 16: | Line 16: | ||
=== Test av oppsett === |
=== Test av oppsett === |
||
− | Vi kan nå prøve å logge inn på VyOS-routeren vår: |
+ | Vi kan nå prøve å logge inn på VyOS-routeren vår (disse stegene er tatt rett ut av [https://docs.ansible.com/ansible/latest/network/getting_started/first_playbook.html#establish-a-manual-connection-to-a-managed-node Ansible-håndboken]) |
⚫ | |||
− | |||
+ | show config |
||
⚫ | |||
+ | exit |
||
+ | Og så prøve å se om ansible kan lese data fra vyos-routeren: |
||
+ | ansible all -i 10.0.10.1, -c ansible.netcommon.network_cli -u vyos -k -m vyos.vyos.vyos_facts -e ansible_network_os=vyos.vyos.vyos |
||
+ | Etter å ha oppgitt passordet skal dette ende opp med en JSON-dump av litt data, ca. sånn: |
||
+ | 10.0.10.1 | SUCCESS => { |
||
+ | "ansible_facts": { |
||
+ | "ansible_net_api": "cliconf", |
||
+ | "ansible_net_gather_network_resources": [], |
||
+ | "ansible_net_gather_subset": [ |
||
+ | "neighbors", |
||
+ | "default" |
||
+ | ], |
||
+ | "ansible_net_hostname": "vyos", |
||
+ | "ansible_net_neighbors": {}, |
||
+ | "ansible_net_python_version": "3.9.2", |
||
+ | "ansible_net_serialnum": null, |
||
+ | "ansible_net_system": "vyos", |
||
+ | "ansible_net_version": "VyOS 1.4-rolling-202206090217", |
||
+ | "ansible_network_resources": {} |
||
+ | }, |
||
+ | "changed": false |
||
+ | } |
Revision as of 12:00, 13 June 2022
Ansible
Ansible benyttes for å administrere maskinene i laben. Når man jobber med ansible må man ha et sted hvor konfigurasjon er organisert og pushes ut til maskinene. For å gjøre ting enkelt blir dette gjort fra den samme maskinen som kjører Proxmox, med en egen bruker (einar).
Installasjon og oppsett
Som brukeren einar kjøres følgende kommando:
pip3 install ansible
Og argcomplete må installeres og aktiveres (det er nyttig for å få auto-complete på ansible-kommandoer):
sudo apt install python3-argcomplete sudo mkdir /etc/bash_completion.d sudo activate-global-python-argcomplete3
Dette oppretter nye kataloger som ikke eksisterte tidligere, så bash må få beskjed om at det er nye steder å finne programmer (oppdatere $PATH):
. .profile
Videre trengs det SSH-nøkler for login og management (trykker enter på alle valgene for å få standard-oppsett uten passord):
ssh-keygen ssh-keygen -t ed25519
Test av oppsett
Vi kan nå prøve å logge inn på VyOS-routeren vår (disse stegene er tatt rett ut av Ansible-håndboken)
ssh vyos@10.0.10.1 show config exit
Og så prøve å se om ansible kan lese data fra vyos-routeren:
ansible all -i 10.0.10.1, -c ansible.netcommon.network_cli -u vyos -k -m vyos.vyos.vyos_facts -e ansible_network_os=vyos.vyos.vyos
Etter å ha oppgitt passordet skal dette ende opp med en JSON-dump av litt data, ca. sånn:
10.0.10.1 | SUCCESS => { "ansible_facts": { "ansible_net_api": "cliconf", "ansible_net_gather_network_resources": [], "ansible_net_gather_subset": [ "neighbors", "default" ], "ansible_net_hostname": "vyos", "ansible_net_neighbors": {}, "ansible_net_python_version": "3.9.2", "ansible_net_serialnum": null, "ansible_net_system": "vyos", "ansible_net_version": "VyOS 1.4-rolling-202206090217", "ansible_network_resources": {} }, "changed": false }