Documentatie
Proxmox VE
Proxmox is de hypervisor-integratie. Hij maakt virtuele machines aan door een template te klonen, volgt de taak terwijl hij loopt, en houdt het paneel gelijk met wat het cluster werkelijk meldt.
Wat je nodig hebt
Proxmox gebruikt geen wachtwoord voor automatisering. Je maakt een API-token aan: een identifier uit drie delen plus een secret dat je één keer te zien krijgt.
- Host: de volledige basis-URL van de API. Die moet HTTPS zijn; poort 8006 wordt voor je ingevuld als je hem weglaat.
- Token-id: in de vorm user@realm!tokennaam, precies zoals Proxmox het schrijft.
- Token-secret: de waarde die Proxmox één keer toont bij het aanmaken van het token.
- TLS-fingerprint: het certificaat van de node zelf, niet van de autoriteit die het uitgaf.
openssl s_client -connect pve.example.com:8006 </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Instellingen
Vier niet-geheime keuzes, op het tabblad Instellingen. Zonder die keuzes is de integratie wel verbonden, maar kan hij niets aanmaken.
- Node: op welke node in het cluster gebouwd wordt. Het paneel biedt de nodes aan die je agent werkelijk gezien heeft; heeft hij er nog geen gezien, dan kun je er zelf een intypen.
- Storage: waar de schijven van nieuwe machines terechtkomen.
- Bridge: optioneel. Hij wordt vastgelegd en gebruikt waar het platform een machine uit het niets aanmaakt, maar een kloon erft de bridge van het template waaruit hij gekloond is.
- Range vmid's: het blok Proxmox-vmid's waarbinnen Provibr mag toewijzen.
De range is de veiligheidsgrens
Dit is de belangrijkste instelling op de pagina. Provibr wijst alleen identifiers toe binnen de range die je opgeeft en raakt nooit iets daarbuiten aan. Houd je eigen productiemachines buiten de range en ze blijven buiten bereik, wat er ook in het paneel geklikt wordt.
Hoe een machine wordt aangemaakt
Een machine aanmaken is één kloontaak, gevolgd door een klein aantal configuratie-aanroepen. Het paneel volgt de taak en toont echte voortgang waar Proxmox die meldt.
- Het template dat je koos klonen, naar de node uit de instellingen.
- De bootschijf vergroten tot de maat die je bestelde. Een schijf kan alleen groeien; is het template al groter, dan houdt de machine de maat van het template.
- Cores, geheugen en de cloud-init-instellingen – adres, gateway, dns-servers, gebruiker, SSH-sleutels – in één configuratie-aanroep toepassen.
- De firewall aanzetten en de machine starten.
Linux-containers
Een Proxmox-koppeling draagt virtuele machines én containers. Het plan bepaalt welke van de twee een bestelling oplevert, en vanaf dat moment reist de soort met elk commando mee in plaats van geraden te worden. Een container is geen kleinere virtuele machine: hij deelt de kernel van zijn host, en daarom is hij goedkoop en daarom is een handvol dingen er eenvoudigweg niet.
- Het plan zegt virtuele machine, container, of allebei. Bij allebei kiest de klant tijdens de bestelling, en de imagelijst volgt die keuze in plaats van er stilletjes een in te vullen.
- Een container wordt niet gekloond maar uitgepakt, uit een containertemplate op de koppeling. Dat is een ander soort bron dan de templates waaruit een virtuele machine gekloond wordt, en een image dat alleen een containertemplate heeft verschijnt niet in de lijst voor virtuele machines.
- Unprivileged is de standaard. De root binnen de container is geen root op de host, en dat is wat je wilt tenzij iets uitdrukkelijk anders vraagt.
- Opslag is een rootvolume plus mountpoints. Het paneel toont ze als sleutel, bron en pad binnen de gast; het hostpad staat er met opzet niet bij, want dat zegt meer over de host dan over de machine.
Elk commando draagt de soort mee, en een commando dat niet past wordt geweigerd voordat het een opdracht wordt, met de reden op het scherm. Twee van die redenen betekenen werkelijk iets anders.
- Nooit: opstarten vanaf het netwerk, een lege machine, en firmware of opstartvolgorde. Een container start niet vanaf een netwerkkaart en heeft geen firmware om iets aan te vragen.
- Nog niet: schijven, netwerkkaarten en het hardwarescherm. Een container hééft opslag en netwerk, in een andere vorm, en de velden van een virtuele machine ervoor hergebruiken zou dezelfde woorden een tweede betekenis geven.
- Beschikbaar: aanmaken, starten, stoppen, afsluiten, status, verwijderen, opschorten, hervatten, herinstalleren, de firewall en zijn antispoofing.
- De console is een apart geval, en het is een nog-niet met een reden: de console van een virtuele machine is een beeldscherm, en dat heeft een container niet. Wat hij wél heeft is een terminal, en dat is een ander protocol en een andere client.
Backups hebben één verschil dat makkelijk misgaat, en het werkt precies andersom dan bij een virtuele machine. Een mountpoint zit alleen in de backup als hij daarvoor is aangevinkt; een schijf van een virtuele machine zit erin tenzij hij is uitgevinkt. Een container met een datavolume dat niemand aanvinkte heeft dus een backup die er compleet uitziet en alleen het rootvolume bevat.
Een container herinstalleren is een vervanging en geen kloon eroverheen. Het paneel laat je eerst zien wat er met elk mountpoint gebeurt, en vervangt de machine pas daarna onder één slot: het rootvolume wordt opnieuw opgebouwd, en wat als behouden vermeld stond wordt teruggezet. Wat niet in die lijst stond wordt niet hersteld.
Cloud-init
Provibr schrijft een vaste, kleine set cloud-init-sleutels en verder niets: de vier netwerkconfiguraties, dns-servers en zoekdomein, de gebruiker, het configuratietype, SSH-sleutels, het wachtwoord en of er bij de eerste start een pakketupgrade moet draaien. De lijst bestaat aan beide kanten, dus een veld dat toevallig cloud-init heet kan nooit een willekeurige machine-instelling herschrijven.
De optie om bij de eerste start te upgraden heeft Proxmox 8.1 of nieuwer nodig. Op een oudere node wordt de aanroep zonder die optie opnieuw geprobeerd in plaats van te falen.
Wat je daarna kunt doen
Starten, stoppen, afsluiten, pauzeren, hervatten, status verversen, opnieuw installeren en verwijderen. Afsluiten vraagt het eerst netjes aan de gast en valt na een time-out terug op een harde stop.
Schijven en netwerkkaarten kunnen toegevoegd, vergroot, aangekoppeld en losgekoppeld worden. Een schijf kan alleen groeien. De bootschijf en de cloud-init-schijf kunnen niet losgekoppeld worden, en de eerste netwerkkaart ook niet.
De firewall heeft een bewerkbare regellijst en een log, allebei gelezen van en geschreven naar de node zelf.
Goed om te weten
- Een kloon erft de netwerkbridge van zijn template. De bridge op het plan en op de integratie wordt vastgelegd en elders gebruikt, maar niet op een kloon toegepast.
- Het schijfgebruik binnen een virtuele machine kan Proxmox niet zien, dus die grafiek toont de toegewezen grootte en geen verbruikslijn. De andere metingen zijn echt.
- Templates blijven buiten de poll en tellen nooit mee voor je licentie.
- Machines die wel op je cluster staan maar niet in Provibr worden bij elke poll genegeerd. Ze zijn ook niet uit Proxmox te importeren: er is vandaag geen import voor hypervisors.