| Clúster | El clúster existente: 3 nodos Ready o más, etiquetas de rol reforzadas (control plane, compute, contenedores, red, almacenamiento), zonas comprobadas | Creado con la biblioteca kind si no hay ninguno (--create-kind): un nodo, kindnet, local-path; con --ingress, los puertos 80 y 443 redirigidos; las imágenes OpenKeel del motor de contenedores local cargadas en el nodo |
| Operadores | Instalados si faltan: cert-manager, operadores de MariaDB y RabbitMQ, KubeVirt y CDI (sin emulación), metrics-server (certificados de los kubelets verificados), Traefik detrás de un LoadBalancer cuando no hay IngressClass utilizable | Igual, más PowerDNS y ExternalDNS; KubeVirt emula sin /dev/kvm; metrics-server con --kubelet-insecure-tls; Traefik en hostPorts |
| Namespace, Multus, CRD | Namespace openkeel (Pod Security baseline impuesto, restricted como aviso), plugin Multus thick, CRD OpenKeelTenant y OpenKeelCustomer | Igual, más el adjunto provisional openkeel-ovn (el lab no tiene Kube-OVN) |
Observabilidad (--grafana) | Prometheus Operator, Loki sobre S3, Alloy, Grafana, antes de los servicios de datos cuyos monitores necesitan sus CRD | La misma pila con una réplica cada uno |
| Servicios de datos | openkeel-infra: MariaDB Galera y RabbitMQ en TLS (tamaños de los charts, 3 réplicas), una base, cuentas y secrets por componente, la CA interna; el operador de topología de RabbitMQ configurado para confiar en ella; cada objeto esperado hasta Ready | Una réplica, MariaDB 5 GiB, RabbitMQ 2 GiB; las correcciones de NetworkPolicy del lab para kindnet |
| Integración con la plataforma | — | StorageProfile de CDI para local-path, CA del proxy de subida de CDI para Glance, bases OVN Northbound y Southbound (ovn-central) para Neutron |
| Componentes | Una release de Helm por componente, en orden de dependencias, valores por defecto de los charts (3 réplicas, autoscaling), colocación en los nodos por etiquetas de rol; openkeel-configurator | Cada réplica a 1, sin autoscaling, volúmenes ReadWriteOnce de 5 GiB como máximo, backends de sustitución (driver dummy de Manila, Zun sobre runc sin Kata, Nova emulado) |
| Contenido del catálogo | Flavors m1.tiny a m1.xlarge; tipo de share de Manila default | Igual, más la imagen Alpine 3.24.3 cloud-init (comprobada con SHA-512) y la red externa compartida public (203.0.113.0/24) |
Almacenamiento de objetos (--ceph-s3) | Rook, Ceph y RGW (S3 y Swift) autenticados por Keystone: 3 monitores, pools replicados 3 veces entre hosts, 2 pasarelas | Lo mismo con un monitor, una réplica y una pasarela, el OSD en un dispositivo loop del nodo kind |
Publicación (--ingress) | Ingresses de las API en la IngressClass del clúster, <servicio>.<dominio> | Traefik, skyline.127.0.0.1.nip.io y las API en *.127.0.0.1.nip.io |
Demo (--demo) | El proyecto demo en la red externa indicada por --demo-external-network | El proyecto demo en public; con CloudKitty, datos tarificados de ejemplo |
| Resumen | Cada paso hecho, sin cambios o fallido con su causa; objetivo, modo y componentes registrados en la ConfigMap openkeel-okadm-state; una ejecución interrumpida se reanuda donde se detuvo | Igual |