Gatekeepere med Red Hat OpenShift eller opstrøms Kubernetes
Riepilogo: Denne KB forklarer, hvordan du bruger Red Hat GitHub kubevirt-rawio-addon-lageret til at præsentere PowerMax Gatekeepers for enten et Red Hat OpenShift- eller Upstream Kubernetes-miljø. ...
Istruzioni
PowerMax-gatekeepere
PowerMax Gatekeepers er små enheder (typisk tre MB), der er udskåret fra diske i PowerMax, der fungerer som SCSI-mål for Solutions Enabler-kommandoer. Konfigurations- og statusoplysninger bevares som standard i en PowerMax-værtsdatabasefil symapi_db.bin. Den kaldes PowerMax-konfigurationsdatabasen. Det reducerer antallet af forespørgsler fra værten til lagerarrayerne. Gatekeepers skal være rå enheder, så operativsystemet simpelthen passerer SCSI-kommandoerne uden manipulation. Mens fysiske værter altid arbejder med Gatekeepers (med et understøttet operativsystem), er virtuelle værter begrænset til VMware, der bruger fysiske rå enhedstilknytninger (RDM'er), iSCSI som gæst på Windows eller Linux, NVMe/TCP på Linux eller passthrough-enheder (NIC eller HBA). Kun VMware kan dog præsentere en ægte rå enhed, der anerkendes som en levedygtig Gatekeeper. Andre virtualiseringsløsninger giver brugeren mulighed for at præsentere enheder som "rå", men deres løsninger blokerer nogle SCSI-kommandoer og forhindrer deres brug som Gatekeepers. Solutions Enabler mærker dem som Gatekeepers, men rapporterer en fejl som nedenfor.

Desuden, hvis du undersøger Gatekeepers, viser de en tilstand af "CLS" eller lukket.

Derfor kan du ikke videregive de nødvendige SCSI-kommandoer.
Hvis du vil drage fordel af denne løsning, skal du bruge en protokol, som Solutions Enabler understøtter på det valgte operativsystem. Se produktdokumentationen.
Red Hat GitHub-løsning
Dell anmodede Red Hat om hjælp til at udvikle en løsning til gatekeepere i et OpenShift-miljø for nogle af vores fælles kunder. Til det formål skabte de en løsning, der fungerer for både OpenShift og Upstream Kubernetes med små variationer i implementeringen. GitHub-lageret kaldes kubevirt-rawio-addon som findes her: https://github.com/openshift-cnv/kubevirt-rawio-addon GitHub indeholder en readme-https://github.com/openshift-cnv/kubevirt-rawio-addon/blob/main/README.md.
Tilføjelsen installerer flere komponenter:
- Mutering af webhooks for at ændre objekter undervejs
- Validering af webhook – et OpenShift-specifikt sikkerhedstjek
- Sikkerhedskonfiguration for at tillade privilegerede funktioner
- Kroge til sidevogn
Sidevognen er en lille ekstra beholder, der kører sammen med VM-pod'en og ændrer VM'ens konfiguration på lavt niveau, før den starter. Den opfanger den KubeVirt-genererede VM-konfiguration, finder de kommenterede diske og indstiller rawio=yes. KubeVirt får derefter XML-filen tilbage. Den underliggende libvirt/QEMU-arkitektur understøtter dette, men afslører det ikke, så denne mindre justering er påkrævet. Det er muligt, at KubeVirt udsætter dette i fremtiden, på hvilket tidspunkt løsningen vil være unødvendig.
Implementering på OpenShift
Lageret indeholder alle instruktioner til implementering af denne løsning. Da Red Hat ejer løsningen, anbefaler Dell, at du følger de aktuelle instruktioner, som kan ændres i fremtiden. Dell opdaterer ikke vidensbase, så den afspejler disse ændringer. Som en service stiller vi nedenstående grundlæggende oplysninger til rådighed, men opfordrer brugere af denne KB til at bruge dem sammen med arkivet.
Som nævnt kan du implementere dette på OpenShift eller Upstream Kubernetes. Som trin er for OpenShift, er der et par elementer, der skal bemærkes, hvis du udfører Upstream Kubernetes.
- Hvis du implementerer på vanilje K8s, skal du have cert-manager installeret. Hvis PowerMax CSI-driveren er installeret, er den til stede.
- Hvis du implementerer på vanilje K8'er, har du brug for et privilegeret navnerum. Du kan bruge navneområdet i scripts eller oprette dit eget og derefter ændre scripts.
De to scripts, du har brug for til implementering, findes i hack-mappen . Det rawio-setup.sh er det første script og er det samme for begge platforme, men vær opmærksom på, at det er afhængigt af openshift-cnv-navneområdet, som kun findes på OpenShift. Tilføj navneområdet, eller opret et nyt, og rediger scriptet til K8s. VM-oprettelsesscriptet er unikt for platformen, men bruger igen openshift-cnv-navneområdet. For OpenShift er det rawio-create-vm-openshift.sh. Scriptene er designet til at oprette et testmiljø og skal ændres til en produktionsopsætning. Især opretter rawio-setup.sh scriptet en virtuel SCSI-enhed. Rediger i stedet scriptet, så det bruger din PowerMax-storageklasse. Derudover antager scriptet en enkelt node til planlægning af VM'en. Rediger den, så den kan køre på enhver arbejdsnode. Scriptet bruger et pre-buit Fedora OS.
Eksempelscripts findes i supplerende indhold.
Grundlæggende trin
- Klon lageret: git klonhttps://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 annote –overwrite -n openshift-cnv hco kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[{"op": "tilføj", "sti": "/spec/configuration/developerConfiguration/featureGates/-", "værdi": "Sidevogn"}]'
- Kør opsætningen: rawio-setup.sh
- Opret VM: rawio-create-vm-openshift.sh
- Installer dit operativsystem (forudsat at du ikke bruger et forudbygget)
Vær opmærksom på, at PowerMax CSI ikke kan oprette en enhed, der er mindre end 50 MB, selvom du beder om en traditionel 3 MB Gatekeeper. Det forårsager ikke noget problem.


Andre virtualiseringsløsninger
Ingen af nedenstående løsninger fungerer med dette Red Hat-lager.
- K8s-baserede løsninger som SUSE Harvester - SUSE skal udvikle deres egen løsning
- KVM-løsninger som Proxmox eller Oracle KVM (oVirt) - disse er ikke KubeVirt-baserede og kan ikke bruges
Informazioni aggiuntive
rawio-setup.sh
*******************************************
rawio-create-vm-openshift.sh