22/12/2012
At træde ind i Foreman-universet kan virke overvældende i starten, men kernen i dets kraftfulde automatisering ligger i en simpel, men fundamental enhed: Værten (Host). Denne artikel er designet til nye brugere af Foreman, der ønsker at forstå, hvordan man forbereder systemet til installation af et nyt operativsystem. Vi vil guide dig gennem processen med at oprette og konfigurere værter, som er det absolut første og vigtigste skridt. Vi antager, at du har en frisk installation af Foreman uden plugins og med standardkonfigurationen. Lad os dykke ned i, hvordan du fylder dit Foreman med data om din infrastruktur.

Hvad er en 'Host' i Foreman?
I Foreman er en Host-objektet hjertet i alt. Det repræsenterer en hvilken som helst maskine, du ønsker at administrere. Det kan være en fysisk bare metal-server, en virtuel maskine (VM) på en hypervisor, en instans i skyen, eller endda en netværksenhed som en router. Uanset typen kalder Foreman det simpelthen en Host. Hver vært skal have et navn og tilhøre en organisation og en lokation. Dette er det absolutte minimum for at definere en vært.
Værter kan opdeles i to hovedkategorier: administrerede (managed) og uadministrerede (unmanaged). Valget mellem disse to har stor betydning for, hvordan Foreman interagerer med din infrastruktur.
- Uadministrerede (Unmanaged) Værter: Disse fungerer primært som en del af dit lager (inventory). Foreman vil ikke aktivt forsøge at ændre konfigurationen på eksterne tjenester for disse værter. Du kan bruge dem til at holde styr på din infrastruktur, generere rapporter, køre fjernkommandoer via plugins som Remote Execution, og få et samlet overblik. Det er det perfekte sted at starte.
- Administrerede (Managed) Værter: For disse værter tager Foreman en aktiv rolle. Når du opretter en administreret vært, kan Foreman automatisk oprette DHCP-reservationer, DNS-poster (A, AAAA, PTR) og forberede alt, hvad der er nødvendigt for provisioning – altså den automatiske installation af et operativsystem. Dette er Foremans sande styrke.
Metoder til at Tilføje Værter i Foreman
Der er flere måder at befolke din Foreman-instans med værter på. Hver metode har sine fordele afhængigt af din eksisterende infrastruktur og dine mål.
1. Manuel Oprettelse af Uadministrerede Værter
Den hurtigste måde at oprette en uadministreret vært på er via kommandolinjeværktøjet Hammer CLI. Når Hammer er installeret og konfigureret, kan du oprette en vært med en simpel kommando:
hammer host create --name min-foerste-vaert \ --managed false \ --build false \ --organization 'Default Organization' \ --location 'Default Location'
Her fortæller --managed false Foreman, at det er en uadministreret vært. --build false er påkrævet for uadministrerede værter. Du kan tilføje flere parametre som --ip, --mac, og --owner for at give flere detaljer. Kør hammer host create --help for en komplet liste.
Alternativt kan du bruge Foremans REST API direkte. Følgende cURL-kommando opnår det samme som Hammer-kommandoen ovenfor:
curl -X POST https://foreman.eksempel.com/api/hosts \ -d '{"name": "min-foerste-vaert", "managed": false, "organization_id": "2", "location_id": "1"}' \ -u admin:changeme -H "Content-Type: application/json"
Når værten er oprettet, kan du se og redigere den i Foremans web-brugerflade under Hosts -> All Hosts.
2. Registrering af Eksisterende Værter
Fra Foreman 2.3 og frem kan du bruge en smart registreringsfunktion. Denne metode genererer en kommando, som du kører på en eksisterende maskine, der derefter automatisk registrerer sig selv i Foreman. Processen er som følger:
- Opret et Operativsystem: Gå til Hosts -> Operating Systems og opret en post for det OS, du vil registrere (f.eks. CentOS 8). Du behøver kun at angive navn, version og OS-familie.
- Tilknyt en Skabelon: Naviger til Hosts -> Provisioning Templates og find skabelonen 'Linux registration default'. Gå til fanen 'Association' og tilknyt den til det OS, du lige har oprettet.
- Vælg Skabelon på OS: Gå tilbage til dit operativsystem, rediger det, og under fanen 'Templates' vælger du 'Linux registration default' for 'Registration' typen.
- Generer Kommando: Gå nu til Hosts -> Register Host. Vælg dit operativsystem og klik på 'Generate command'. Du vil få en cURL-kommando, som du skal køre som root på den maskine, du vil registrere.
Kommandoen indeholder et midlertidigt token, der autentificerer anmodningen. Når den køres, vil maskinen blive oprettet som en uadministreret vært i Foreman.

