Optimaliseren van RHEL-Registratie en Abonnementsautomatisering
Categories:
Projecten: c2platform/rws/ansible-gis
Automatiseer de registratie en afmelding van RHEL-machines met Vagrant in combinatie met de
vagrant-registration
plugin, wat de ontwikkelingstaken vereenvoudigt.
Probleem
Toegang tot Red Hat-diensten en software repositories is cruciaal voor ontwikkelaars die werken in omgevingen op basis van Red Hat Enterprise Linux (RHEL). Het automatiseren van de systeemregistratie en abonnementsbeheerprocessen is essentieel om ononderbroken toegang tot deze essentiële bronnen te waarborgen.
Context
In omgevingen die RHEL 9 gebruiken, ontstaat de behoefte aan een efficiënte mechanisme om systemen te registreren bij Red Hat Subscription Management (RHSM) en abonnementen te beheren. Dit stelt ontwikkelaars in staat naadloos softwarepakketten te installeren, updates te ontvangen en Red Hat-diensten te gebruiken.
Oplossing
Door gebruik te maken van het Red Hat Developer-abonnement, kunnen ontwikkelaars kostenbesparend hun RHEL 9-systeemregistraties beheren binnen ontwikkelomgevingen. Dit omvat het registreren van het systeem bij RHSM en het koppelen van een ontwikkelaarsabonnement, waardoor toegang tot cruciale Red Hat-software repositories en diensten wordt vrijgegeven.
Om dit proces binnen de C2Platform ontwikkelomgeving te automatiseren, is de vagrant-registration vooraf geïnstalleerd. Dit faciliteert een soepele, geautomatiseerde registratie-ervaring.
Voorbeelden en implementatie
Het onderstaande voorbeeld illustreert het proces van het registreren van een RHEL 9-systeem en het beheren van abonnementen via terminalcommando’s:
subscription-manager register --username <gebruikersnaam>
subscription-manager attach
Voor gedetailleerde automatiseringsvoorbeelden verwijzen we naar het
c2platform/rws/ansible-gis
project. Belangrijke punten
zijn:
- Het
Vagrantfile
bevat een codefragment voor de registratieafhandeling. Indien je je Red Hat Developer accountgegevens configureert met de variabelenRHEL_DEV_ACCOUNT
enRHEL_DEV_SECRET
, zal de setup volledig geautomatiseerd zijn. Indien je deze inloggegevens niet configureert, zal Vagrant je vragen om de inloggegevens telkens wanneer je een RHEL-gebaseerde VM aanmaakt. - Het
Vagrantfile.yml
bevat eenrhel9
boxdefinitie met eenregistration
vlag, die aangeeft dat systemen op basis van deze box automatisch worden geregistreerd bij creatie en worden afgemeld bij verwijdering.
Deze setup garandeert dat systemen die worden opgestart met de rhel9-configuratie automatisch registratie en afmelding afhandelen, wat het ontwikkelingsproces stroomlijnt en ervoor zorgt dat aan Red Hat’s abonnementsbeheer wordt voldaan.
Registratie en Afmelding in Actie:
De volgende terminaluitvoer demonstreert het automatische registratie- en afmeldproces bij het beheren van een Vagrant-box:
- Bij het uitvoeren van
vagrant up
, registreert het systeem zich bij Red Hat, gefaciliteerd door de vagrant-registration plugin. - Het uitvoeren van
vagrant destroy
activeert de afmelding van het systeem, waardoor een schone status behouden blijft en geen onnodige abonnementen actief blijven.
Let op de onderstaande regels met “Registering box with vagrant-registration…”
en “Unregistering box with vagrant-registration…”Laat zien
[:ansible-gis]└2 master(+15/-1,+1/-1) ± vagrant up gsd-ansible-repo --no-provision
Bringing machine 'gsd-ansible-repo' up with 'virtualbox' provider...
==> gsd-ansible-repo: Importing base box 'generic/rhel9'...
==> gsd-ansible-repo: Matching MAC address for NAT networking...
==> gsd-ansible-repo: Checking if box 'generic/rhel9' version '4.3.12' is up to date...
==> gsd-ansible-repo: Setting the name of the VM: ansible-gis_gsd-ansible-repo_1708418067798_69697
==> gsd-ansible-repo: Fixed port collision for 22 => 2222. Now on port 2206.
==> gsd-ansible-repo: Clearing any previously set network interfaces...
==> gsd-ansible-repo: Preparing network interfaces based on configuration...
gsd-ansible-repo: Adapter 1: nat
gsd-ansible-repo: Adapter 2: hostonly
==> gsd-ansible-repo: Forwarding ports...
gsd-ansible-repo: 22 (guest) => 2206 (host) (adapter 1)
==> gsd-ansible-repo: Running 'pre-boot' VM customizations...
==> gsd-ansible-repo: Booting VM...
==> gsd-ansible-repo: Waiting for machine to boot. This may take a few minutes...
gsd-ansible-repo: SSH address: 127.0.0.1:2206
gsd-ansible-repo: SSH username: vagrant
gsd-ansible-repo: SSH auth method: private key
==> gsd-ansible-repo: Machine booted and ready!
==> gsd-ansible-repo: Registering box with vagrant-registration...
==> gsd-ansible-repo: Checking for guest additions in VM...
==> gsd-ansible-repo: Setting hostname...
==> gsd-ansible-repo: Configuring and enabling network interfaces...
==> gsd-ansible-repo: Mounting shared folders...
gsd-ansible-repo: /vagrant => /home/ostraaten/git/gitlab/c2/ansible-gis
gsd-ansible-repo: /arcgis-software-repo => /software/projects/rws
gsd-ansible-repo: /ansible-dev-collections => /home/ostraaten/git/gitlab/c2/ansible-dev-collections
==> gsd-ansible-repo: Machine not provisioned because `--no-provision` is specified.
θ66° [:ansible-gis]└2 master(+15/-1,+1/-1) ±
[:ansible-gis]└2 master(+15/-1,+1/-1) ± vagrant destroy gsd-ansible-repo
==> gsd-ansible-repo: Unregistering box with vagrant-registration...
gsd-ansible-repo: Are you sure you want to destroy the 'gsd-ansible-repo' VM? [y/N] y
==> gsd-ansible-repo: Forcing shutdown of VM...
==> gsd-ansible-repo: Destroying VM and associated drives...
[:ansible-gis]└2 master(+15/-1,+1/-1) ±
De volgende twee handleidingen maken gebruik van Red Hat-boxen met automatische registratie:
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.