GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Registrieren Sie Red Hat Enterprise Linux und hängen Sie ein Abonnement mit Ansible an

[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]

Ein früher Schritt in unserem Bereitstellungsprozess für Red Hat Enterprise Linux (RHEL)-Systeme besteht darin, das System zu registrieren und ein entsprechendes Abonnement hinzuzufügen. Um diese beiden Schritte zu automatisieren, verwende ich eine Ansible-Rolle, die ich gerne mit Ihnen teilen möchte.

Meine Umgebung

In meiner Umgebung läuft RHEL hauptsächlich in verschiedenen Virtualisierungsclustern und gelegentlich auf dedizierten Servern (Bare Metal). Wir verwenden die folgenden Abonnements für Entwicklung und Produktion:

  • Red Hat Developer Subscription
  • Red Hat Enterprise Linux Server, Standard (physische oder virtuelle Knoten)
  • Red Hat Enterprise Linux für virtuelle Rechenzentren, Standard

Das register-rhel-subscription Rolle

Meine Rolle ist minimalistisch und hat folgende Struktur:

# tree roles/register-rhel-subscription
roles/register-rhel-subscription
|-- defaults
| `-- main.yml
|-- tasks
| `-- main.yml

tasks/main.yml

Das Ansible-Modul redhat_subscription verwaltet die Registrierung und das Abonnement eines Systems mit dem subscription-manager Befehl. Erstellen Sie zunächst Ihren Aktivierungsschlüssel im Kundenportal. Dieser Schlüssel ermöglicht die Registrierung ohne Eingabe von Benutzername und Passwort.

Ordnen Sie diese Taste dem Parameter activationkey zu , etwa so:

activationkey: "{{ org_activationkey }}"

Im obigen Code der Inhalt der Variable org_activationkey wird an den Parameter übergeben. Wie und wo diese Variable definiert wird, wird im nächsten Abschnitt erläutert.

Sie müssen auch die ID Ihrer Organisation zu org_id hinzufügen . Sie finden diese Informationen wie folgt:

sudo subscription-manager identity

Deklariert dann den gewünschten Zielzustand durch:

state: present

In diesem Fall sollte das System registriert und ein Abonnement hinzugefügt werden. Wenn Sie diesen Parameter auf state: absent ändern , wird das System entsprechend abgemeldet.

So sieht der Code aus, wenn alles zusammengefügt ist:

---
# tasks file for register-rhel-subscription
# Register System and add Subcription
- name: Register system and add subscription
  redhat_subscription:
    activationkey: "{{ org_activationkey }}"
    org_id: 1234567
    state: present

defaults/main.yml

In dieser Datei definieren wir den Standardwert für die Variable org_activationkey :

---
# defaults file for register-rhel-subscription
org_activationkey: "my-datacenter-sub"

Der in dieser Datei angegebene Wert kann beispielsweise in host_vars überschrieben werden und group_vars (siehe Verwenden von Variablen). Sie können die Gruppenmitgliedschaften im Ansible-Inventar verwenden, um zu steuern, welches Abonnement einem Host oder einer Gruppe von Hosts zugewiesen wird.

Beispielplaybook

Nachdem die obigen Schritte abgeschlossen sind, können Sie nun das register-rhel-subscription hinzufügen Rolle für Ihr Playbook:

---
- hosts: all
  tasks:
  - name: Group by OS
    group_by:
      key=os_{{ ansible_distribution }}
      changed_when: False

  - hosts: os_RedHat
    roles: - register-rhel-subscription

Schlussfolgerung

Bisher macht diese Lösung einen robusten Eindruck, und das Schreiben dieses Textes dauerte viel länger als die eigentliche Aufgabe. Dies ist ein kleines und einfaches Beispiel dafür, wie Ansible Ihren Sysadmin-Tag etwas einfacher machen könnte.


Linux
  1. Konfigurieren einer IPv6-Adresse in Red Hat Enterprise Linux 7 und 8

  2. Optimieren eines ISO-Images einer Red Hat Enterprise Linux-Installation

  3. Verwendung von Ansible zur Bereitstellung von Microsoft SQL Server 2019 auf Red Hat Enterprise Linux 8

  4. Wie erhalte ich Red Hat Enterprise Linux kostenlos?

  5. Automatische Updates auf Red Hat Enterprise Linux und CentOS Public Cloud Servern manuell aktivieren

So installieren Sie Red Hat Enterprise Linux 8 (RHEL 8)

Installieren und konfigurieren Sie Ansible unter Linux

Automatisierte Ansible Lab-Einrichtung mit Vagrant und Virtualbox unter Linux

Arbeiten mit dem Echtzeit-Kernel für Red Hat Enterprise Linux

Automatisierung von ServiceNow mit Red Hat Ansible Automation Platform

Einrichten eines OpenVPN-Servers mit Red Hat Linux und Viscosity