Portvoktere med Red Hat OpenShift eller oppstrøms Kubernetes
Zusammenfassung: Denne kunnskapsartikkelen forklarer hvordan du bruker Red Hat GitHub kubevirt-rawio-addon-repositoriet til å presentere PowerMax-portvoktere til enten et Red Hat OpenShift- eller oppstrøms Kubernetes-miljø. ...
Weisungen
PowerMax-portvoktere
PowerMax-portvokterne er små enheter (vanligvis tre MB) som er skåret ut fra disker i PowerMax, og som fungerer som SCSI-mål for Solutions Enabler-kommandoer. Konfigurasjons- og statusinformasjon opprettholdes i en PowerMax-vertsdatabasefil symapi_db.bin som standard. Den er kjent som konfigurasjonsdatabasen for PowerMax. Det reduserer antall henvendelser fra verten til lagringsarrayene. Gatekeepers må være rå enheter slik at operativsystemet bare passerer SCSI-kommandoene uten manipulering. Mens fysiske verter alltid arbeider med portvoktere (med et støttet operativsystem), er virtuelle verter begrenset til VMware ved hjelp av fysiske råenhetstilordninger (RDM-er), iSCSI for gjest på Windows eller Linux, gjeste-NVMe/TCP på Linux eller gjennomgangsenheter (NIC eller HBA). Bare VMware kan imidlertid presentere en ekte rå enhet som er anerkjent som en levedyktig portvakt. Andre virtualiseringsløsninger lar brukeren presentere enheter som "rå", men løsningene deres blokkerer noen SCSI-kommandoer, og forhindrer bruk som portvakter. Solutions Enabler merker dem som portvoktere, men rapporterer en feil som nedenfor.

Videre, hvis du undersøker portvokterne, viser de en tilstand av "CLS" eller lukket.

Derfor kan du ikke sende de nødvendige SCSI-kommandoene.
For å dra nytte av denne løsningen må du bruke en protokoll som Solutions Enabler støtter på det valgte operativsystemet. Se produktdokumentasjonen.
Red Hat GitHub-løsning
Dell ba Red Hat om hjelp til å utvikle en midlertidig løsning for portvoktere i et OpenShift-miljø for noen av våre felles kunder. For å oppnå dette opprettet de en løsning som fungerer for både OpenShift og Upstream Kubernetes med små variasjoner i implementeringen. GitHub-depotet kalles kubevirt-rawio-addon som ligger her: https://github.com/openshift-cnv/kubevirt-rawio-addon GitHub inkluderer en readme-https://github.com/openshift-cnv/kubevirt-rawio-addon/blob/main/README.md.
Tillegget installerer flere komponenter:
- Mutere webhooks for å endre objekter på farten
- Validering av webhook – en OpenShift-spesifikk sikkerhetskontroll
- Sikkerhetskonfigurasjon for å tillate privilegerte funksjoner
- Sidevogn krok
Sidevognen er en liten ekstra beholder som kjører ved siden av VM-kapselen og modifiserer VM-ens konfigurasjon på lavt nivå før den starter. Den avskjærer den KubeVirt-genererte VM-konfigurasjonen, finner de kommenterte diskene og setter rawio = yes. KubeVirt får deretter tilbake XML. Den underliggende libvirt/QEMU-arkitekturen støtter dette, men eksponerer det ikke, så denne mindre justeringen er nødvendig. Det er mulig at KubeVirt avslører dette i fremtiden, da løsningen vil være unødvendig.
Implementering på OpenShift
Repositoriet inneholder alle instruksjonene for implementering av denne løsningen. Fordi Red Hat eier løsningen, anbefaler Dell å følge de gjeldende instruksjonene som kan endres i fremtiden. Dell vil ikke oppdatere KB for å gjenspeile disse endringene. Som en tjeneste gir vi den grunnleggende informasjonen nedenfor, men oppfordrer brukere av denne kunnskapsartikkelen til å bruke dem sammen med repositoriet.
Som nevnt kan du implementere dette på OpenShift eller Upstream Kubernetes. Som trinnene er for OpenShift, er det et par ting å merke seg hvis du gjør oppstrøms Kubernetes.
- Hvis du implementerer på vanilje K8s, må du ha cert-manager installert. Hvis PowerMax CSI-driveren er installert, er dette til stede.
- Hvis du implementerer på vanilje K8s, trenger du et privilegert navneområde. Du kan bruke navneområdet i skriptene eller lage dine egne og deretter endre skriptene.
De to skriptene du trenger for implementering er i hack-mappen . rawio-setup.sh er det første skriptet og er det samme for begge plattformene, men vær oppmerksom på at det er avhengig av openshift-cnv-navneområdet som bare finnes på OpenShift. Legg til navneområdet eller opprett et nytt og endre skriptet for K8-ere. VM-opprettingsskriptet er unikt for plattformen, men bruker igjen openshift-cnv-navneområdet. For OpenShift er det rawio-create-vm-openshift.sh. Skriptene er utformet for å opprette et testmiljø og må endres for et produksjonsoppsett. Spesielt oppretter rawio-setup.sh-skriptet en virtuell SCSI-enhet. I stedet endrer du skriptet for å bruke lagringsklassen PowerMax. I tillegg forutsetter skriptet én enkelt node for planlegging av den virtuelle maskinen. Endre den slik at den kan kjøre på en hvilken som helst arbeidsnode. Skriptet bruker en pre-buit Fedora OS.
Eksempelskript er i tilleggsinnhold.
Grunnleggende trinn
- Klon depotet: git klonehttps://github.com/openshift-cnv/kubevirt-rawio-addon.git
- Installer manifestet: oc apply -fhttps://github.com/openshift-cnv/kubevirt-rawio-addon/releases/download/v0.1.0/rawio-addon-openshift.yaml
- Installer sidevognen: oc annotate –overwrite -n openshift-cnv hco kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[{"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "Sidevogn"}]'
- Kjør oppsettet: rawio-setup.sh
- Opprett VM: rawio-create-vm-openshift.sh
- Installer operativsystemet ditt (forutsatt at du ikke bruker en forhåndsbygd)
Vær oppmerksom på at PowerMax CSI ikke kan opprette en enhet som er mindre enn 50 MB, selv om du ber om en tradisjonell portvakt på 3 MB. Det forårsaker ikke et problem.


Andre virtualiseringsløsninger
Ingen av løsningene nedenfor fungerer med dette Red Hat-depotet.
- K8s-baserte løsninger som SUSE Harvester - SUSE må utvikle sin egen løsning
- KVM-løsninger som Proxmox eller Oracle KVM (oVirt) - disse er ikke KubeVirt-baserte og kan ikke brukes
Weitere Informationen
rawio-setup.sh
*******************************************
rawio-create-vm-openshift.sh