IBM Cloud Docs
Konfigurieren des Automatisierungsservers

Konfigurieren des Automatisierungsservers

Ende der Vermarktung: Ab dem 31. Oktober 2025 sind neue Bereitstellungen von VMware Solutions Angeboten für neue Kunden nicht mehr verfügbar. Bestehende Kunden können ihre aktiven VMware® Workloads weiterhin auf IBM Cloud® nutzen und erweitern. Weitere Informationen finden Sie unter Ende der Vermarktung für VMware auf IBM Cloud.

Der Automationsserver wird für das Hosting von Ansible® verwendet. Die folgende Architektur beschreibt Ansible:

  • Ein Ansible Kontrollknoten- Der Ansible Kontrollknoten ist der Ort, an dem Ansible installiert ist, und kann auf die Ansible Linux®-Hosts über Secure Shell (SSH) und Ansible-Windows®-Hosts zugreifen, die mit Windows Remote Management (WinRM) konfiguriert sind. Die folgenden Elemente werden von Ansible benötigt:
    • Ein Nicht-Root-Benutzer mit sudo-Rechten.
    • Ein SSH-Schlüsselpaar, das mit diesem Benutzer verbunden ist.
    • Eine Inventardatei, die Informationen über die Ansible-Hosts enthält, die mit Ansible verwaltet werden sollen.
    • Ein Playbook, das die auf den Ansible-Hosts auszuführenden Aufgaben detailliert beschreibt.
    • Optional kann Ansible Vault verwendet werden, um verschlüsselte Dateien zu erstellen, die sensible Parameter wie Passwörter enthalten.
  • Ein oder mehrere Ansible-Hosts- Ein Ansible-Host ist eine beliebige virtuelle Maschine (VM), die Ihr Ansible-Kontrollknoten für die Automatisierung konfiguriert ist.
    • Für Linux, Ansible ist der öffentliche SSH-Schlüssel des Kontrollknotens erforderlich, der zu den autorisierten Schlüsseln eines Systembenutzers hinzugefügt wird. Der Benutzer kann entweder root oder ein normaler Benutzer mit sudo-Rechten sein.
    • Für Windows müssen Ansible-Hosts, die mit WinRM konfiguriert sind, betriebsbereit sein.

Hier wird eine virtuelle Serverinstanz (Virtual Server Instance, VSI) ausgewählt, um die Bereitstellung und externe Konnektivität zu erleichtern. Wenn jedoch eine VM bevorzugt wird, sind einige dieser Aufgaben immer noch anwendbar.

Sie können sich von Ihrem Laptop aus über die öffentliche IP-Adresse mit dem Automatisierungsserver verbinden, den Sie im vorherigen Schritt bestellt haben. Als Nächstes müssen Sie diese Aufgaben erfüllen:

  1. Aktualisieren Sie die Betriebssystem-Pakete.
  2. Ändern Sie den DNS.
  3. Konfigurieren Sie das Network Time Protocol(NTP).
  4. Erstelle zwei Benutzerkonten, eines für dich und ein weiteres namens Ansible, das von Ansible verwendet werden kann.
  5. Erstellen Sie ein SSH-Schlüsselpaar auf dem VSI für das ansible-Benutzerkonto, um sich mit Ansible Linux-Hosts zu verbinden.
  6. Erstellen Sie ein SSH-Schlüsselpaar auf Ihrem Laptop, und kopieren Sie Ihren öffentlichen Schlüssel auf den Ansible-Server, damit Sie ohne Passwörter auf den Server zugreifen können.
  7. SSH härten.
  8. Installieren Sie Ansible.

Aktualisieren von Betriebssystempaketen

Der Befehl apt update lädt Paketinformationen von allen konfigurierten Quellen herunter. Das System weiß, welche Pakete für ein Upgrade zur Verfügung stehen und wo diese Software abgerufen werden kann. Der Befehl apt upgrade verwendet diese Informationen und aktualisiert alle installierten Pakete auf ihre neuesten Versionen.

  1. Verbinden Sie sich von Ihrem Laptop aus mit dem Automatisierungsserver, indem Sie die IP-Adresse und die Root-Zugangsdaten aus der IBM Cloud®-Konsole ssh root@<public_ip_address> verwenden
  2. Verwenden Sie in der Befehlszeile den Befehl apt update && apt upgrade -y, um die Betriebssystempakete zu aktualisieren und aufzurüsten.

Ändern von DNS

Nach der Bereitstellung ist der VSI so konfiguriert, dass er die IBM Cloud DNS-Auflöser verwendet: 10.0.80.11 and 10.0.80.12, und nicht Ihre VMware Cloud Foundation for Classic – Automated Instanz - Active Directory™ DNS (AD/DNS) Server. Sie können diese Konfiguration ändern, indem Sie die folgenden Befehle verwenden und <addns_1> und <addns_2> durch die IP-Adressen Ihrer AD/DNS-Server ersetzen. Ersetzen Sie <root_domain> durch Ihre VCF for Classic – Automated Instanzdomäne. Beispiel: test.ibmloud.local

sudo sed -i 's/10.0.80.11/<addns_1>/g' /etc/netplan/50-cloud-init.yaml
sudo sed -i 's/10.0.80.12/<addns_2>/g' /etc/netplan/50-cloud-init.yaml
sudo sed -i 's/search: \[\]/search: \[<root_domain>\]/g' /etc/netplan/50-cloud-init.yaml
sudo netplan apply

