2023 Autor: Susan Creighton | [email protected]. Zuletzt bearbeitet: 2023-11-26 12:31
Eines der beliebtesten Konfigurationsmanagement- und Infrastrukturautomatisierungsprodukte auf dem Markt ist Ansible. Ansible ist zusammen mit Chef, Puppet und CFEngine Teil einer Klasse von Software für DevOps. Diese Tools helfen bei der Automatisierung der Infrastrukturbereitstellung, der Softwarebereitstellung und des allgemeinen Konfigurationsmanagements.
Ansible konzentriert sich auf Linux. Mit der neuen Haltung von Microsoft zu Open Source, ihren Community-Beiträgen und der Einführung eines agileren, auf DevOps ausgerichteten Softwareentwicklungsansatzes holt die Windows-Unterstützung langsam auf. Wenn Sie von Ansible gehört haben, es aber noch nicht wirklich benutzt haben, ist es relativ einfach, es einzurichten. Obwohl für die Windows-Unterstützung etwas mehr Konfiguration erforderlich ist, ist dies nach Abschluss der Ersteinrichtung nicht allzu schlimm.
Kommen wir zu Ansible und lassen Sie es einfache Änderungen an einem Windows-Knoten bereitstellen.
Einrichten der Linux-VM mit Vagrant
Ansible läuft auf einem Kontrollserver. Im Gegensatz zu anderen Konfigurationsmanagementprodukten verfügt es über keinen Agenten und sendet Befehle an die von ihm kontrollierten Knoten. Leider muss es für uns Windows-Leute unter Linux laufen. Wenn Sie keine Ersatz-Linux-Box zur Hand haben, rufen Sie eine auf. Ich benutze Vagrant für alle meine ersten Tests. Es ist der einfachste Weg, um schnell eine VM mit nahezu jedem Geschmack zum Laufen zu bringen. Dies ist kein Artikel zum Einrichten einer Vagrant-Box, aber ich gebe Ihnen die Vagrant-Datei, die ich zum Aufrufen meiner Testbox verwende.
# - * - Modus: Rubin - * -
# vi: set ft = ruby:
Vagrant.configure (2) do | config |
config.vm.define "ansible" do | ctl |
ctl.vm.box = "Boxcutter / ubuntu1604"
ctl.vm.hostname = "ansible"
ctl.vm.network "private_network", ip: "192.168.2.5"
ctl.vm.provider "virtualbox" do | vb |
vb.memory = 2048
Ende
ende
Diese VagrantFile lädt eine Ubuntu-Box auf VirtualBox herunter, nennt sie "ansible", weist eine private IP zu und gibt ihr 2 GB RAM.
Ansible installieren
Angenommen, Sie haben diese Testbox eingerichtet, dann installieren wir jetzt Ansible. Dazu muss ich in die Linux-Box ssh. Wenn Sie Vagrant verwenden, können Sie eine Verbindung zur VM herstellen, indem Sie 'vagrant ssh' eingeben. Andernfalls müssen Sie wahrscheinlich Putty oder einen anderen Windows SSH-Client herunterladen. Sobald Sie auf der Linux-Serverkonsole sind, ist es Zeit, sich an die Befehlszeile zu gewöhnen. Ansible bietet einige Setup-Anweisungen, aber aus meiner Erfahrung wurden einige Dinge übersehen. Lassen Sie uns die Befehle behandeln, mit denen ich Ansible zum Laufen gebracht habe.
Hinweis: Alle Befehle, die ich ausführen werde, werden unter Ubuntu 16.04 ausgeführt. Wenn Sie eine andere Version von Ubuntu oder einer anderen Distribution ausführen, können Ihre Befehle leicht abweichen.
Zuallererst ist es sicherer, vor dem Start sicherzustellen, dass alle Pakete auf dem neuesten Stand sind. Dazu verwenden Sie apt-get.
sudo apt-get update
Installieren Sie Git, um den Entwicklungszweig von Ansible zu erhalten, da er nützliche Ansible-Module für uns Windows-Typen wie win_command und win_shell enthält.
Um eine Vertrauenswarnung zu einem SSL-Zertifikat zu vermeiden, empfehle ich, die Umgebungsvariable GIT_SSL_NO_VERIFY festzulegen.
export GIT_SSL_NO_VERIFY = 1
Klonen Sie als Nächstes das Ansible Git-Repository und alle untergeordneten Repositorys.
git clone git: //github.com/ansible/ansible.git –recursive
Navigieren Sie zu dem erstellten Ansible-Verzeichnis.
cd./anible
Ansible verwendet Python, daher richten wir jetzt eine Python-Umgebung mit dem Befehl source ein.
source./hacking/env-setup
Installieren Sie Pip. Pip ist die Python-Paketverwaltungsanwendung, mit der ich einige andere erforderliche Pakete herunterladen und installieren kann.
sudo easy_install pip
Laden Sie ein paar weitere erforderliche Pakete herunter. Die Reihenfolge ist hier wichtig.
Sudo Pip installieren PyYAML Jinja2 httplib2 sechs
sudo apt-get installiere libssl-dev
sudo pip install paramiko
Ansible für Windows einrichten
Ansible sollte installiert und einsatzbereit sein. Konzentrieren Sie sich jetzt auf die Windows-spezifischen Aufgaben, mit denen Ansible Windows-Knoten verwalten kann. Da Ansible nativ über SSH funktioniert, hat Windows diesen Luxus noch nicht. Daher müssen wir Ansible die Möglichkeit geben, über WinRM mit Windows-Knoten zu kommunizieren. Dazu müssen wir die pywinrm-Bibliothek von Python installieren.
sudo pip install "pywinrm> = 0.1.1"
Dies ist es für Software-Installationen. Wir müssen Ansible anweisen, SSH nicht zu verwenden und stattdessen WinRM für die gesamte Kommunikation zu verwenden. Aufgrund der Erweiterbarkeit von Ansible gibt es viele Möglichkeiten, dies zu erreichen. Ich habe mich jedoch dafür entschieden, eine Windows-Inventargruppe in einer Datei mit dem Namen "hosts" in./hosts zu erstellen.
Hinweis: Stellen Sie sicher, dass Ansible weiß, wo sich Ihre Inventardatei befindet. Ich habe beschlossen, dies in der ansible.cfg-Datei festzulegen, die sich im ansible-Ordner befindet, in dem ich arbeite.
[Standard]
inventar = / home / vagrant / ansibletesting / hosts
Sobald ich sichergestellt habe, dass Ansible meine Inventardatei findet, füge ich dort unsere Windows-Gruppe hinzu.
[windows]
windowsserver.domain.local
An dieser Stelle muss Ansible angewiesen werden, WinRM anstelle von SSH zu verwenden. Ich kann Ansible-Variablen für Inventargruppen festlegen, indem ich eine Datei namens windows.yml im Verzeichnis group_vars erstelle.
Berühren Sie./group_vars/windows.yml
Ich werde jetzt die YAML-Datei mit den erforderlichen Variablen füllen. Beachten Sie, dass ich nur WinRM über HTTP und nicht HTTPS verwende. Dies ist zwar möglich, erfordert jedoch eine weitere Konfiguration. Klicken Sie auf diesen Link, wenn Sie HTTPS einrichten möchten.
ansible_user: Administrator
ansible_password:
ansible_port: 5985
ansible_connection: winrm
ansible_winrm_scheme:
ansible_winrm_server_cert_validation: ignorieren
Ich verwende das lokale Administratorkonto, um eine Verbindung zu den Windows-Knoten herzustellen. Die Active Directory-Unterstützung ist verfügbar, fällt jedoch nicht in den Geltungsbereich dieses Artikels.
Zu diesem Zeitpunkt kann ich das integrierte Ansible-Modul win_ping ausführen. Dieses Modul erstellt eine WinRM-Sitzung, um sicherzustellen, dass die Einrichtung erfolgreich ist. Unten sehen Sie, dass Ansible angewiesen wird, das win_ping-Modul für alle Knoten in der Windows-Inventargruppe auszuführen.
ansible windows -m win_ping
Kann das Modul win_ping ausführen
Empfohlen:
Erste Schritte Mit Direct Mail

