{"id":2259,"date":"2019-07-26T07:00:17","date_gmt":"2019-07-26T05:00:17","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=2259"},"modified":"2019-07-25T20:37:36","modified_gmt":"2019-07-25T18:37:36","slug":"rhel-system-registrieren-und-subskription-hinzufuegen","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-registrieren-und-subskription-hinzufuegen\/","title":{"rendered":"RHEL-System registrieren und Subskription hinzuf\u00fcgen"},"content":{"rendered":"\n<p>Ein fr\u00fcher Schritt in unserem Bereitstellungsprozess f\u00fcr RHEL-Systeme umfasst die Registrierung des Systems im <a rel=\"noreferrer noopener\" aria-label=\"Red Hat Customer Portal (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/access.redhat.com\/\" target=\"_blank\">Red Hat Customer Portal<\/a> und das Hinzuf\u00fcgen einer geeigneten Subskription. Um diese beiden Schritte zu automatisieren, nutze ich eine <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_reuse_roles.html\">Ansible-Rolle<\/a>, welche ich euch im Folgenden vorstellen m\u00f6chte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Umfeld<\/h2>\n\n\n\n<p>RHEL l\u00e4uft bei uns vorwiegend innerhalb verschiedener Virtualisierungs-Cluster und vereinzelt auf dedizierten Servern (Blech). Wir nutzen f\u00fcr die Entwicklung und den Betrieb folgende Subskriptionen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Red Hat Developer Subscription<\/li><li>Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)<\/li><li>Red Hat Enterprise Linux for Virtual Datacenters, Standard<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Die Rolle &#8218;register-rhel-subscription&#8216;<\/h2>\n\n\n\n<p>Meine Rolle kommt minimalistisch daher und besitzt folgende Strukur:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># tree roles\/register-rhel-subscription               \nroles\/register-rhel-subscription\n|-- defaults\n|   `-- main.yml\n|-- tasks\n|   `-- main.yml<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">tasks\/main.yml<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n# tasks file for register-rhel-subscription\n# Register System and add Subcription\n - name: Register system and add subscription\n   redhat_subscription:\n     activationkey: \"{{ org_activationkey }}\"\n     org_id: 1234567\n     state: present<\/code><\/pre>\n\n\n\n<p><code><a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/redhat_subscription_module.html\">redhat_subscription<\/a><\/code> ist ein <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/modules.html\">Ansible-Modul<\/a>, welches das Kommando <code>subscription-manager<\/code> verwendet, um Registrierung und Subskription eines Systems zu verwalten.<\/p>\n\n\n\n<p>Dem Parameter <code>activationkey<\/code> wird ein <a href=\"https:\/\/access.redhat.com\/articles\/1378093\">Aktivierungsschl\u00fcssel<\/a> \u00fcbergeben, welcher zuvor im Customer Portal erstellt werden muss. Dieser Schl\u00fcssel erm\u00f6glicht eine Registrierung, ohne interaktive Eingabe von Benutzername und Kennwort. In obigem Code wird dem Parameter der Inhalt der Variable <code>org_activationkey<\/code> \u00fcbergeben. Wie und wo diese Variable definiert wird, werde ich im n\u00e4chsten Abschnitt erkl\u00e4ren.<\/p>\n\n\n\n<p>Die ebenfalls erforderliche <code>org_id<\/code> kann man mit dem folgenden Kommando in Erfahrung bringen: <code>sudo subscription-manager identity<\/code><\/p>\n\n\n\n<p>Durch <code>state: present<\/code> wird der gew\u00fcnschte Zielzustand deklariert. In diesem Fall soll das System also registriert werden. \u00c4ndert man diesen Parameter zu <code>state: absent<\/code> wird das System entsprechend de-registriert.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">defaults\/main.yml<\/h3>\n\n\n\n<p>In dieser Datei wird der Standard-Wert f\u00fcr die Variable <code>org_activationkey<\/code> definiert.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n# defaults file for register-rhel-subscription\norg_activationkey: \"my-datacenter-sub\"<\/code><\/pre>\n\n\n\n<p>Der in dieser Datei spezifizierte Wert kann je nach Bedarf z.B. in <em>host_vars<\/em> und <em>group_vars<\/em> \u00fcberschrieben werden (Siehe dazu: <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_variables.html\">Using Variables<\/a>). So kann bspw. \u00fcber die Gruppenzugeh\u00f6rigkeiten im Inventory gesteuert werden, welche Subskription einem Host bzw. einer Gruppe von Hosts zugewiesen werden soll.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiel-Playbook<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: all\n  tasks:\n    - name: Group by OS\n      group_by: key=os_{{ ansible_distribution }}\n      changed_when: False\n\n- hosts: os_RedHat\n  roles:\n    - register-rhel-subscription<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Diesen Text zu schreiben hat deutlich l\u00e4nger gedauert, als die eigentliche Aufgabe umzusetzen. Bisher macht diese L\u00f6sung einen robusten Eindruck.<\/p>\n\n\n\n<p>Falls ihr Fragen oder Anregungen habt, sind diese in den Kommentaren herzlich willkommen. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein fr\u00fcher Schritt in unserem Bereitstellungsprozess f\u00fcr RHEL-Systeme umfasst die Registrierung des Systems im Red Hat Customer Portal und das Hinzuf\u00fcgen einer geeigneten Subskription. Um diese beiden Schritte zu automatisieren, nutze ich eine Ansible-Rolle, welche ich euch im Folgenden vorstellen m\u00f6chte. Umfeld RHEL l\u00e4uft bei uns vorwiegend innerhalb verschiedener Virtualisierungs-Cluster und vereinzelt auf dedizierten Servern<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-registrieren-und-subskription-hinzufuegen\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[532],"tags":[430,305,539],"class_list":["post-2259","post","type-post","status-publish","format-standard","hentry","category-ansible","tag-osbn","tag-planet","tag-redhat_subscription"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=2259"}],"version-history":[{"count":6,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2259\/revisions"}],"predecessor-version":[{"id":2265,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2259\/revisions\/2265"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=2259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=2259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=2259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}