[¿Quiere probar Red Hat Enterprise Linux? Descárguelo ahora gratis.]
Un primer paso en nuestro proceso de implementación para los sistemas Red Hat Enterprise Linux (RHEL) consiste en registrar el sistema y adjuntar una suscripción adecuada. Para automatizar estos dos pasos, estoy usando un rol de Ansible, que me gustaría compartir con ustedes.
Mi entorno
En mi entorno, RHEL se ejecuta principalmente dentro de diferentes clústeres de virtualización y, ocasionalmente, en servidores dedicados (bare metal). Usamos las siguientes suscripciones para desarrollo y producción:
- Suscripción de desarrollador de Red Hat
- Servidor Red Hat Enterprise Linux, estándar (nodos físicos o virtuales)
- Red Hat Enterprise Linux para centros de datos virtuales, estándar
El register-rhel-subscription
rol
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 registro y la suscripción de un sistema con subscription-manager
dominio. Comience por crear su clave de activación en el Portal del cliente. Esta clave permite el registro sin necesidad de ingresar el nombre de usuario y la contraseña.
Asigne esta clave al parámetro activationkey
, así:
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 define esta variable se explicará en la siguiente sección.
También debe agregar la ID de su organización en org_id
. Puede encontrar esta información con lo siguiente:
sudo subscription-manager identity
Luego, declara el estado objetivo deseado a través de:
state: present
En este caso, se debe registrar el sistema y adjuntar una suscripción. Si cambia este parámetro a state: absent
, el sistema se cancelará 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 predeterminado para 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, en host_vars
y group_vars
(ver Uso de variables). Puede utilizar las pertenencias a grupos en el inventario de Ansible para controlar qué suscripción se asigna a un host o a un grupo de hosts.
Guía de ejemplo
Con los pasos anteriores completados, ahora puede agregar el register-rhel-subscription
rol a tu 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 da una impresión sólida, y escribir este texto tomó mucho más tiempo que la tarea real. Este es un ejemplo pequeño y simple de cómo Ansible podría hacer que su Día del administrador del sistema sea un poco más fácil.