Fortgeschrittene Verbindungsszenarien und Anwendungsfälle
Während die grundlegende Konfiguration der Ansible-Verbindungsparameter viele gängige Anwendungsfälle abdeckt, gibt es auch fortgeschrittenere Szenarien, die Sie möglicherweise begegnen. Lassen Sie uns einige dieser Szenarien und die Vorgehensweise bei deren Behandlung untersuchen.
Verbinden mit Bastion-Hosts (Sprungboxen)
In einigen Umgebungen müssen Sie möglicherweise über einen Bastion-Host oder eine Sprungbox mit Ihren Zielhosts verbinden. Ansible unterstützt dieses Szenario, indem Sie in Ihrer Inventardatei die Variable ansible_ssh_common_args
angeben können.
[bastions]
bastion01 ansible_host=10.0.0.10
[webservers]
web01 ansible_host=192.168.1.100 ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
web02 ansible_host=192.168.1.101 ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
In diesem Beispiel wird Ansible den Bastion-Host bastion01
verwenden, um eine Verbindung zu den webservers
-Hosts herzustellen.
Verbinden mit Hosts mit nicht-standardmäßigen SSH-Ports
Wenn Ihre Zielhosts nicht-standardmäßige SSH-Ports verwenden, können Sie den Parameter ansible_port
in Ihrer Inventardatei angeben.
[databases]
db01 ansible_host=192.168.1.200 ansible_port=2222
db02 ansible_host=192.168.1.201 ansible_port=2222
Dadurch wird Ansible angewiesen, den angegebenen Port zu verwenden, wenn es eine Verbindung zu den databases
-Hosts herstellt.
Verbinden mit Windows-Hosts
Für Windows-Hosts können Sie den Verbindungstyp winrm
verwenden, indem Sie den Parameter ansible_connection
festlegen.
[windows]
win01 ansible_host=192.168.1.150 ansible_user=windowsadmin ansible_password=windowspass ansible_connection=winrm
win02 ansible_host=192.168.1.151 ansible_user=windowsadmin ansible_password=windowspass ansible_connection=winrm
Stellen Sie sicher, dass auf Ihren Windows-Hosts die erforderliche WinRM-Konfiguration eingerichtet ist, damit dies funktioniert.
Verbinden mit Hosts mit bestimmten Authentifizierungsmethoden
Ansible unterstützt verschiedene Authentifizierungsmethoden, wie SSH-Schlüssel, Passwörter und Kerberos. Sie können die entsprechende Authentifizierungsmethode mithilfe des entsprechenden Verbindungsparameters angeben.
[kerberos_hosts]
host01 ansible_host=192.168.1.200 ansible_user=kerberos_user ansible_password=kerberos_pass ansible_connection=krb5
host02 ansible_host=192.168.1.201 ansible_user=kerberos_user ansible_password=kerberos_pass ansible_connection=krb5
In diesem Beispiel verwenden wir die Kerberos-Authentifizierung, um eine Verbindung zur Gruppe kerberos_hosts
herzustellen.
Indem Sie diese fortgeschrittenen Verbindungsszenarien verstehen, können Sie Ansible so anpassen, dass es nahtlos mit einer Vielzahl von Infrastrukturkonfigurationen funktioniert und sicherstellen, dass die Kommunikation mit Ihren Zielhosts zuverlässig und sicher ist.