[Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si jej nyní zdarma.]
První krok v našem procesu nasazení pro systémy Red Hat Enterprise Linux (RHEL) zahrnuje registraci systému a připojení příslušného předplatného. K automatizaci těchto dvou kroků používám roli Ansible, o kterou bych se s vámi rád podělil.
Moje prostředí
V mém prostředí běží RHEL hlavně v rámci různých virtualizačních clusterů a příležitostně na dedikovaných serverech (holých kovech). Pro vývoj a produkci používáme následující předplatné:
- Předplatné pro vývojáře Red Hat
- Red Hat Enterprise Linux Server, standardní (fyzické nebo virtuální uzly)
- Red Hat Enterprise Linux for Virtual Datacenters, Standard
register-rhel-subscription role
 Moje role je minimalistická a má následující strukturu:
# tree roles/register-rhel-subscription
roles/register-rhel-subscription
|-- defaults
| `-- main.yml
|-- tasks
| `-- main.yml
 tasks/main.yml 
 
 Modul Ansible redhat_subscription spravuje registraci systému a předplatné pomocí subscription-manager příkaz. Začněte vytvořením aktivačního klíče na zákaznickém portálu. Tento klíč umožňuje registraci bez nutnosti zadávat uživatelské jméno a heslo.
 Přiřaďte tento klíč parametru activationkey , asi takhle:
activationkey: "{{ org_activationkey }}"
 
 Ve výše uvedeném kódu je obsah proměnné org_activationkey je předán parametru. Jak a kde je tato proměnná definována, bude vysvětleno v další části.
 Musíte také přidat ID vaší organizace do org_id . Tyto informace můžete najít pomocí následujícího:
sudo subscription-manager identity
 Poté deklaruje požadovaný cílový stav prostřednictvím:
state: present 
 V tomto případě by měl být systém zaregistrován a připojeno předplatné. Pokud tento parametr změníte na state: absent , systém bude odpovídajícím způsobem odhlášen.
Takto vypadá kód, když je vše pohromadě:
---
# 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 
 
 V tomto souboru definujeme výchozí hodnotu pro proměnnou org_activationkey :
---
# defaults file for register-rhel-subscription
org_activationkey: "my-datacenter-sub"
 
 Hodnotu zadanou v tomto souboru lze přepsat například do host_vars a group_vars (viz Použití proměnných). Členství ve skupinách v inventáři Ansible můžete použít k řízení toho, které předplatné je přiřazeno hostiteli nebo skupině hostitelů.
Ukázková příručka
 Po dokončení výše uvedených kroků můžete nyní přidat register-rhel-subscription role do vaší příručky:
---
- hosts: all
  tasks:
  - name: Group by OS
    group_by:
      key=os_{{ ansible_distribution }}
      changed_when: False
  - hosts: os_RedHat
    roles: - register-rhel-subscription
 Závěr
Toto řešení zatím působí robustním dojmem a psaní tohoto textu trvalo mnohem déle, než samotný úkol. Toto je malý a jednoduchý příklad toho, jak by Ansible mohl trochu usnadnit váš Sysadmin Day.