Benutzerdefinierte RHN Satellite / Spacewalk-Kanäle, Best Practice?


7

Ich richte gerade RHN Satellite ein und alles funktioniert gut. Ich bin dabei, benutzerdefinierte Kanäle zu erstellen, da wir bestimmte Software haben, die für alle Knoten des Satelliten verfügbar sein sollte, z. B. Marionette, Facter, Subversion, PHP (neuere Version als in der Basis vorhanden).

Ich habe versucht, Dokumentation zu Best Practices zu finden. Wie sollen sie eingerichtet werden, wie werden verschiedene Arch behandelt, wie werden Noarch-Pakete behandelt? So synchronisieren Sie Aktualisierungen mit Abhängigkeiten, wenn Sie ein benutzerdefiniertes Paket in einem benutzerdefinierten Kanal aktualisieren (z. B. wird PHP aktualisiert, wie werden alle aktualisierten Abhängigkeiten abgerufen).

Die Channel-Management-Dokumentation von RHEL ( http://www.redhat.com/docs/en-US/Red_Hat_Network_Satellite/5.3/Channel_Management_Guide/html/Channel_Management_Guide-Custom_Channel_and_Package_Management.html ) bietet keine ausreichenden Informationen, um Informationen zu finden dieser Fragen.

Alle Tipps, Tricks und Informationen dazu wären toll!

Antworten:


10

Es gibt einige Dinge, die Sie tun können, um Ihr Leben leichter zu machen. Die erste besteht darin, den Lebenszyklus der Red Hat-Version vollständig zu verstehen .

Eine Sache, die ich Nutzern von Satellite vorschlage, ist, eine Kopie der verfügbaren Kanäle in einer lokalen Datei zu speichern:

# satellite-sync -l > channel_list

Dies erspart Ihnen den Aufwand, auf die Satellitensynchronisierung warten zu müssen, um mit RHN zu kommunizieren und die Liste herunterzuladen. Nach dem Hinzufügen von Kanälen zum Download ist das Wiederherstellen der Liste eine gute Idee, da den bereits synchronisierten Kanälen ein "p" hinzugefügt wird.

Darüber hinaus wird das nächtliche Ausführen der Satellitensynchronisierung nicht schaden und kann die Arbeit erheblich vereinfachen. Beachten Sie jedoch, dass die Synchronisierung in Ihrer lokalen Zeitzone zwischen 1 Uhr morgens und 2:30 Uhr morgens beginnt und danach möglicherweise für einen beliebigen Zeitraum ausgeführt wird. Stellen Sie sicher, dass keine Sicherungen der Satellitendatenbank zu einem ähnlichen Zeitpunkt durchgeführt werden. Bei Bedarf können Sie die Schlafzeit im Cron-Job verkürzen. Dies wird dort eingegeben, damit nicht jeder RHN genau um 1 Uhr morgens in seiner jeweiligen Zeitzone trifft.

Ok nun zu dem, worüber du gefragt hast. Leider gibt es aufgrund der Unterschiede in jeder Organisation, die Satellite verwendet, keine Möglichkeit, umfassende "Best Practices" zu erstellen. Es wird jedoch häufig empfohlen, dass Organisationen, die Klonkanäle verwenden, einen Lebenszyklus vom Typ Dev / Qa / Prod betrachten. Wenn der Dev-Kanal auf einer bestimmten Zeitachse mit dem RHN-Kanal synchronisiert wird (der jede Nacht synchronisiert wird), werden Qa und Prod zu einem späteren Zeitpunkt aktualisiert, falls der Dev alle erforderlichen Aktualisierungstests besteht. Der Prod-Kanal wird dann aktualisiert, wenn der Qa-Kanal seine Tests besteht. Angenommen, Sie aktualisieren den Dev-Kanal monatlich. Eine Woche später aktualisieren Sie den Qa-Kanal gegenüber dem Dev-Kanal, es sei denn, es liegt ein Problem mit den Updates vor. Dann würde der Prod-Kanal eine Woche danach aktualisiert, es sei denn, es gab ein Problem. Es treten zwei Probleme auf: das Handling von Notfallaktualisierungen für kritische Schwachstellen und das Handhaben von organisatorischen Reibungen. Zweitens möchten viele Unternehmen das Maß an Kontrolle, das diese dreistufige Methode bietet. Viele sind jedoch möglicherweise nicht bereit, den Zeitplan für 1 Monat / 1 Woche / 1 Woche einzuhalten. Daher ist es möglicherweise besser für Sie, ein ein- oder zweistufiges System auf ähnliche Weise modellieren zu lassen.

Es wird auch empfohlen, alle zusätzlichen Pakete in untergeordneten Kanälen abzulegen. Wenn Sie also eine Version der Puppe haben, die Sie verwenden, platzieren Sie sie in einem Kanal der obersten Ebene Ihrer eigenen Kreation und erstellen Sie dann einen Klon dieses Kanals als untergeordnetes Element des Dev-Kanals. Sie müssen auch einen Klon dieses Kindes für Qa und Prod erstellen, der der erste Klon ist, der von der nächsten Stufe kommt (Dev -> RHN, Qa -> Dev, Prod -> Qa). Dies ist wichtig, da dadurch die Benutzeroberfläche etwas optimierter wird, wenn Sie eine Kanalaktualisierung über die Benutzeroberfläche durchführen müssen. Es wird außerdem empfohlen, den RHN-Tools-Kanal für alle Ihre Klonkanäle zu klonen.

Möglicherweise haben Sie auch Situationen, in denen Gruppen in Ihrer Entität erfordern, dass alle ihre Systeme RHEL XY und nicht neuer sind. Dies ist zwar einfach mit Paketen wie spacewalk-create-channel zu tun(Der Link führt leider zu einem Dokument, das nur RH-Abonnenten zur Verfügung steht.) Ihre Gruppen sind gefährdet, da sie nicht die neuesten Updates erhalten. Hier ist es wichtig, den Red Hat-Veröffentlichungszyklus und die Freigaberichtlinien des Anbieters zu verstehen. Beispielsweise gehen viele Menschen davon aus, dass SAP nur mit RHEL AB funktioniert, wenn sie in ihrer Dokumentation tatsächlich angeben, dass sie mit einer derzeit unterstützten Version eines genehmigten Betriebssystems arbeiten werden. Außerdem könnten Sie das Paket, das die Datei / etc / RedHat-release in Ihrem Klonkanal aktualisiert, "betrügen" und nicht aktualisieren, aber Sie laufen später Gefahr, dass Supportprobleme auftreten. Daher wird dies nicht empfohlen.

Beachten Sie beim Benennen Ihrer Klonkanäle, dass Satellite diese mithilfe einer einfachen Zeichenfolgensortierung anzeigt. Wenn Sie also möchten, dass Ihre Kanäle in der Benutzeroberfläche leicht verständlich sind, benennen Sie sie so, dass sie mit einer einfachen Zeichenfolgensortierung funktionieren. Ich empfehle Leuten, ihre Klonkanäle zu Beginn mit "Klon" oder ähnlichem zu benennen und dass alle zugeordneten untergeordneten Kanäle einem ähnlichen Schema folgen. Die Entscheidung, dem Namen Architektur hinzuzufügen, liegt bei Ihnen. Daher kann ein Klonkanal als solcher Klon-rhel-5-x86_64 oder mycompany-rhel-5 bezeichnet werden (wenn ich eine Architektur in meiner Organisation verwende). Ich kann mich auch dafür entscheiden, RHEL nicht in den Namen aufzunehmen. Es ist am besten, wenn Sie immer genügend Informationen angeben, um die Art des Kanals vollständig zu verstehen.

Wenn Sie Klonkanäle erstellen, können Sie keine Kickstart-Installationen für Klonkanäle durchführen, es sei denn, Sie erstellen zuerst Kickstart-Verteilungen in Satellite. Die Anweisungen im Link setzen voraus, dass Sie eine ISO importieren. Sie können also die erste Hälfte von Schritt 5 überspringen. Wenn Sie die ISO in Ihr Dateisystem kopieren, können Sie das Paketverzeichnis löschen. Das Wichtigste ist, dass Sie für jede Version von RHEL, die Sie klonen möchten, eine Kickstart-Distribution erstellen müssen. Darüber hinaus verfügt jede Version von RHEL über einen etwas anderen Bootloader. Daher ist es wichtig, nach Möglichkeit die neuesten zu verwenden. Wenn Sie jedoch planen, einen "eingefrorenen" Klon von RHEL 5.6 zu verwenden, wird nicht empfohlen, ein 5.7-Installationsprogramm zu verwenden. Wenn Sie Ihre Kickstart-Bäume benennen, lautet ein Vorschlag clone-rhel5-u1, wobei die Nummer nach dem u der Punktfreigabe entspricht. Somit wäre 6.0 u0 und 6.3 wäre u3. Sie müssen nicht für jeden Klonkanal einen Kickstart-Baum importieren. Der beste Ort, um die ISO zu erhalten, ist das Herunterladen von Red Hat. Sie können einfach die erste CD oder DVD herunterladen. Ich habe keines der anderen Bilder ausprobiert, daher kann ich Ihnen nicht sagen, wie gut sie nicht funktionieren.

Schließlich, wo immer möglich, Skript alles, was Sie in Bezug auf Updates über die API können. Menschen sind faul und machen Fehler, und oft erfordert die Benutzeroberfläche einen zweiten "Bestätigungs" -Klick, den ich gesehen habe, wie Leute oft übersprungen haben, weil sie dachten, ihre Aktion sei abgeschlossen. Darüber hinaus konnte die oben erwähnte organisatorische Reibung in Bezug auf udpate-Zyklen über die API überwunden werden. Zum Beispiel könnten Sie einmal im Monat Ihren Dev-Kanal mithilfe der API gegen den RHN-Kanal aktualisieren. Dann würden Sie jedem eine E-Mail senden. Eine Woche später würde der QS-Kanal gegen den Dev-Kanal aktualisiert, wieder würde jeder eine E-Mail erhalten. Eine Woche später würde der Prod-Kanal gegen den Qa-Kanal aktualisiert.

# update-channel --to prod --from qa

Dies würde dann die folgenden Kanäle aktualisieren: prod-rhel5-x86_64 und qa-rhel5-x86_64. Noch intelligenter würde es auch alle untergeordneten Kanäle aktualisieren.

Hoffentlich kommst du damit ein bisschen weiter.

* Hinweis: Mein Tagesjob ist bei Red Hat, aber die oben genannten stellen keine offiziellen Supportinformationen dar. Die obigen Informationen sind nur ein Vorschlag, um Ihnen das Verständnis von RHN Satellite zu erleichtern.


Super Post Red Tux.
Ives

1
Vielen Dank, es ist schön zu wissen, dass die Bemühungen von Zeit zu Zeit geschätzt werden. :-)
Red Tux

0

Wenn ich es wäre, würde ich sie auf kontrollierte Weise mit Reposync oder ähnlichem abrufen. Ziehen Sie sie alle ein oder zwei Monate herunter, oder testen Sie sie in dev / qa / test / Whatever_you_have_you_can_break_at_will, und synchronisieren Sie sie dann mit Ihren internen Produktions-Repos, von denen Sie Spacewalk / RHN SS bereits erzählt haben.


Nur dass RHN Satellite so nicht funktioniert. Es wurde entwickelt, um eine lokal synchronisierte Kopie von RHN-Kanälen auf einem lokalen System zu speichern, wodurch Organisationen ein viel höheres Maß an Kontrolle darüber erhalten, wie Pakete / Kanäle innerhalb der Organisation verwendet werden.
Red Tux
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.