linux-system-roles.rhc
rhc
Rola Ansible, która łączy systemy RHEL z Red Hat.
Wymagania
Rola wymaga subscription-manager
, dostępnego w standardowych repozytoriach RHEL, a zazwyczaj zainstalowanego domyślnie na RHEL. W innych dystrybucjach zostanie zainstalowany, jeśli nie jest już dostępny.
Rola wymaga również insights-client
, dostępnego w standardowych repozytoriach RHEL, w przypadku gdy wsparcie Insights jest włączone (a jest domyślnie).
Dodatkowo, rola wymaga rhc
, również dostępnego z standardowych repozytoriów RHEL, w przypadku gdy naprawa Insights jest włączona (a jest to domyślnie).
Wymagania dotyczące kolekcji
Rola wymaga modułów z zewnętrznych kolekcji. Użyj poniższego polecenia, aby je zainstalować:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Zmienne roli
rhc_state: present
Określa, czy system jest połączony z Red Hat; wartości dopuszczalne to present
(domyślnie, aby zapewnić połączenie), absent
i reconnect
.
Przy użyciu reconnect
, system najpierw zostanie odłączony, jeśli był już połączony; z tego powodu rola zawsze zgłosi status "zmieniony".
rhc_organization: "twoja-organizacja"
Organizacja użytkownika. To musisz być określone podczas łączenia, jeśli:
- użytkownik należy do więcej niż jednej organizacji
- używa kluczy aktywacyjnych (patrz
rhc_auth
poniżej)
rhc_auth: {}
Metoda uwierzytelniania używana do połączenia systemu. Musi być określona w przypadku, gdy system może potrzebować połączenia (np. jeśli nie był wcześniej połączony). Jest kilka możliwych metod uwierzytelniania; można określić tylko jedną w danym czasie.
NB: zmienne używane do uwierzytelniania są uważane za sekrety i dlatego powinny być zabezpieczone. Zalecamy użycie Ansible Vault jako źródła dla nich. Poniższe odniesienia opisują jedynie, które klucze istnieją i do czego służą.
Aby uwierzytelnić się przy użyciu nazwy użytkownika i hasła, określ słownik login
używając poniższych obowiązkowych kluczy:
rhc_auth:
login:
username: "twoja-nazwa-użytkownika"
password: "twoje-hasło"
Użyj rhc_organization
, jeśli to konieczne.
Aby uwierzytelnić się przy użyciu kluczy aktywacyjnych, określ słownik activation_keys
, używając poniższych obowiązkowych kluczy, razem z rhc_organization
:
rhc_auth:
activation_keys:
keys: ["klucz-1", ...]
rhc_organization: "twoja-organizacja"
rhc_server: {}
Szczegóły serwera rejestracji, do którego należy się połączyć; może zawierać następujące klucze opcjonalne:
rhc_server:
hostname: "nazwa-serwera"
port: 443
prefix: "prefiks-serwera"
insecure: false
hostname
to nazwa hosta serweraport
to port, do którego należy się połączyć na serwerzeprefix
to prefiks (zaczynający się od/
) dla wywołań API do serwerainsecure
określa, czy wyłączyć weryfikację certyfikatu SSL serwera
rhc_baseurl: ""
Podstawowy adres URL, aby otrzymywać zawartość z serwera subskrypcyjnego.
rhc_repositories: []
Lista repozytoriów do aktywowania lub dezaktywowania w systemie. Każdy element to słownik zawierający dwa klucze:
name
to nazwa repozytorium; ten klucz jest obowiązkowystate
to stan tego repozytorium w systemie, może byćenabled
lubdisabled
; ten klucz jest opcjonalny, a jego domyślną wartością jestenabled
rhc_repositories:
- {name: "repozytorium-1", state: enabled}
- {name: "repozytorium-2", state: disabled}
rhc_release: "wydanie"
Wydanie, które ma być ustawione dla systemu. Typowo używane, aby zablokować system RHEL na określonej wersji RHEL.
Użyj {"state":"absent"}
(a nie ""
), aby faktycznie usunąć ustalone wydanie dla systemu.
rhc_insights:
state: present
Określa, czy system jest połączony z Insights; wartości dopuszczalne to present
(domyślnie, aby zapewnić połączenie) i absent
.
rhc_insights:
autoupdate: true
Określa, czy system automatycznie aktualizuje dynamiczną konfigurację. Jest domyślnie włączone.
rhc_insights:
ansible_host: "przykład-host"
Konfiguruje nazwę hosta ansible z własną wartością dla rekordu systemu w Host Based Inventory (HBI). Ta nazwa hosta jest używana w playbookach przez naprawy. Domyślnie to null
, a jeśli nie jest określona, używa nazwy hosta systemu.
Możliwe wartości tej zmiennej:
null
lub pusty ciąg: nazwa hosta ansible nie jest zmieniana.{state: absent}
: nazwa hosta ansible jest usuwana w pliku konfiguracyjnym insights-client, a Host Based Inventory (HBI) jest aktualizowane, aby używać nazwy hosta systemu.- każda inna wartość ciągu: nazwa hosta ansible jest zmieniana w Host Based Inventory (HBI).
rhc_insights:
display_name: "Przykładowy Host"
Konfiguruje nazwę wyświetlaną z własną wartością dla rekordu systemu w Host Based Inventory (HBI). Ta nazwa wyświetlana służy tylko do identyfikacji hosta w inwentarzu. Domyślnie to null
, a jeśli nie jest określona, używa nazwy hosta systemu.
Możliwe wartości tej zmiennej:
null
lub pusty ciąg: nazwa wyświetlana nie jest zmieniana- każda inna wartość ciągu: nazwa wyświetlana jest zmieniana w Host Based Inventory (HBI).
Uwaga: Jeśli nie zostanie jawnie ustawiona podczas rejestracji, nazwa wyświetlana jest ustawiana na nazwę hosta domyślnie. Nie można automatycznie cofnąć jej do nazwy hosta, ale można ją ustawić ręcznie.
rhc_insights:
remediation: present
Określa, czy system jest skonfigurowany do przeprowadzenia naprawy Insights; wartości dopuszczalne to present
(domyślnie, aby zapewnić naprawę) i absent
.
Należy pamiętać, że naprawa Insights jest obsługiwana tylko na RHEL 8.4 lub nowszym, ponieważ wymagane pakiety są dostępne tylko od tej wersji; w starszych wersjach ten parametr nie ma wpływu.
rhc_insights:
tags: {}
Słownik tagów, który jest dodawany do rekordu systemu w Host Based Inventory (HBI); typowo używany do grupowania i tagowania systemów oraz do wyszukiwania systemów w inwentarzu.
Możliwe wartości tej zmiennej:
null
lub pusty ciąg (np.:{}
): zawartość pliku tagów nie jest zmieniana{state: absent}
: wszystkie tagi są usuwane (poprzez usunięcie pliku tagów)- każda inna wartość: plik jest tworzony z określonymi tagami
Ponieważ tagi są dowolnymi wartościami do tagowania systemów, nie ma ustalonego formatu. W określonym słowniku klucze są ciągami, a typ wartości może być dowolnym typem danych (ciągi, liczby, listy, słowniki, itp.).
Przykład tagów skonfigurowanych w dokumentacji insights-client
dokumentacji:
rhc_insights:
tags:
group: _nazwa-grupy-wartości_
location: _nazwa-lokalizacji-wartości_
description:
- RHEL8
- SAP
klucz 4: wartość
rhc_proxy: {}
Szczegóły serwera proxy do użycia przy łączeniu:
rhc_proxy:
hostname: "nazwa-proxy"
scheme: http
port: 4321
username: "twoja-nazwa-użytkownika"
password: "twoje-hasło"
hostname
to nazwa hosta serwera proxyscheme
to schemat do użycia dla serwera proxy, zazwyczaj "http" lub "https", domyślnie "http"port
to port, do którego należy się połączyć na serwerze proxyusername
to nazwa użytkownika do uwierzytelnienia na serwerze proxy; może nie być określona, jeśli serwer proxy nie wymaga uwierzytelnianiapassword
to hasło do uwierzytelnienia na serwerze proxy; może nie być określone, jeśli serwer proxy nie wymaga uwierzytelnienia
Użyj {"state":"absent"}
, aby zresetować wszystkie konfiguracje proxy na puste (efektywnie dezaktywując serwer proxy).
NB: zmienne używane do uwierzytelnienia na serwerze proxy są uważane za sekrety i dlatego powinny być zabezpieczone. Zalecamy użycie Ansible Vault jako źródła dla nich.
rhc_environments: []
Lista środowisk, do których należy się zarejestrować podczas łączenia systemu.
NB:
- to działa tylko wtedy, gdy system jest łączony z niepołączonego stanu -- nie może zmienić środowisk już połączonych systemów
- to wymaga, aby środowiska były włączone na serwerze rejestracyjnym; w Red Hat Satellite lub Katello to funkcja nazywana "Content Views"
Przykładowe playbooki
Zapewnij połączenie z Red Hat, w tym Insights, uwierzytelniając się przy użyciu nazwy użytkownika i hasła:
- name: Rejestracja systemów
hosts: all
vars:
rhc_auth:
login:
username: "twoja-nazwa-użytkownika"
password: !vault |
$ANSIBLE_VAULT;1.2;AES256;dev
....
roles:
- linux-system-roles.rhc
Zapewnij, że określone repozytoria RHEL 9 są włączone, a inne nie:
- name: Zapewnij, że repozytoria RHEL 9 są włączone
hosts: all
vars:
rhc_repositories:
- {name: "rhel-9-for-x86_64-baseos-rpms", state: enabled}
- {name: "rhel-9-for-x86_64-appstream-rpms", state: enabled}
- {name: "codeready-builder-for-rhel-9-x86_64-rpms", state: disabled}
roles:
- linux-system-roles.rhc
Zapewnij, że system RHEL 8 jest zablokowany na RHEL 8.6:
- name: Zapewnij, że systemy są zablokowane na RHEL 8.6
hosts: all
vars:
rhc_release: 8.6
roles:
- linux-system-roles.rhc
Zapewnij, że system jest połączony z Insights, bez opcji takich jak automatyczne aktualizacje i naprawy:
- name: Zapewnij, że systemy są połączone z Insights
hosts: all
vars:
rhc_insights:
autoupdate: false
remediation: absent
roles:
- linux-system-roles.rhc
Licencja
MIT
Configure connectivity of systems to Red Hat
ansible-galaxy install linux-system-roles.rhc