linux-system-roles.rhc
rhc
Eine Ansible-Rolle, die RHEL-Systeme mit Red Hat verbindet.
Anforderungen
Die Rolle erfordert den Subscription-Manager, der in den Standard-RHEL-Repositories erhältlich ist und normalerweise standardmäßig auf RHEL installiert wird. Auf anderen Distributionen wird er installiert, falls noch nicht vorhanden.
Die Rolle benötigt auch den Insights-Client, der in den Standard-RHEL-Repositories erhältlich ist, falls der Insights-Support aktiviert ist (was standardmäßig der Fall ist).
Darüber hinaus benötigt die Rolle rhc
, das in den Standard-RHEL-Repositories erhältlich ist, falls die Insights-Remediation aktiviert ist (was standardmäßig der Fall ist).
Sammlungsanforderungen
Die Rolle benötigt Module aus externen Sammlungen. Verwenden Sie den folgenden Befehl, um sie zu installieren:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Rollenvariablen
rhc_state: present
Ob das System mit Red Hat verbunden ist; gültige Werte sind present
(der Standardwert, um die Verbindung sicherzustellen), absent
und reconnect
.
Beim Einsatz von reconnect
wird das System zuerst getrennt, falls es bereits verbunden war; aus diesem Grund wird die Rolle immer einen "geänderten" Status melden.
rhc_organization: "deine-organisation"
Die Organisation des Benutzers. Dies muss angegeben werden, wenn:
- der Benutzer zu mehr als einer Organisation gehört
- Aktivierungsschlüssel verwendet werden (siehe
rhc_auth
unten)
rhc_auth: {}
Die Authentifizierungsmethode, die verwendet wird, um ein System zu verbinden. Dies muss angegeben werden, falls ein System möglicherweise eine Verbindung herstellen muss (z. B. falls es zuvor nicht verbunden war). Es gibt einige mögliche Authentifizierungsmethoden; nur eine kann zur gleichen Zeit angegeben werden.
Hinweis: Die für die Authentifizierung verwendeten Variablen gelten als Geheimnisse und sollten daher gesichert werden. Wir empfehlen die Verwendung von Ansible Vault als Quelle dafür. Die nachfolgenden Referenzen beschreiben nur, welche Schlüssel existieren und wofür sie sind.
Für die Authentifizierung mit Benutzername und Passwort geben Sie das login
-Wörterbuch mit den folgenden obligatorischen Schlüsseln an:
rhc_auth:
login:
username: "dein-benutzername"
password: "dein-passwort"
Das rhc_organization
-Feld verwenden, falls erforderlich.
Für die Authentifizierung mit Aktivierungsschlüsseln geben Sie das activation_keys
-Wörterbuch mit den folgenden obligatorischen Schlüsseln zusammen mit rhc_organization
an:
rhc_auth:
activation_keys:
keys: ["key-1", ...]
rhc_organization: "deine-organisation"
rhc_server: {}
Die Details des Registrierungsservers, mit dem verbunden werden soll; es kann folgende optionale Schlüssel enthalten:
rhc_server:
hostname: "hostname"
port: 443
prefix: "server-prefix"
insecure: false
hostname
ist der Hostname des Serversport
ist der Port, zu dem man sich auf dem Server verbindetprefix
ist das Präfix (beginnend mit/
) für die API-Aufrufe an den Serverinsecure
gibt an, ob die Validierung des SSL-Zertifikats des Servers deaktiviert werden soll
rhc_baseurl: ""
Die Basis-URL für das Abrufen von Inhalten vom Abonnement-Server.
rhc_repositories: []
Eine Liste von Repositories, die im System aktiviert oder deaktiviert werden sollen. Jedes Element ist ein Wörterbuch, das zwei Schlüssel enthält:
name
ist der Name eines Repositories; dieser Schlüssel ist obligatorischstate
ist der Status dieses Repositories im System und kannenabled
oderdisabled
sein; dieser Schlüssel ist optional und wird aufenabled
gesetzt, wenn nicht angegeben
rhc_repositories:
- {name: "repository-1", state: enabled}
- {name: "repository-2", state: disabled}
rhc_release: "release"
Eine Version, die für das System festgelegt wird. Wird normalerweise verwendet, um ein RHEL-System auf einer bestimmten Minor-Version von RHEL zu sperren.
Verwenden Sie {"state":"absent"}
(und nicht ""
), um die festgelegte Version für das System tatsächlich zu entfernen.
rhc_insights:
state: present
Ob das System mit Insights verbunden ist; gültige Werte sind present
(der Standardwert, um die Verbindung sicherzustellen) und absent
.
rhc_insights:
autoupdate: true
Ob das System die dynamische Konfiguration automatisch aktualisiert. Dies ist standardmäßig aktiviert.
rhc_insights:
ansible_host: "beispiel-host"
Konfiguriert den Ansible-Hostnamen mit einem benutzerdefinierten Wert für den Systemdatensatz im Host Based Inventory (HBI). Dieser Hostname wird in Playbooks von Remediations verwendet. Er ist standardmäßig null
und verwendet den System-Hostnamen, wenn nicht angegeben.
Mögliche Werte dieser Variable:
null
oder eine leere Zeichenfolge: Der Ansible-Hostnamen wird nicht geändert.{state: absent}
: Der Ansible-Hostnamen wird in der Konfigurationsdatei des Insights-Clients unset, und das Host Based Inventory (HBI) wird aktualisiert, um den System-Hostnamen zu verwenden.- Jeder andere Zeichenwert: Der Ansible-Hostnamen wird im Host Based Inventory (HBI) geändert.
rhc_insights:
display_name: "Beispiel Host"
Konfiguriert den Anzeigenamen mit einem benutzerdefinierten Wert für den Systemdatensatz im Host Based Inventory (HBI). Dieser Anzeigename wird nur verwendet, um den Host im Inventar zu identifizieren. Er ist standardmäßig null
und verwendet den System-Hostnamen, wenn nicht angegeben.
Mögliche Werte dieser Variable:
null
oder eine leere Zeichenfolge: Der Anzeigename wird nicht geändert- Jeder andere Zeichenwert: Der Anzeigename wird im Host Based Inventory (HBI) geändert.
Hinweis: Wenn bei der Registrierung nicht explizit festgelegt, wird der Anzeigename standardmäßig auf den Hostnamen gesetzt. Es ist nicht möglich, ihn automatisch auf den Hostnamen zurückzusetzen, aber manuell kann er gesetzt werden.
rhc_insights:
remediation: present
Ob das System so konfiguriert ist, dass die Insights-Remediation ausgeführt wird; gültige Werte sind present
(der Standardwert, um die Remediation sicherzustellen) und absent
.
Bitte beachten Sie, dass die Insights-Remediation nur auf RHEL 8.4 oder höher unterstützt wird, da die benötigten Pakete nur ab dieser Version verfügbar sind; in älteren Versionen hat dieser Parameter keine Wirkung.
rhc_insights:
tags: {}
Ein Wörterbuch von Tags, das dem Systemdatensatz im Host Based Inventory (HBI) hinzugefügt wird; wird typischerweise zur Gruppierung und Tagging von Systemen sowie zur Suche nach Systemen im Inventar verwendet.
Mögliche Werte dieser Variablen:
null
oder ein leerer Wert (z. B.:{}
): Der Inhalt der Tag-Datei wird nicht geändert{state: absent}
: Alle Tags werden entfernt (durch Entfernen der Tag-Datei)- Jeder andere Wert: Die Datei wird mit den angegebenen Tags erstellt
Da die Tags beliebige Werte für das Tagging von Systemen sind, gibt es kein festgelegtes Format. In dem angegebenen Wörterbuch sind die Schlüssel Strings, und der Typ der Werte kann beliebiger Datentyp sein (Strings, Zahlen, Listen, Wörterbücher usw.).
Beispiel für die in der insights-client
Dokumentation konfigurierten Tags:
rhc_insights:
tags:
group: _gruppen-name-wert_
location: _standort-name-wert_
description:
- RHEL8
- SAP
key 4: value
rhc_proxy: {}
Die Details des Proxy-Servers, der für die Verbindung verwendet werden soll:
rhc_proxy:
hostname: "proxy-hostname"
scheme: http
port: 4321
username: "proxy-benutzername"
password: "proxy-passwort"
hostname
ist der Hostname des Proxy-Serversscheme
ist das Schema, das für den Proxy-Server verwendet werden soll, normalerweise "http" oder "https", standardmäßig "http"port
ist der Port, zu dem man sich auf dem Proxy-Server verbindetusername
ist der Benutzername, der zur Authentifizierung am Proxy-Server verwendet werden soll; dies kann nicht angegeben werden, wenn der Proxy-Server keine Authentifizierung benötigtpassword
ist das Passwort, das zur Authentifizierung am Proxy-Server verwendet werden soll; dies kann nicht angegeben werden, wenn der Proxy-Server keine Authentifizierung benötigt
Verwenden Sie {"state":"absent"}
, um alle Proxy-Konfigurationen auf leer zurückzusetzen (was den Proxy-Server effektiv deaktiviert).
Hinweis: Die Variablen, die zur Authentifizierung am Proxy-Server verwendet werden, gelten als Geheimnisse und sollten daher gesichert werden. Wir empfehlen die Verwendung von Ansible Vault als Quelle dafür.
rhc_environments: []
Die Liste der Umgebungen, bei denen sich das System beim Verbinden registrieren soll.
Hinweis:
- Dies funktioniert nur, wenn das System aus einem unverbundenen Zustand verbunden wird -- es kann die Umgebungen bereits verbundener Systeme nicht ändern
- Dies erfordert, dass die Umgebungen auf dem Registrierungsserver aktiviert sind; in Red Hat Satellite oder Katello wird diese Funktion "Content Views" genannt
Beispiel-Playbooks
Stellen Sie die Verbindung zu Red Hat sicher, einschließlich Insights, unter Verwendung der Authentifizierung mit Benutzername & Passwort:
- name: Systeme registrieren
hosts: all
vars:
rhc_auth:
login:
username: "dein-benutzername"
password: !vault |
$ANSIBLE_VAULT;1.2;AES256;dev
....
roles:
- linux-system-roles.rhc
Stellen Sie sicher, dass bestimmte RHEL 9-Repositories aktiviert sind und ein anderes nicht:
- name: Sicherstellen, dass RHEL 9-Repositories aktiviert sind
hosts: all
vars:
rhc_repositories:
- {name: "rhel-9-for-x86_64-baseos-rpms", state: enabled}
- {name: "rhel-9-for-x86_64-appstream-rpms", state: enabled}
- {name: "codeready-builder-for-rhel-9-x86_64-rpms", state: disabled}
roles:
- linux-system-roles.rhc
Stellen Sie sicher, dass ein RHEL 8-System auf RHEL 8.6 gesperrt ist:
- name: Sicherstellen, dass Systeme auf RHEL 8.6 gesperrt sind
hosts: all
vars:
rhc_release: 8.6
roles:
- linux-system-roles.rhc
Stellen Sie sicher, dass ein System mit Insights verbunden ist, ohne optionale Funktionen wie automatische Updates und Remediation:
- name: Sicherstellen, dass Systeme mit Insights verbunden sind
hosts: all
vars:
rhc_insights:
autoupdate: false
remediation: absent
roles:
- linux-system-roles.rhc
Lizenz
MIT
Configure connectivity of systems to Red Hat
ansible-galaxy install linux-system-roles.rhc