Registre Red Hat Enterprise Linux y adjunte una suscripción con Ansible

Un primer paso en nuestro proceso de implementación para los sistemas Red Hat Enterprise Linux (RHEL) es registrar el sistema y asociarle una suscripción adecuada. Para automatizar estos dos pasos, utilizo un rol ansible, que me gustaría compartir con ustedes.

Índice

mi entorno

En mi entorno, RHEL se ejecuta principalmente en diferentes clústeres de virtualización y, ocasionalmente, en servidores dedicados (bare metal). Utilizamos las siguientes suscripciones para el desarrollo y la producción:

  • Suscripción de desarrollador de Red Hat
  • Red Hat Enterprise Linux Server, Standard (nodos físicos o virtuales)
  • Red Hat Enterprise Linux para centros de datos virtuales, estándar

el register-rhel-subscription papel

Mi rol es minimalista y tiene la siguiente estructura:

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

tasks/main.yml

el módulo ansible redhat_subscription gestiona el alta y suscripción de un sistema con el subscription-manager pedido. Comience por crear su llave de activación en el portal de clientes. Esta clave permite el registro sin necesidad de ingresar usuario y contraseña.

Asigne esta tecla al parámetro activationkey, entonces:

activationkey: "{{ org_activationkey }}"

En el código anterior, el contenido de la variable org_activationkey se pasa al parámetro. Cómo y dónde se establece esta variable se explicará en la siguiente sección.

También debe agregar el ID de su organización en org_id. Puede encontrar esta información con lo siguiente:

sudo subscription-manager identity

A continuación, declare el estado objetivo deseado a través de:

state: present

En este caso, el sistema debe estar registrado y adjuntar una suscripción. Si cambia esta configuración a state: absent, el sistema será dado de baja en consecuencia.

Así es como se ve el código cuando está todo junto:

---
# 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

En este archivo definimos el valor por defecto de la variable org_activationkey:

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

El valor especificado en este archivo se puede sobrescribir, por ejemplo, host_vars y group_vars (ver Uso de variables). Puede utilizar la pertenencia a grupos en el inventario de Ansible para controlar qué suscripción se asigna a un host o grupo de hosts.

Libro de jugadas de muestra

Después de completar los pasos anteriores, ahora puede agregar el register-rhel-subscription papel en su libro de jugadas:

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

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

Conclusión

Hasta ahora, esta solución está causando una buena impresión y escribir este texto tomó mucho más tiempo que la tarea real. Este es un pequeño ejemplo simple de cómo Ansible podría hacer que su día como administrador de sistemas sea un poco más fácil.

Artículos de interés

Subir