Strážci brány se systémem Red Hat OpenShift nebo upstreamovým systémem Kubernetes
Zusammenfassung: Tento článek znalostní databáze vysvětluje, jak používat úložiště Red Hat GitHub kubevirt-rawio-addon k prezentaci strážců brány PowerMax v prostředí Red Hat OpenShift nebo Upstream Kubernetes. ...
Weisungen
Strážci brány PowerMax
Strážci brány PowerMax jsou malá zařízení (obvykle tři MB) vytvořená z disků v úložišti PowerMax, která fungují jako cíle SCSI pro příkazy nástroje Solutions Enabler. Informace o konfiguraci a stavu se uchovávají v databázovém souboru hostitele PowerMax, symapi_db.bin ve výchozím nastavení. Tato konfigurační databáze se označuje jako konfigurační databáze PowerMax. Snižuje počet dotazů od hostitele na pole úložišť. Gatekeepery musí být nezpracovaná zařízení, aby operační systém jednoduše předával příkazy SCSI bez manipulace. Zatímco fyzičtí hostitelé vždy fungují se servery Gatekeeper (s podporovaným operačním systémem), virtuální hostitelé jsou omezeni na VMware pomocí mapování fyzických nezpracovaných zařízení (RDM), in-Guest iSCSI v systému Windows nebo Linux, in-Guest NVMe/TCP v Linuxu nebo průchozích zařízení (NIC nebo HBA). Pouze VMware však může představit skutečné surové zařízení, které je uznáváno jako životaschopný Gatekeeper. Jiná virtualizační řešení umožňují uživateli prezentovat zařízení jako "surová", ale jejich řešení blokují některé příkazy SCSI a brání tak jejich použití jako gatekeeperů. Nástroj Solutions Enabler je označí jako Gatekeepery, ale nahlásí chybu, jak je uvedeno níže.

Kromě toho, pokud prozkoumáte Gatekeepery, ukazují stav "CLS" nebo uzavřený.

Proto nelze předat potřebné příkazy SCSI.
Chcete-li využít výhod tohoto řešení, musíte použít protokol, který Solutions Enabler podporuje ve zvoleném operačním systému. Nahlédněte prosím do produktové dokumentace.
Řešení Red Hat GitHub
Společnost Dell požádala společnost Red Hat o pomoc s vývojem zástupného řešení pro Gatekeepers v prostředí OpenShift pro některé naše společné zákazníky. Za tímto účelem vytvořili řešení, které funguje jak pro OpenShift, tak pro Upstream Kubernetes s mírnými odchylkami v implementaci. Úložiště GitHub se nazývá kubevirt-rawio-addon a nachází se zde: https://github.com/openshift-cnv/kubevirt-rawio-addon GitHub obsahuje https://github.com/openshift-cnv/kubevirt-rawio-addon/blob/main/README.md readme.
Doplněk nainstaluje několik komponent:
- Mutace webhooků pro úpravu objektů za chodu
- Ověření webhooku – bezpečnostní kontrola specifická pro OpenShift
- Konfigurace zabezpečení umožňující privilegované funkce
- Háček sajdkáry
Sajdkára je malý další kontejner, který běží společně s podem virtuálního počítače a před spuštěním upraví konfiguraci nízké úrovně virtuálního počítače. Zachytí konfiguraci virtuálního počítače vygenerovanou KubeVirtem, najde disky s poznámkami a nastaví rawio=yes. KubeVirt pak získá zpět XML. Základní architektura libvirt/QEMU to podporuje, ale nezpřístupňuje to, takže je vyžadována tato drobná úprava. Je možné, že to KubeVirt v budoucnu odhalí a v tomto okamžiku bude náhradní řešení zbytečné.
Implementace na platformě OpenShift
Repozitář obsahuje všechny pokyny pro implementaci tohoto řešení. Vzhledem k tomu, že vlastníkem řešení je společnost Red Hat, doporučuje společnost Dell postupovat podle aktuálních pokynů, které se mohou v budoucnu změnit. Společnost Dell nebude aktualizovat článek KB, aby tyto změny odrážel. Jako laskavost níže uvádíme základní informace, ale doporučujeme uživatelům tohoto KB, aby je používali společně s úložištěm.
Jak je uvedeno, můžete to implementovat na OpenShift nebo Upstream Kubernetes. Vzhledem k tomu, že kroky jsou pro OpenShift, existuje několik poznámek, pokud provádíte upstreamový Kubernetes.
- Pokud implementujete na vanilla K8s, musíte mít nainstalovaný správce certifikátů. Pokud je nainstalován ovladač PowerMax CSI, je přítomen.
- Pokud implementujete na vanilla K8s, potřebujete privilegovaný obor názvů. Obor názvů můžete použít ve skriptech nebo si vytvořit vlastní a pak skripty upravit.
Dva skripty, které potřebujete k implementaci, jsou ve složce hack . rawio-setup.sh je první skript a je stejný pro obě platformy, ale uvědomte si, že spoléhá na obor názvů openshift-cnv, který je přítomen pouze na OpenShift. Přidejte jmenný prostor nebo vytvořte nový a upravte skript pro K8s. Skript pro vytvoření virtuálního počítače je jedinečný pro platformu, ale opět používá openshift-cnv obor názvů. Pro OpenShift je to rawio-create-vm-openshift.sh. Skripty jsou navržené tak, aby vytvořily testovací prostředí a budou vyžadovat úpravu pro produkční nastavení. Skript rawio-setup.sh zejména vytvoří virtuální SCSI zařízení. Místo toho upravte skript tak, aby používal třídu úložiště PowerMax. Skript navíc předpokládá jeden uzel pro plánování virtuálního počítače. Upravte ho tak, aby ho bylo možné spustit na libovolném pracovním uzlu. Skript používá předinstalovaný operační systém Fedora.
Ukázkové skripty jsou v doplňkovém obsahu.
Základní kroky
- Naklonujte úložiště: git clonehttps://github.com/openshift-cnv/kubevirt-rawio-addon.git
- Nainstalujte manifest: oc apply -fhttps://github.com/openshift-cnv/kubevirt-rawio-addon/releases/download/v0.1.0/rawio-addon-openshift.yaml
- Nainstalujte sajdkáru: oc annotate –overwrite -n openshift-cnv hco kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[{"op": "add", "cesta": "/spec/configuration/developerConfiguration/featureGates/-", "hodnota": 'Sidecar'}]'
- Spusťte instalaci: rawio-setup.sh
- Vytvořte virtuální počítač: rawio-create-vm-openshift.sh
- Nainstalujte si operační systém (za předpokladu, že nepoužíváte předem vytvořený)
Mějte na paměti, že PowerMax CSI nemůže vytvořit zařízení menší než 50 MB, i když požádáte o tradiční 3MB Gatekeeper. Nezpůsobuje to problém.


Další virtualizační řešení
Žádné z níže uvedených řešení s tímto úložištěm Red Hat nefunguje.
- Řešení založená na K8s, jako je SUSE Harvester - SUSE musí vyvinout vlastní řešení
- KVM řešení jako Proxmox nebo Oracle KVM (oVirt) - nejsou založena na KubeVirt a nelze je použít
Weitere Informationen
rawio-setup.sh
*******************************************
rawio-create-vm-openshift.sh