Hüppa põhisisu juurde Hüppa navigatsiooni juurde Hüppa jaluse juurde
Piiratud aja jooksul: Disainipartneri programm — BUSINESS pakett eluaegselt

Eksperimentaalsed VM-id ülevaade

Valmistage ette kohalikud VM-klastrid arenduseks ja testimiseks rdc ops abil ühe käsuga.

Eksperimentaalsed VM-id

Valmistage ette kohalikud VM-klastrid oma tööjaamas arenduseks ja testimiseks, ilma väliste pilveteenuse pakkujateta.

Nõuded

rdc ops nõuab kohalikku adapterit. See ei ole pilvadapteriga saadaval.

rdc ops check

Ülevaade

rdc ops käsud võimaldavad teil luua ja hallata eksperimentaalseid VM-klastreid kohapeal. See on sama infrastruktuur, mida CI konveier kasutab integratsioonitestide jaoks, nüüd saadaval praktiliseks katsetamiseks.

Kasutusjuhtumid:

  • Rediacci juurutuste testimine ilma väliste VM-teenuse pakkujateta (Linode, Vultr jne)
  • Hoidlakonfiguratsioonide arendamine ja silumine kohapeal
  • Platvormi õppimine täielikult isoleeritud keskkonnas
  • Integratsioonitestide käitamine oma tööjaamas

Platvormide tugi

PlatvormArhitektuurTaustarakendusOlek
Linuxx86_64KVM (libvirt)Testitud CI-s
macOSIntelQEMU + HVFTestitud CI-s
LinuxARM64KVM (libvirt)Toetatud (CI-s testimata)
macOSARM (Apple Silicon)QEMU + HVFToetatud (CI-s testimata)
Windowsx86_64 / ARM64Hyper-VKavandatud

Linux (KVM) kasutab libvirti natiivseks riistvara virtualiseerimiseks sillatud võrgustikuga.

macOS (QEMU) kasutab QEMU-t koos Apple’i hüpervisori raamistikuga (HVF) natiivse jõudlusele lähedase töö jaoks, kasutajarežiimi võrgustiku ja SSH-pordi suunamisega.

Windowsi (Hyper-V) tugi on kavandatud. Vaadake üksikasju probleem #380. Nõuab Windows Pro/Enterprise.

Eeltingimused ja seadistamine

Linux

# Installi eeltingimused automaatselt
rdc ops setup

# Või käsitsi:
sudo apt install libvirt-daemon-system virtinst qemu-utils cloud-image-utils docker.io
sudo systemctl enable --now libvirtd

macOS

# Installi eeltingimused automaatselt
rdc ops setup

# Või käsitsi:
brew install qemu cdrtools

Kontrolli seadistust

rdc ops check

See käivitab platvormispetsiifilised kontrollid ja teatab iga eeltingimuse läbimisest/ebaõnnestumisest.

Kiirstart

# 1. Kontrolli eeltingimusi
rdc ops check

# 2. Valmista ette minimaalne klaster (sild + 1 töötaja)
rdc ops up --basic

# 3. Kontrolli VM-i olekut
rdc ops status

# 4. SSH silla VM-i
rdc ops ssh --vm-id 1

# 4b. Või käivita käsk otse
rdc ops ssh --vm-id 1 -c hostname

# 5. Lammuta
rdc ops down

Klastri koosseis

Vaikimisi valmistab rdc ops up ette:

VMIDRoll
Sild1Peamine sõlm, käitab Rediacci sillateenus
Töötaja 111Töötajasõlm hoidlate juurutuste jaoks
Töötaja 212Töötajasõlm hoidlate juurutuste jaoks

Kasutage --basic lippu, et valmistada ette ainult sild ja esimene töötaja (ID-d 1 ja 11).

Kasutage --skip-orchestration, et valmistada ette VM-id ilma Rediacci teenuseid käivitamata, mis on kasulik VM-kihi isoleeritud testimiseks.

Konfiguratsioon

Silla VM kasutab väiksemaid vaikeväärtusi kui töötaja VM-id:

VM rollCPU-dRAMKetas
Sild11024 MB8 GB
Töötaja24096 MB16 GB

Keskkonna muutujad kirjutavad töötaja VM-i ressursid üle:

MuutujaVaikeväärtusKirjeldus
VM_CPU2CPU tuumad töötaja VM kohta
VM_RAM4096RAM MB-des töötaja VM kohta
VM_DSK16Ketta suurus GB-des töötaja VM kohta
VM_NET_BASE192.168.111Võrgu alus (ainult KVM)
RENET_DATA_DIR~/.renetVM-ketaste ja konfiguratsiooni andmekataloog

Käsuviide

KäskKirjeldus
rdc ops setupInstalli platvormieeltingimused (KVM või QEMU)
rdc ops checkKontrolli, kas eeltingimused on installitud ja töötavad
rdc ops up [options]Valmista ette VM-klaster
rdc ops downHävita kõik VM-id ja puhasta
rdc ops statusNäita kõigi VM-ide olekut
rdc ops ssh --vm-id <id> [command...]SSH VM-i või käivita sellel käsk

rdc ops up valikud

ValikKirjeldus
--basicMinimaalne klaster (sild + 1 töötaja)
--liteJäta VM-i ettevalmistamine vahele (ainult SSH-võtmed)
--forceSundige olemasolevate VM-ide taasloomisel
--parallelValmistage VM-id ette paralleelselt
--skip-orchestrationAinult VM-id, Rediacci teenuseid ei käivitata
--backend <kvm|qemu>Kirjutage automaatselt tuvastatud taustarakendus üle
--os <name>OS-i kujutis (vaikimisi: ubuntu-24.04)
--debugDetailne väljund

Platvormide erinevused

Linux (KVM)

  • Kasutab libvirti VM-i elutsükli haldamiseks
  • Sillatud võrgustik, VM-id saavad IP-aadresse virtuaalvõrgus (192.168.111.x)
  • Otsene SSH VM-i IP-aadressidele
  • Nõuab /dev/kvm ja libvirtd teenust

macOS (QEMU + HVF)

  • Kasutab PID-failide kaudu hallatud QEMU protsesse
  • Kasutajarežiimi võrgustik SSH-pordi suunamisega (localhost:222XX)
  • SSH suunatud portide kaudu, mitte otseste IP-aadresside kaudu
  • Cloud-init ISO-d loodud mkisofs abil

Tõrkeotsing

Silumisrežiim

Lisage --debug mis tahes käsule detailse väljundi saamiseks:

rdc ops up --basic --debug

Levinud probleemid

KVM pole saadaval (Linux)

  • Kontrollige, kas /dev/kvm eksisteerib: ls -la /dev/kvm
  • Lubage virtualiseerimise BIOS/UEFI-s
  • Laadige tuuma moodul: sudo modprobe kvm_intel või sudo modprobe kvm_amd

libvirtd ei tööta (Linux)

sudo systemctl enable --now libvirtd

QEMU ei leita (macOS)

brew install qemu cdrtools

VM-id ei käivitu

  • Kontrollige kettaruumi ~/.renet/disks/ kaustas
  • Käitage rdc ops check, et kontrollida kõiki eeltingimusi
  • Proovige rdc ops down seejärel rdc ops up --force