Verwenden Sie die folgenden Befehle zur Überprüfung.

systemd-resolve --status | grep 'DNS Servers' -A2
resolvectl status

NTP konfigurieren

Die folgenden Befehle installieren NTP, konfigurieren servertime.service.softlayer.com als NTP-Zeitquelle, entfernen die ubuntu.pool.ntp.org-Server und starten den NTP-Dienst neu.

apt install ntp -y
sudo sed -i 's/pool 0.ubuntu.pool.ntp.org iburst/#pool 0.ubuntu.pool.ntp.org iburst/g' /etc/ntp.conf
sudo sed -i 's/pool 1.ubuntu.pool.ntp.org iburst/#pool 1.ubuntu.pool.ntp.org iburst/g' /etc/ntp.conf
sudo sed -i 's/pool 2.ubuntu.pool.ntp.org iburst/#pool 2.ubuntu.pool.ntp.org iburst/g' /etc/ntp.conf
sudo sed -i 's/pool 3.ubuntu.pool.ntp.org iburst/#pool 3.ubuntu.pool.ntp.org iburst/g' /etc/ntp.conf
sudo sed -i 's/pool ntp.ubuntu.com/#pool ntp.ubuntu.com/g' /etc/ntp.conf
sudo sed -i '/^# Specify one or more NTP servers./a # IBM Cloud NTP\nserver servertime.service.softlayer.com prefer iburst' /etc/ntp.conf
sudo service ntp restart

Der Befehl ntpq -p wird verwendet, um NTP zu überprüfen. In der Ausgabe wird die Zeile remote is 10.0.77.54 angezeigt, die die IP-Adresse von servertime.service.softlayer.com darstellt

Anlegen der Benutzer

Auf dem Server werden zwei Benutzer angelegt. Der erste Benutzer ist ein Konto, mit dem Sie sich mit dem Server verbinden können, da in einem späteren Schritt SSH als root entfernt wird. Der zweite Benutzer ist ein Konto, das von Ansible verwendet wird.

  1. Verbinden Sie sich mit der IP-Adresse und den Root-Zugangsdaten der IBM Cloud-Konsole von Ihrem Laptop aus mit dem Linux-Server ssh root@<public_ip_address>
  2. Geben Sie in der Befehlszeile die folgenden Befehle ein und geben Sie ein Passwort ein, wenn Sie dazu aufgefordert werden.
adduser <your_username>
usermod -aG sudo <your_username>
adduser ansible
usermod -aG sudo ansible

Erstellen des Schlüsselpaars für den Benutzer Ansible

  1. Wechseln Sie in der Befehlszeile mit su - ansible zum Benutzer ansible.
  2. Um ein Schlüsselpaar zu erstellen, geben Sie ssh-keygen -b 4096 ein und folgen Sie den Aufforderungen. Eine Passphrase erschwert die Verwendung des SSH-Schlüssels in der Automatisierung.

Erstellen des Schlüsselpaars für Ihren Benutzer

Angenommen, Sie verwenden einen Mac oder Linux-Laptop, um ein SSH-Schlüsselpaar zu erstellen und eine SSH-Konfigurationsdatei zu erstellen oder zu aktualisieren.

  1. Melden Sie sich von der SSH-Sitzung des Automatisierungsservers ab.
  2. Wenn Sie kein Schlüsselpaar auf Ihrem Laptop haben, erstellen Sie eines mit dem Befehl ssh-keygen -b 4096. Hier wird eine Passphrase empfohlen.
  3. Übertragen Sie den öffentlichen Schlüssel an den Automatisierungsserver: ssh-copy-id <your_username@<bastion_host_public_ip_address>.
  4. Erstellen oder aktualisieren Sie die SSH-Konfigurationsdatei Ihres lokalen Benutzers mit einem Texteditor, zum Beispiel vi ~/.ssh/config. Der <short_name> ist der Name, den Sie beim SSH-Befehl verwenden möchten, z. B. ssh <short_name>.
Host *
    Port 22
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
    ServerAliveInterval 60
    ServerAliveCountMax 30

Host <short_name>
    HostName <automation_server_public_ip_address>
    User <your_user_name>
    IdentityFile <private_key_e.g._~/.ssh/key01>

Speichern Sie die Datei durch Drücken von Esc und wq. Anschließend können Sie mit dem Befehl ssh <short_name> auf den Automatisierungsserver zugreifen.

SSH abhärten

  1. Verbinden Sie sich mit dem Automatisierungsserver: ssh <short_name>. Diesmal verwendet SSH die Konfigurationsdatei, Ihren Benutzernamen, die IP-Adresse und den privaten Schlüssel, um sich mit dem Automatisierungsserver zu verbinden.
  2. Geben Sie bei der Aufforderung Ihre Passphrase ein, falls Sie eine verwendet haben.
  3. Verwenden Sie den folgenden Befehl, um die Passwortauthentifizierung zu deaktivieren: sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config.
  4. Verwenden Sie den folgenden Befehl, um den Root-Login zu deaktivieren: sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/g' /etc/ssh/sshd_config.
  5. Starten Sie SSH mit dem Befehl sudo systemctl restart ssh neu.