3. Import fra en Compute Resource
Hvis du allerede har en virtualiseringsplatform som VMware, oVirt/RHV, OpenStack eller en cloud-udbyder som AWS eller Google Cloud, er dette den nemmeste metode. Foreman kan forbinde til disse platforme via en såkaldt compute resource.
Først skal du oprette en Compute Resource:
- Naviger til Infrastructure -> Compute Resources og klik på 'Create Compute Resource'.
- Giv den et navn og vælg den relevante udbyder (f.eks. VMware vSphere). Hvis din udbyder ikke er på listen, skal du muligvis installere den tilsvarende pakke (f.eks.
foreman-installer --enable-foreman-compute-vmware). - Udfyld de nødvendige oplysninger for at forbinde til din platform (serveradresse, brugernavn, adgangskode).
- Når den er oprettet, kan du gå til dens detaljeside og klikke på fanen 'Virtual Machines'. Foreman vil nu liste alle VM'er på den platform.
- Ud for hver VM har du en 'Import'-knap. Du kan vælge at importere den som en unmanaged host (som et simpelt lagerobjekt) eller en managed host (klar til provisioning).
Import som en uadministreret vært er ligetil og kræver kun et klik. Import som en administreret vært kræver, at du udfylder yderligere oplysninger, som vi vil dække nedenfor.
Konfiguration af en Administreret Vært
Når du opretter eller importerer en vært som 'managed', beder Foreman om meget mere information. Dette skyldes, at Foreman skal vide præcis, hvordan den skal installere operativsystemet. Dette gøres via provisioning-skabeloner, der bruger en række variabler til at hente information om værten.
Forståelse af disse variabler er nøglen til at tilpasse dine installationer. Her er en tabel over nogle af de mest almindelige host-variabler, du vil støde på i skabeloner:
| Variabel | Beskrivelse |
|---|---|
@host.name | Værtens fulde kvalificerede domænenavn (FQDN). |
@host.ip | Værtens primære IP-adresse. |
@host.mac | Værtens primære MAC-adresse. |
@host.architecture | Værtens arkitektur (f.eks. x86_64). |
@host.operatingsystem.name | Navnet på det tildelte operativsystem (f.eks. CentOS). |
@host.operatingsystem.major | Major-versionen af OS'et (f.eks. 8). |
@host.ptable | Navnet på den tildelte partitionstabel. |
@host.medium | Det tildelte installationsmedie, som Foreman skal bruge. |
@host.subnet.gateway | Gateway-adressen for værtens subnet. |
@host.subnet.dns_primary | Den primære DNS-server for værtens subnet. |
@host.grub_pass | Returnerer værtens krypterede bootloader-adgangskode. |
host_param('parameter_name') | Henter værdien af en specifik, brugerdefineret værtsparameter. |
Disse variabler bruges i skabeloner som Kickstart (for Red Hat-baserede systemer) eller Preseed (for Debian-baserede systemer) til dynamisk at generere en konfigurationsfil, der er skræddersyet til hver enkelt vært. Når en vært startes via PXE-boot, serverer Foreman denne skræddersyede fil, hvilket muliggør en fuldautomatisk, 'zero-touch' installation.
Udnyt Dine Værtsdata
Når du først har dine værter i Foreman, begynder det sjove. Foreman har en kraftfuld søgefunktion, der lader dig finde præcis, hvad du leder efter.
- Find alle CentOS 7 og 8 servere:
I søgefeltet på Hosts -> All Hosts kan du skrive:os_title ~ CentOS and (os_major = 8 or os_major = 7) - Find alle værter i et bestemt subnet:
For at finde værter med en primær IP i 192.168.0.0/24-netværket, kan du søge:ip ~ 192.168.0.* - Generer en CSV-rapport over værter ejet af en bestemt gruppe:
Gå til Monitor -> Report Templates, find skabelonen 'Host - Statuses' og klik 'Generate'. I 'hosts' filterfeltet kan du bruge en søgning somowner = "linux admins"for at begrænse rapporten til kun de relevante værter.
Ofte Stillede Spørgsmål (FAQ)
- Hvad er den primære forskel på en administreret og en uadministreret vært?
- En administreret vært er en, som Foreman aktivt konfigurerer og provisionerer (installerer OS på). Foreman interagerer med DHCP, DNS osv. for den. En uadministreret vært er primært til lager og overvågning; Foreman ændrer ikke på eksterne tjenester for den.
- Skal jeg bruge kommandolinjen for at tilføje en vært?
- Nej. Selvom Hammer CLI og API er meget effektive, kan du også oprette værter ved at importere dem fra en compute resource eller registrere dem via web-brugerfladen. Manuel oprettelse af uadministrerede værter i UI er dog mindre ligetil end for administrerede.
- Hvad er en 'compute resource'?
- En 'compute resource' i Foreman er en forbindelse til en ekstern virtualiserings- eller cloud-platform, såsom VMware vCenter, oVirt, AWS EC2 eller Google Cloud. Det giver Foreman mulighed for at se, administrere og importere virtuelle maskiner fra disse platforme.
- Kan Foreman håndtere både virtuelle maskiner og fysiske servere?
- Ja, absolut. En 'Host' i Foreman kan repræsentere en hvilken som helst maskine, uanset om den er fysisk (bare metal) eller virtuel. Provisioning-processen er lidt forskellig (f.eks. PXE-boot for bare metal vs. image-baseret for cloud), men Foreman håndterer begge dele.
Konklusion
At tilføje værter til Foreman er det grundlæggende skridt, der åbner op for en verden af automatisering. Uanset om du starter simpelt med et par uadministrerede værter for at skabe et overblik, eller du dykker direkte ned i at importere hele din VM-infrastruktur for at forberede fuldautomatisk provisioning, giver Foreman dig værktøjerne til at tage kontrol. Ved at forstå de forskellige metoder til at oprette værter og de data, der er knyttet til dem, er du godt på vej til at mestre installation og administration af operativsystemer i hele din infrastruktur.
Hvis du vil læse andre artikler, der ligner Guide: Installation af OS med Foreman, kan du besøge kategorien Sundhed.
