{"id":3338,"date":"2023-01-23T07:00:00","date_gmt":"2023-01-23T06:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=3338"},"modified":"2023-04-10T21:58:00","modified_gmt":"2023-04-10T19:58:00","slug":"vorstellung-der-red-hat-enterprise-linux-rhel-system-roles","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/vorstellung-der-red-hat-enterprise-linux-rhel-system-roles\/","title":{"rendered":"Vorstellung der Red Hat Enterprise Linux (RHEL) System Roles"},"content":{"rendered":"\n<p>In diesem Artikel m\u00f6chte ich euch die RHEL System Roles vorstellen. Er bildet den Beginn einer losen Artikelserie, welche in die einzelnen Rollen einf\u00fchrt und deren Nutzung beispielhaft darstellt.<\/p>\n\n\n\n<p>Dieser Artikel gibt Antworten auf die folgenden Fragen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Was sind RHEL System Roles?<\/li>\n\n\n\n<li>F\u00fcr wen sind RHEL System Roles gedacht?<\/li>\n\n\n\n<li>Wie nutzt man RHEL System Roles?<\/li>\n\n\n\n<li>Wie geht es nach diesem Artikel weiter?<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Was sind RHEL System Roles?<\/h2>\n\n\n\n<p>Die <a href=\"https:\/\/access.redhat.com\/articles\/3050101\">RHEL System Roles<\/a> sind eine Sammlung von Ansible-Rollen <a href=\"#quellen-links\">[2]<\/a>. Sie stellen eine stabile Konfigurations-Schnittstelle bereit, um mehrere RHEL-Releases verwalten und konfigurieren zu k\u00f6nnen.<\/p>\n\n\n\n<p>Sie leiten sich aus dem Upstream-Projekt <a href=\"https:\/\/linux-system-roles.github.io\/\">Linux System Roles<\/a> ab, welches die Distributionen CentOS (6+), Fedora und RHEL (6+) unterst\u00fctzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">F\u00fcr wen sind RHEL System Roles gedacht?<\/h2>\n\n\n\n<p>Die RHEL System Roles  sollen Systemadministratoren bei weit verbreiteten Anwendungsf\u00e4llen unterst\u00fctzen. Dazu z\u00e4hlen z.B. die Konfiguration von Server-Diensten wie SSH, Postfix, Zeitsynchronisation und SELinux sowie Netzwerkschnittstellen, Firewallregeln, etc.<\/p>\n\n\n\n<p>M\u00f6chte ein Admin z.B. seine Server daf\u00fcr konfigurieren, dass sie sich alle mit den gleichen Zeitservern synchronisieren, kann er daf\u00fcr die Rolle <em>timesync<\/em> nutzen. Dabei m\u00fcssen sich Admins nicht mit Implementierungsdetails oder der Frage besch\u00e4ftigen, ob die Zielsysteme <em>ntp <\/em>oder <em>chrony<\/em> als Dienst f\u00fcr die Synchronisierung verwenden. Sie definieren lediglich Werte f\u00fcr die Variablen der Ansible-Rolle und \u00fcberlassen die Details dem Konfigurationsmanagement (Ansible).<\/p>\n\n\n\n<p>Die Rollen k\u00f6nnen direkt genutzt werden. Der Aufwand zur Erstellung und Test der eigenen Rollen entf\u00e4llt bzw. wird stark reduziert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie nutzt man RHEL System Roles?<\/h2>\n\n\n\n<p>Besitzer einer RHEL-Subskription <a href=\"#quellen-links\">[4]<\/a> k\u00f6nnen das Paket <code>rhel-system-roles<\/code> auf ihrem Ansible Controller installieren. Dies kann aus den Repositorien <a href=\"https:\/\/access.redhat.com\/support\/policy\/updates\/extras\/\">RHEL 7 Extras<\/a> bzw. den Application Streams f\u00fcr RHEL 8 und RHEL 9 installiert werden (vgl <a href=\"#quellen-links\">[1]<\/a>). <\/p>\n\n\n\n<p><strong>Beispiel f\u00fcr RHEL 8 und RHEL 9<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># dnf install rhel-system-roles<\/code><\/pre>\n\n\n\n<p>Anschlie\u00dfend findet man die Dokumentation zu den einzelnen Rollen im Pfad <code>\/usr\/share\/doc\/rhel-system-roles\/&lt;ROLLENNAME&gt;\/README.md<\/code>. Neben dem README findet man auch einige Beispiel-Playbooks.<\/p>\n\n\n\n<p>Die Rollen selbst liegen nach der Installation im Verzeichnis <code>\/usr\/share\/ansible\/roles\/<\/code>rhel-system-roles.&lt;ROLLENNAME&gt;. Da sich die RHEL System Roles an die <a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_reuse_roles.html#role-directory-structure\">Role Directory Structure<\/a> halten, findet sich auch hier eine README.md-Datei mit der Dokumentation zur Rolle.<\/p>\n\n\n\n<p><strong>Beispiel f\u00fcr Fedora:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># dnf install linux-system-roles<\/code><\/pre>\n\n\n\n<p>Hier befindet sich die Dokumentation im Pfad <code>\/usr\/share\/doc\/linux-system-roles\/&lt;ROLLENNAME&gt;<\/code> und die Rollen selbst in <code>\/usr\/share\/ansible\/roles\/linux-system-roles.&lt;ROLLENNAME&gt;<\/code>.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus kann man sich die Rollen auch von <a href=\"https:\/\/galaxy.ansible.com\/linux-system-roles\">Ansible Galaxy<\/a> herunterladen.<\/p>\n\n\n\n<p>Damit sind die Vorbereitungen abgeschlossen und man kann mit der Nutzung beginnen. Der folgende Codeblock zeigt dazu das Beispiel eines Playbooks zur Konfiguration von NTP auf einer Gruppe von Hosts (Inhalt der Variable <em>targets<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- hosts: \"{{ targets }}\"\n  vars:\n    timesync_ntp_servers:\n      - hostname: 2.pool.ntp.org\n        pool: yes\n        iburst: yes\n  roles:\n    - rhel-system-roles.timesync<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Wie geht es nach diesem Artikel weiter?<\/h2>\n\n\n\n<p>Um mich selbst mit den RHEL System Roles vertraut zu machen, werde ich mir nach und nach eine Rolle herauspicken, diese in einem separaten Artikel kurz vorstellen und in meiner Labor-Umgebung einsetzen.<\/p>\n\n\n\n<p>Die Labor-Umgebung besteht aus einem Ansible-Controller basierend auf RHEL 8 mit den Paketen <code>ansible-core<\/code> in Version 2.13.3 und <code>rhel-system-roles<\/code> in Version 1.20.1. Die genutzten Versionen m\u00f6gen sich im Laufe der Zeit und in Abh\u00e4ngigkeit zur Verf\u00fcgbarkeit neuer Releases \u00e4ndern. Als Remote-Nodes verwende ich jeweils eine virtuelle Maschine mit RHEL 7, 8 und 9. Die Labor-Umgebung selbst provisioniere ich ebenfalls mit Ansible und der Rolle <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/labor-umgebung-mit-ansible-in-kvm-erstellen\/\" data-type=\"post\" data-id=\"3070\">kvm_provision_lab<\/a>.<\/p>\n\n\n\n<p>Die VMs basieren auf qcow2-Images, welche ich aus dem Red Hat Customer Portal heruntergeladen habe (siehe <a href=\"#quellen-links\">[3]<\/a>).<\/p>\n\n\n\n<p>Die weiteren Artikel werde ich nach deren Ver\u00f6ffentlichung im folgenden Abschnitt verlinken, so dass diese auch von hier aus erreichbar sind.<\/p>\n\n\n\n<p>Ich hoffe, dass diese Serie auch f\u00fcr euch n\u00fctzliche Informationen bereitstellt und freue mich nat\u00fcrlich jederzeit \u00fcber eure R\u00fcckmeldungen dazu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quellen-links\">Quellen und weiterf\u00fchrende Links<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/access.redhat.com\/articles\/3050101\">Red Hat Enterprise Linux (RHEL) System Roles {en}<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/playbooks_reuse_roles.html#role-directory-structure\">Ansible Documentation: Role Directory Structure {en}<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/access.redhat.com\/downloads\/\">Red Hat Software and Download Center {en}<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.redhat.com\/de\/about\/value-of-subscription\">Die Vorteile einer Red Hat Subskription<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-roles-selinux\/\" data-type=\"post\" data-id=\"3346\">RHEL System Roles: selinux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-roles-timesync\/\" data-type=\"post\" data-id=\"3351\">RHEL System Roles: timesync<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-roles-sshd\/\" data-type=\"post\" data-id=\"3359\">RHEL System Roles: sshd<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-system-roles-firewall\/\" data-type=\"post\" data-id=\"3367\">RHEL System Roles: firewall<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel m\u00f6chte ich euch die RHEL System Roles vorstellen. Er bildet den Beginn einer losen Artikelserie, welche in die einzelnen Rollen einf\u00fchrt und deren Nutzung beispielhaft darstellt. Dieser Artikel gibt Antworten auf die folgenden Fragen: Was sind RHEL System Roles? Die RHEL System Roles sind eine Sammlung von Ansible-Rollen [2]. Sie stellen eine<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/vorstellung-der-red-hat-enterprise-linux-rhel-system-roles\/\">[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":[1],"tags":[],"class_list":["post-3338","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3338","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=3338"}],"version-history":[{"count":9,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3338\/revisions"}],"predecessor-version":[{"id":3459,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3338\/revisions\/3459"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=3338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=3338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=3338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}