{"id":407,"date":"2018-06-08T12:32:37","date_gmt":"2018-06-08T11:32:37","guid":{"rendered":"http:\/\/hslomka.de\/techno\/?p=407"},"modified":"2018-06-08T12:32:37","modified_gmt":"2018-06-08T11:32:37","slug":"ansible-installation-auf-windows-10-systemen","status":"publish","type":"post","link":"https:\/\/techno.slomka.biz\/?p=407","title":{"rendered":"Ansible Installation auf Windows 10 Systemen"},"content":{"rendered":"<p>Ansible kann lokal in der Windows Bash installiert und zusammen mit Visual Studio Code (<a href=\"https:\/\/code.visualstudio.com\/\">https:\/\/code.visualstudio.com\/<\/a>) effektiv betrieben werden. Die Windows Bash muss installiert sein. Die Bash kann \u00fcber den Windows Store installiert werden. Einfach nach Ubuntu suchen. Nach der Installation die bash starten.<\/p>\n<p class=\"kasten\">\n  <code>PS C:\\Users\\user01> bash<br \/>\n<\/code>\n<\/p>\n<p>Die eigentliche ansible Installation erfolgt im Windows Linux Subsystem mit diesen Befehlen. Der letzte Befehl f\u00fcgt die ansible Kommandos zum Pfad hinzu, damit sie direkt aufrufbar sind.<\/p>\n<p class=\"kasten\">\n  <code>sudo apt-get -y install python-pip python-dev libffi-dev libssl-dev<br \/>\npip install --upgrade pip<br \/>\npip install ansible --user<br \/>\necho 'PATH=$HOME\/.local\/bin:$PATH' >> ~\/.bashrc<br \/>\n<\/code>\n<\/p>\n<p><code>&lt;em&gt;\"pip install --upgrade pip\"&lt;\/em&gt;<\/code> ist nur der Sch\u00f6nheit halber enthalten, damit pip auch aktuell ist, sonst gibt es Warnungen. Das war es schon. Jetzt noch in Visual Studio Code (im Folgenden VSC genannt) die Erweiterung ansible installiert und ein erstes Playbook kann geschrieben werden:<\/p>\n<p class=\"kasten\">\n  <code>---<br \/>\n - name: first Test<br \/>\n&nbsp;&nbsp;hosts: all<br \/>\n&nbsp;&nbsp;connection: local<br \/>\n&nbsp;&nbsp;tasks:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;- debug: msg=\"Das lokal installierte Ansible funktioniert bestens!\"<br \/>\n<\/code>\n<\/p>\n<p>Download des Beispiels hier: <a href=\"https:\/\/techno.slomka.biz\/wp-content\/uploads\/2018\/06\/firstPlaybook.yaml_.txt\">firstPlaybook.yaml<\/a><\/p>\n<p>Ganz wichtig sind die nicht vorhandenen Leerzeichen in den ersten beiden Zeilen, eine Leerzeile am Ende und keine Leerzeichen an den Zeilenenden.<\/p>\n<p><span class=\"highlight\">Tipp:<\/span> Visual Studio Code kann so eingestellt werden, die letzten beiden Punkte automatisch beim Speichern zu \u00e4ndern. Dazu sind die beiden Zeilen in den Einstellungen von VSC anzupassen:<\/p>\n<p class=\"kasten\">\n  <code>\"files.trimFinalNewlines\": true,<br \/>\n\"files.trimTrailingWhitespace\": true,<br \/>\n<\/code>\n<\/p>\n<p>Im Terminal von VSC die bash aufrufen (einfach bash eingeben). Dann kann auch schon fast das Playbook ausgef\u00fchrt werden. Das Inventory muss noch gepflegt werden. Konkret fehlen die Hosts Informationen.<\/p>\n<p class=\"kasten\">\n  <code>&nbsp;&nbsp;sudo mkdir \/etc\/ansible sudo vi \/etc\/ansible\/hosts<br \/>\n<\/code>\n<\/p>\n<p>Der Hostname der lokalen Maschine ist einzutragen. In diesen ersten einfachen Fall kann der Eintrag des Hostnamens ohne eine Gruppierung erfolgen, die Datei enth\u00e4lt also vorerst nur den Hostnamen oder einfach &#8220;localhost&#8221;.<\/p>\n<p class=\"kasten\">\n  <code>ansible-playbook firstPlaybook.yaml --connection=local<br \/>\n<\/code>\n<\/p>\n<p class=\"kasten\">\n  <code><br \/>\nPLAY [first Test] ********************************<br \/>\n<br \/>\nTASK [Gathering Facts] ***************************<br \/>\nok: [localhost] &lt;br \/><br \/>\nTASK [debug] *************************************<br \/>\nok: [localhost] => {<br \/>\n  \"msg\": \"Das lokal installierte Ansible funktioniert bestens!\"<br \/>\n}<br \/>\n&lt;br \/><br \/>\nPLAY RECAP ************************************<br \/>\nlocalhost : ok=2 changed=0 unreachable=0 failed=0<br \/>\n<\/code>\n<\/p>\n<p>Weitergehende Tipps: Um Ansible und Jinja Templates zu testen, gibt es 2 extrem n\u00fctzliche Seiten:<\/p>\n<p>YAML Online Tests: <a href=\"http:\/\/yaml-online-parser.appspot.com\/\">http:\/\/yaml-online-parser.appspot.com\/<\/a> JINJA2 Online Tests: <a href=\"http:\/\/cryptic-cliffs-32040.herokuapp.com\/\">http:\/\/cryptic-cliffs-32040.herokuapp.com\/<\/a> Den Jinja2 Parser gibt es auch als Github Projekt <a href=\"https:\/\/github.com\/qn7o\/jinja2-live-parser\">https:\/\/github.com\/qn7o\/jinja2-live-parser<\/a> f\u00fcr eine lokale Installation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ansible kann lokal in der Windows Bash installiert und zusammen mit Visual Studio Code (https:\/\/code.visualstudio.com\/) effektiv betrieben werden. Die Windows Bash muss installiert sein. Die Bash kann \u00fcber den Windows Store installiert werden. Einfach nach Ubuntu suchen. Nach der Installation die bash starten. PS C:\\Users\\user01> bash Die eigentliche ansible Installation erfolgt im Windows Linux Subsystem mit diesen Befehlen. Der letzte Befehl f\u00fcgt die ansible Kommandos zum Pfad hinzu, damit sie direkt aufrufbar sind. sudo apt-get -y install python-pip python-dev libffi-dev libssl-dev pip install &#8211;upgrade pip pip install ansible &#8211;user echo &#8216;PATH=$HOME\/.local\/bin:$PATH&#8217; >> ~\/.bashrc &lt;em&gt;&#8221;pip install &#8211;upgrade pip&#8221;&lt;\/em&gt; ist nur der Sch\u00f6nheit halber enthalten, damit pip auch aktuell ist, sonst gibt es Warnungen. Das war es schon. Jetzt noch in Visual Studio Code (im Folgenden VSC genannt) die Erweiterung ansible installiert und ein erstes Playbook kann geschrieben werden: &#8212; &#8211; name: first Test &nbsp;&nbsp;hosts: all &nbsp;&nbsp;connection: local &nbsp;&nbsp;tasks: &nbsp;&nbsp;&nbsp;&nbsp;&#8211; debug: msg=&#8221;Das lokal installierte Ansible funktioniert bestens!&#8221; Download des Beispiels hier: firstPlaybook.yaml Ganz wichtig sind die nicht vorhandenen Leerzeichen in den ersten beiden Zeilen, eine Leerzeile am Ende und keine Leerzeichen an den Zeilenenden. Tipp: Visual Studio Code kann so eingestellt werden, die letzten beiden Punkte automatisch beim Speichern zu \u00e4ndern. Dazu sind die beiden Zeilen in den Einstellungen von VSC anzupassen: &#8220;files.trimFinalNewlines&#8221;: true, &#8220;files.trimTrailingWhitespace&#8221;: true, Im Terminal von VSC die bash aufrufen (einfach bash eingeben). Dann kann auch schon fast das Playbook ausgef\u00fchrt werden. Das Inventory muss noch gepflegt werden. Konkret fehlen die Hosts Informationen. &nbsp;&nbsp;sudo mkdir \/etc\/ansible sudo vi \/etc\/ansible\/hosts Der Hostname der lokalen Maschine ist einzutragen. In diesen ersten einfachen Fall kann der Eintrag des Hostnamens ohne eine Gruppierung erfolgen, die Datei enth\u00e4lt also vorerst nur den Hostnamen oder einfach &#8220;localhost&#8221;. ansible-playbook firstPlaybook.yaml &#8211;connection=local PLAY [first Test] ******************************** TASK [Gathering Facts] *************************** ok: [localhost] &lt;br \/> TASK [debug] ************************************* ok: [localhost] => { &#8220;msg&#8221;: &#8220;Das lokal installierte Ansible funktioniert bestens!&#8221; } &lt;br \/> PLAY RECAP ************************************ localhost : ok=2 changed=0 unreachable=0 failed=0 Weitergehende Tipps: Um Ansible und Jinja Templates zu testen, gibt es 2 extrem n\u00fctzliche Seiten: YAML Online Tests: http:\/\/yaml-online-parser.appspot.com\/ JINJA2 Online Tests: http:\/\/cryptic-cliffs-32040.herokuapp.com\/ Den Jinja2 Parser gibt es auch als Github Projekt https:\/\/github.com\/qn7o\/jinja2-live-parser f\u00fcr eine lokale Installation.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,3,4,7,11,28],"tags":[40],"class_list":["post-407","post","type-post","status-publish","format-standard","hentry","category-ansible","category-devops","category-docker","category-jinja","category-middleware","category-yaml","tag-ansible"],"_links":{"self":[{"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=407"}],"version-history":[{"count":0,"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions"}],"wp:attachment":[{"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techno.slomka.biz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}