GNU/Linux >> Linux Esercitazione >  >> Linux

Registra Red Hat Enterprise Linux e allega un abbonamento ad Ansible

[Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente.]

Una fase iniziale del nostro processo di distribuzione per i sistemi Red Hat Enterprise Linux (RHEL) prevede la registrazione del sistema e il collegamento di un abbonamento appropriato. Per automatizzare questi due passaggi, sto utilizzando un ruolo Ansible, che vorrei condividere con te.

Il mio ambiente

Nel mio ambiente, RHEL viene eseguito principalmente all'interno di diversi cluster di virtualizzazione e occasionalmente su server dedicati (bare metal). Utilizziamo i seguenti abbonamenti per lo sviluppo e la produzione:

  • Abbonamento sviluppatore Red Hat
  • Red Hat Enterprise Linux Server, Standard (nodi fisici o virtuali)
  • Red Hat Enterprise Linux per datacenter virtuali, standard

Il register-rhel-subscription ruolo

Il mio ruolo è minimalista e ha la seguente struttura:

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

tasks/main.yml

Il modulo Ansible redhat_subscription gestisce la registrazione e l'abbonamento di un sistema con il subscription-manager comando. Inizia creando la tua chiave di attivazione nel Portale Clienti. Questa chiave consente la registrazione senza la necessità di inserire nome utente e password.

Assegna questa chiave al parametro activationkey , in questo modo:

activationkey: "{{ org_activationkey }}"

Nel codice sopra, il contenuto della variabile org_activationkey viene passato al parametro. Come e dove viene definita questa variabile verrà spiegato nella prossima sezione.

Devi anche aggiungere l'ID della tua organizzazione in org_id . Puoi trovare queste informazioni con quanto segue:

sudo subscription-manager identity

Quindi, dichiara lo stato di destinazione desiderato tramite:

state: present

In questo caso, il sistema deve essere registrato e un abbonamento allegato. Se modifichi questo parametro in state: absent , il sistema verrà annullato di conseguenza.

Ecco come appare il codice quando è tutto messo insieme:

---
# 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 questo file, definiamo il valore predefinito per la variabile org_activationkey :

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

Il valore specificato in questo file può essere sovrascritto, ad esempio, in host_vars e group_vars (vedi Utilizzo delle variabili). Puoi utilizzare le appartenenze ai gruppi nell'inventario Ansible per controllare quale abbonamento è assegnato a un host oa un gruppo di host.

Esempio di playbook

Dopo aver completato i passaggi precedenti, ora puoi aggiungere il register-rhel-subscription ruolo nel tuo playbook:

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

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

Conclusione

Finora questa soluzione ha fatto una solida impressione e scrivere questo testo ha richiesto molto più tempo del compito effettivo. Questo è un piccolo e semplice esempio di come Ansible potrebbe semplificare il tuo Sysadmin Day.


Linux
  1. Configurazione di un indirizzo IPv6 in Red Hat Enterprise Linux 7 e 8

  2. Ottimizzazione di un'immagine ISO di installazione di Red Hat Enterprise Linux

  3. Come ottenere Red Hat Enterprise Linux gratuitamente?

  4. Abilita manualmente gli aggiornamenti automatici sui server cloud pubblici Red Hat Enterprise Linux e CentOS

  5. Le 20 migliori certificazioni e corsi di Red Hat Linux

Come installare Red Hat Enterprise Linux 8 (RHEL 8)

Installa e configura Ansible in Linux

Configurazione automatizzata di Ansible Lab con Vagrant e Virtualbox in Linux

Lavorare con il kernel in tempo reale per Red Hat Enterprise Linux

Automatizzare ServiceNow con Red Hat Ansible Automation Platform

Configurazione di un server OpenVPN con Red Hat Linux e Viscosity