{"id":119,"date":"2019-04-22T10:14:15","date_gmt":"2019-04-22T08:14:15","guid":{"rendered":"https:\/\/jochemenbianca.nl\/?p=119"},"modified":"2019-04-23T21:01:39","modified_gmt":"2019-04-23T19:01:39","slug":"ansible-lab-maken","status":"publish","type":"post","link":"https:\/\/jochemenbianca.nl\/?p=119","title":{"rendered":"Ansible lab maken"},"content":{"rendered":"<p>Om me verder te ontwikkelen ben ik na Docker en Kubernetes ook gaan kijken naar Ansible. Ansible is een automation tool, waarmee je apparaten kan beheren. Dit hoeven niet alleen servers te zijn, maar dit kan eigenlijk alles zijn met ssh toegang.<\/p>\n<p>Om een lab te maken gebruiken we weer Virtualbox. Dit werk om alle gangbare systemen. Wat we het beste kunnen doen is eerst 1 CentOS systeem maken deze zo ver mogelijk installeren en deze dan clonen. Dit werkt namelijk het snelst.<br \/>\nDownload de CentOS iso, waarmee we de installatie kunnen doen.<br \/>\nHet stappen plan ziet er als volgt uit:<br \/>\nMaak een nieuwe VM aan in VitrualBox. Deze moet de volgende resources hebben:<\/p>\n<ul>\n<li>1 CPU<\/li>\n<li>1 GB geheugen<\/li>\n<li>1 Harddisk van 25 GB<\/li>\n<li>2 netwerkkaarten<br \/>\n&#8211; 1e stellen we in als Bridge Adapter (Paravirtualized)<br \/>\n&#8211; 2e stellen we in als Host Only Netwerk<\/li>\n<li>1 CD-rom drive welke we koppelen aan de CentOS iso<\/li>\n<\/ul>\n<p>We voeren een standaard installatie uit van CentOS. En updaten de repository. Nu is de basis installatie compleet. Deze installatie gaan we clonen. Zodat we 1 master en een aantal nodes hebben. Nadat we deze nodes gemaakt hebben starten we ze een voor een op en noteren het ip adres van de 2e kaarten.<br \/>\nWe veranderen de hostnames de 1e server noemen we bijv. test1.servers.net, test2.servers.net en test3.servers.net.<br \/>\nOp al deze nodes vullen we de ipadressen in in de \/etc\/hosts file. Zodat deze apparaten elkaar op naam kunnen bereiken.<\/p>\n<p>Hoewel Ansible geen echter server client omgeving is, omdat alles over ssh gebeurd, heb je toch een soort van server nodig waarmee je alles managed. Deze gaan we als eerste in orde maken<code><\/code><\/p>\n<pre>yum install epel-release\r\nyum update\r\nyum install git python python-devel python -pip openssl ansible vim\r\nvim \/etc\/ansible\/ansible.cfg\r\n<\/pre>\n<p>Hierin halen we # weg voor inventory en voor sudo. Hiermee regelen we dat er een centrale host inventory is en dat als we het commando -s geven we als sudo de root user gebruiken.<\/p>\n<p>Vervolgens kunnen we onze hosts gaan toevoegen in \/etc\/ansible\/hosts<br \/>\nWe kunnen groepen aanmaken met daarbij hosts names. Dit kan er bijv. alsvolgt uitzien:<\/p>\n<pre>[local]\r\nlocalhost\r\n\r\n[centos]\r\ntest1.servers.net\r\n\r\n[debian]\r\ntest2.servers.net\r\n<\/pre>\n<p>Aangezien we niet alles als root willen uitvoeren is het belangrijk om een aparte user voor ansible aan te maken. Dit doen we op elke node waarop we ansible willen gaan gebruiken, dus niet alleen op localhost maar ook op test1.server.net en test2.server.net<\/p>\n<pre>adduser ansible\r\npasswd ansible\r\n<\/pre>\n<p>Vervolgens zorgen we ervoor dat deze user sudo kan gebruiken<\/p>\n<pre>visudo\r\n<\/pre>\n<p>en voegen onder root de volgende regel toe:<\/p>\n<pre>ansible ALL=(ALL)\u00a0\u00a0 NOPASSWD: ALL\r\n<\/pre>\n<p>Hierna moeten we een keypair maken voor ssh. Dit doen we op de &#8220;server&#8221;<\/p>\n<pre>su ansible -\r\nssh-keygen\r\nssh-copy-id localhost\r\nssh-copy-id ansible@test1.servers.net\r\nssh-copy-id ansible@test2.servers.net\r\n<\/pre>\n<p>en eventueel meer servers.<\/p>\n<p>Als we dit gedaan hebben is onze lab omgeving klaar en kunnen we lekker gaan testen met Ansible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Om me verder te ontwikkelen ben ik na Docker en Kubernetes ook gaan kijken naar Ansible. Ansible is een automation tool, waarmee je apparaten kan beheren. Dit hoeven niet alleen servers te zijn, maar dit kan eigenlijk alles zijn met ssh toegang. Om een lab te maken gebruiken we weer [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-ansible","category-open-source"],"_links":{"self":[{"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":7,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":126,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/126"}],"wp:attachment":[{"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}