| Cluster | Le cluster existant : 3 nœuds Ready ou plus, labels de rôle durcis (control plane, compute, conteneurs, réseau, stockage), zones vérifiées | Créé avec la bibliothèque kind s'il n'y en a pas (--create-kind) : un nœud, kindnet, local-path ; avec --ingress, les ports 80 et 443 redirigés ; les images OpenKeel du moteur de conteneurs local chargées dans le nœud |
| Opérateurs | Installés s'ils manquent : cert-manager, opérateurs MariaDB et RabbitMQ, KubeVirt et CDI (sans émulation), metrics-server (certificats des kubelets vérifiés), Traefik derrière un LoadBalancer quand aucune IngressClass n'est utilisable | Idem, plus PowerDNS et ExternalDNS ; KubeVirt émule sans /dev/kvm ; metrics-server avec --kubelet-insecure-tls ; Traefik sur des hostPorts |
| Namespace, Multus, CRD | Namespace openkeel (Pod Security baseline imposé, restricted en avertissement), plugin Multus thick, CRD OpenKeelTenant et OpenKeelCustomer | Idem, plus l'attachement factice openkeel-ovn (le lab n'a pas Kube-OVN) |
Observabilité (--grafana) | Prometheus Operator, Loki sur S3, Alloy, Grafana, avant les services de données dont les moniteurs ont besoin de leurs CRD | La même pile avec une réplique chacun |
| Services de données | openkeel-infra : MariaDB Galera et RabbitMQ en TLS (tailles des charts, 3 répliques), une base, des comptes et des secrets par composant, la CA interne ; l'opérateur de topologie RabbitMQ configuré pour lui faire confiance ; chaque objet attendu Ready | Une réplique, MariaDB 5 Gio, RabbitMQ 2 Gio ; les correctifs de NetworkPolicy du lab pour kindnet |
| Raccords de plateforme | — | StorageProfile CDI pour local-path, CA du proxy d'upload CDI pour Glance, bases OVN Northbound et Southbound (ovn-central) pour Neutron |
| Composants | Une release Helm par composant, dans l'ordre des dépendances, valeurs par défaut des charts (3 répliques, autoscaling), placement sur les nœuds par labels de rôle ; openkeel-configurator | Chaque réplique à 1, pas d'autoscaling, volumes ReadWriteOnce de 5 Gio au plus, backends de repli (pilote dummy de Manila, Zun sur runc sans Kata, Nova émulé) |
| Contenu du catalogue | Gabarits m1.tiny à m1.xlarge ; type de partage Manila default | Idem, plus l'image Alpine 3.24.3 cloud-init (vérifiée en SHA-512) et le réseau externe partagé public (203.0.113.0/24) |
Stockage objet (--ceph-s3) | Rook, Ceph et RGW (S3 et Swift) authentifiés par Keystone : 3 moniteurs, pools répliqués 3 fois sur des hôtes distincts, 2 passerelles | La même chose avec un moniteur, une réplique et une passerelle, l'OSD sur un périphérique loop du nœud kind |
Publication (--ingress) | Ingresses des API sur l'IngressClass du cluster, <service>.<domaine> | Traefik, skyline.127.0.0.1.nip.io et les API sur *.127.0.0.1.nip.io |
Démo (--demo) | Le projet démo sur le réseau externe indiqué par --demo-external-network | Le projet démo sur public ; avec CloudKitty, des données valorisées d'exemple |
| Bilan | Chaque étape faite, inchangée ou en échec avec sa cause ; cible, mode et composants enregistrés dans la ConfigMap openkeel-okadm-state ; une exécution interrompue reprend où elle s'est arrêtée | Idem |