| Cluster | Der vorhandene Cluster: 3 oder mehr Ready-Knoten, gehärtete Rollen-Labels (Control Plane, Compute, Container, Netzwerk, Speicher), Zonen geprüft | Mit der kind-Bibliothek erstellt, wenn keiner existiert (--create-kind): ein Knoten, kindnet, local-path; mit --ingress werden die Ports 80 und 443 weitergeleitet; die OpenKeel-Images der lokalen Container-Engine werden in den Knoten geladen |
| Operatoren | Installiert, wenn sie fehlen: cert-manager, MariaDB- und RabbitMQ-Operatoren, KubeVirt und CDI (ohne Emulation), metrics-server (Kubelet-Zertifikate geprüft), Traefik hinter einem LoadBalancer, wenn keine IngressClass nutzbar ist | Ebenso, dazu PowerDNS und ExternalDNS; KubeVirt emuliert ohne /dev/kvm; metrics-server mit --kubelet-insecure-tls; Traefik auf hostPorts |
| Namespace, Multus, CRDs | Namespace openkeel (Pod Security baseline erzwungen, restricted als Warnung), Multus-Thick-Plugin, CRDs OpenKeelTenant und OpenKeelCustomer | Ebenso, dazu der Platzhalter-Anhang openkeel-ovn (das Lab hat kein Kube-OVN) |
Observability (--grafana) | Prometheus Operator, Loki auf S3, Alloy, Grafana, vor den Datendiensten, deren Monitore ihre CRDs brauchen | Derselbe Stack mit je einer Replik |
| Datendienste | openkeel-infra: MariaDB Galera und RabbitMQ in TLS (Chart-Größen, 3 Repliken), je Komponente eine Datenbank, Konten und Secrets, die interne CA; der Topology-Operator von RabbitMQ vertraut ihr; auf jedes Objekt wird bis Ready gewartet | Eine Replik, MariaDB 5 GiB, RabbitMQ 2 GiB; die NetworkPolicy-Korrekturen des Labs für kindnet |
| Plattform-Anbindung | — | CDI-StorageProfile für local-path, CA des CDI-Upload-Proxys für Glance, OVN-Northbound- und -Southbound-Datenbanken (ovn-central) für Neutron |
| Komponenten | Ein Helm-Release je Komponente, in Abhängigkeitsreihenfolge, Chart-Standardwerte (3 Repliken, Autoscaling), Platzierung auf den Knoten über Rollen-Labels; openkeel-configurator | Jede Replik auf 1, kein Autoscaling, Volumes ReadWriteOnce mit höchstens 5 GiB, Ersatz-Backends (Dummy-Treiber von Manila, Zun auf runc ohne Kata, Nova emuliert) |
| Kataloginhalt | Flavors m1.tiny bis m1.xlarge; Manila-Share-Typ default | Ebenso, dazu das Alpine-3.24.3-cloud-init-Image (per SHA-512 geprüft) und das gemeinsame externe Netz public (203.0.113.0/24) |
Objektspeicher (--ceph-s3) | Rook, Ceph und RGW (S3 und Swift), von Keystone authentifiziert: 3 Monitore, Pools dreifach über Hosts repliziert, 2 Gateways | Dasselbe mit einem Monitor, einer Replik und einem Gateway, das OSD auf einem Loop-Device des kind-Knotens |
Veröffentlichung (--ingress) | Ingresses der APIs auf der IngressClass des Clusters, <service>.<domain> | Traefik, skyline.127.0.0.1.nip.io und die APIs unter *.127.0.0.1.nip.io |
Demo (--demo) | Das Demo-Projekt auf dem mit --demo-external-network angegebenen externen Netz | Das Demo-Projekt auf public; mit CloudKitty bewertete Beispieldaten |
| Zusammenfassung | Jeder Schritt erledigt, unverändert oder mit Ursache fehlgeschlagen; Ziel, Modus und Komponenten in der ConfigMap openkeel-okadm-state festgehalten; ein unterbrochener Lauf setzt dort fort, wo er stehen blieb | Ebenso |