In einer vorwiegend digitalen Welt können altmodische Direktwerbekampagnen auffallen
Einrichten Und Konfigurieren Von DNS Unter Windows Server

Das Domain Name System (DNS) spielt eine zentrale Rolle bei der Auflösung von TCP / IP-Hostnamen und in Active Directory. Erfahren Sie, wie Sie die DNS-Serverrolle in Windows Server 2016 installieren und konfigurieren
Docker Unter Windows 10 Einsteigerhandbuch

Windows 10 ist eine perfekte Entwicklungsumgebung für Docker, wenn Sie wissen, was Sie tun
Diese Tech-Unternehmerin Hat Ihre Kreativität Mit Einem Neuen Startup Für Kinder Unter Beweis Gestellt

Payal Kindiger war inspiriert, Storymakery, ein Selbstverlagsprogramm für Kinder, zu erstellen, nachdem er die eigenen kreativen Schreibprojekte ihrer Tochter gesehen hatte. So nutzte sie ihren technischen Hintergrund, um es auf den Weg zu bringen
Erste Schritte Mit Dem Amazon Associates-Partnerprogramm

Möchten Sie Geld verdienen, indem Sie Amazon-Links in Ihre Blog-Posts oder veröffentlichten Artikel aufnehmen? Hier finden Sie eine Anleitung zum Beitritt zum Amazon Associates-Partnerprogramm