| Cluster | Il cluster esistente: 3 nodi Ready o più, etichette di ruolo rafforzate (control plane, compute, container, rete, storage), zone verificate | Creato con la libreria kind se non ce n'è uno (--create-kind): un nodo, kindnet, local-path; con --ingress, le porte 80 e 443 inoltrate; le immagini OpenKeel del motore di container locale caricate nel nodo |
| Operator | Installati se mancano: cert-manager, operatori MariaDB e RabbitMQ, KubeVirt e CDI (senza emulazione), metrics-server (certificati dei kubelet verificati), Traefik dietro un LoadBalancer quando nessuna IngressClass è utilizzabile | Idem, più PowerDNS ed ExternalDNS; KubeVirt emula senza /dev/kvm; metrics-server con --kubelet-insecure-tls; Traefik su hostPort |
| Namespace, Multus, CRD | Namespace openkeel (Pod Security baseline imposto, restricted come avviso), plugin Multus thick, CRD OpenKeelTenant e OpenKeelCustomer | Idem, più l'attachment segnaposto openkeel-ovn (il lab non ha Kube-OVN) |
Osservabilità (--grafana) | Prometheus Operator, Loki su S3, Alloy, Grafana, prima dei servizi dati i cui monitor hanno bisogno delle loro CRD | Lo stesso stack con una replica ciascuno |
| Servizi dati | openkeel-infra: MariaDB Galera e RabbitMQ in TLS (dimensioni dei chart, 3 repliche), un database, account e secret per componente, la CA interna; l'operatore di topologia di RabbitMQ configurato per fidarsene; ogni oggetto atteso fino a Ready | Una replica, MariaDB 5 GiB, RabbitMQ 2 GiB; le correzioni di NetworkPolicy del lab per kindnet |
| Integrazione con la piattaforma | — | StorageProfile di CDI per local-path, CA del proxy di upload di CDI per Glance, database OVN Northbound e Southbound (ovn-central) per Neutron |
| Componenti | Una release Helm per componente, in ordine di dipendenza, valori predefiniti dei chart (3 repliche, autoscaling), posizionamento sui nodi tramite etichette di ruolo; openkeel-configurator | Ogni replica a 1, niente autoscaling, volumi ReadWriteOnce di al massimo 5 GiB, backend sostitutivi (driver dummy di Manila, Zun su runc senza Kata, Nova emulato) |
| Contenuto del catalogo | Flavor da m1.tiny a m1.xlarge; tipo di share Manila default | Idem, più l'immagine Alpine 3.24.3 cloud-init (verificata con SHA-512) e la rete esterna condivisa public (203.0.113.0/24) |
Object storage (--ceph-s3) | Rook, Ceph e RGW (S3 e Swift) autenticati da Keystone: 3 monitor, pool replicati 3 volte su host diversi, 2 gateway | Lo stesso con un monitor, una replica e un gateway, l'OSD su un dispositivo loop del nodo kind |
Pubblicazione (--ingress) | Ingress delle API sull'IngressClass del cluster, <servizio>.<dominio> | Traefik, skyline.127.0.0.1.nip.io e le API su *.127.0.0.1.nip.io |
Demo (--demo) | Il progetto demo sulla rete esterna indicata da --demo-external-network | Il progetto demo su public; con CloudKitty, dati tariffati di esempio |
| Riepilogo | Ogni passo eseguito, invariato o fallito con la sua causa; obiettivo, modalità e componenti registrati nella ConfigMap openkeel-okadm-state; un'esecuzione interrotta riprende da dove si era fermata | Idem |