wordpress hosting - vpn - cloud - statistiekservice - email

Red Hat techday, hands-on lab Ansible tower

Ansible

Na de recente release van Red Hat 8 en de bijbehorende TechTalk waarover ik al eerder schreef, was het gisteren een volle dag Red Hat Techday op een schitterende locatie in Maarssen.

De keynotes waren van Eric Schabell, een amerikaan die open source als de sleutel tot je succes verklaarde door van “you” via “sharing” naar “grow” te gaan. Geen technisch verhaal maar meer een inspirator. Tip: Hij is o.a. op twitter te volgen via @ericschabell

De tweede spreker is ook een bekende Maxim Burgerhout en kwam met een voor mij deels bekend verhaal, hij had delen geleend van zijn spreekbeurt over wat-is-er-nieuw in RedHat 8.

Hands-on lab

Hoe interessant de sprekers ook waren, als techneut was ik gegaan voor ’t hands-on lab over Ansible Tower. Ansible is een automation tool waarmee je niet, net zoals met bijv. Puppet, configuraties kan distribueren maar nog wat meer. De ‘standaard’ versie is niet voorzien van een GUI en dus kwam er Ansible Tower. In het (te) korte hands-on lab kreeg je de mogelijkheid om met Anible Tower (web-gui) te spelen

In n van de oefeningen kreeg je de opdracht om een web-app te deployen in Azure. Als je ’t bij Linux als OS hield had je 4 vm’s nodig: een loadbalancer, twee webservers en een database server. Ansible Tower kent een grafische flowchart waarin je heerlijk componenten (templates) bij elkaar kan klikken en afhankelijk (of onafhankelijk indien je dat wil) kan deployen. Alles hangt aan elkaar dus je moet wel opletten dat bijv. de template die de database wil uitrollen op de databaseserver niet alleen gekoppeld is aan de databaseserver (hoe logisch dat dat ook klinkt, het gebeurd je de eerste keer) en dat de rechten (permissions) goed geregeld zijn.

Ik ben de volle twee uur bezig geweest om een werkende webapp op te leveren, iets wat als je er meer ervaren mee hebt in een kwartiertje gedaan hebt. Dus ja, ik heb er aardig wat van opgestoken.

Het volgende event? Het Red Hat forum op 9 october.

 

Redhat praat over Ansible

Ansible

AnsibleWat is Ansible

Ansible is een automation tool, een tool dus waarmee je je beheer van je (cloud)servers maar ook fysieke servers op zowel Windows als Linux kan beheren en bijv. applicaties kan installeren. Het werkt zonder agent, dat doet bijv. een andere automation tool zoals Puppet wel. Ansible werkt in principe door het opzetten van een SSH verbinding, voert uit wat het uit moet voeren en verbreekt de verbinding weer. Ansible is OpenSource. 

Toepassingen

Ansible kent vele toepassingen, zo kan je er dus bestaande servers in een eigen datacenter en/of in de cloud mee beheren maar ook kan Ansible gebruikt worden om netwerkapparatuur mee te configureren of bepaalde policies gepushed worden. Denk bijv. aan een ACL waarmee toegang geregeld wordt vanaf een beheersLAN. 

Playbook

Alles in Anslble draait om zgn. playbooks. Stukken Ansible code waarmee bepaalde zaken worden geregeld. Tijdens de RedHat meeting in Bussum van 14-03-2018 werd uitgelegd hoe belangrijk naamgeving kan zijn. Gebruik bijv. niet "installatie server" maar "Installatie en starten Apache webserver". Als er dan iets mis gaat weet je tenminste in welk playbook het mis gaat en waar. Klinkt simpel maar het zijn vaak dit soort kleine dingen die je in je enthousiasme over het hoofd ziet. Dat je niet zelf het wiel hoeft uit te vinden, klinkt ook nogal logisch en met een git repo (galaxy) van zo'n 15.000 vrij beschikbare playbooks en modules hoeft dat ook niet. Even een bestaand voorbeeld aanpassen is een stuk makkelijker en sneller dan zelf allerlei code en modules bij elkaar rapen. 

Een voorbeeldje van een task binnen een playbook:

--

# This task installs and enables apache on webservers
- name: ensure apache is installed
yum: pkg=httpd state=latest
- name: ensure apache is running
service: name=httpd state=running enabled=yes
- name: copy files to document root
copy: src=cloud.png dest=/var/www/html/cloud.png
- name: copy application code to document root
template: src=index.html.j2 dest=/var/www/html/index.html
notify: restart apache

 

Security

Het begint ein-de-lijk ook bij het bedrijfsleven en overheid door te dringen dat security (app, server, netwerk enz.) niet meer het ondergeschoven kindje kan zijn maar volle aandacht verdiend. Zo kan Ansible worden ingezet om periodiek root-wachtwoorden te wijzigen, security policies te implementeren en als zo'n policy in bijv. in een test omgevinging werkt dan kan dat gemakkelijk naar productie worden doorgezet.