Instalar 3scale 2.15 (lab)¶
Instalar el operador 3scale 2.15 y un APIManager con PostgreSQL y Redis embebidos antes de externalizar. El overlay de BDD no instala el operador 3scale.
Completar primero Requisitos previos.
1. Instalar el operador 3scale (OLM)¶
oc apply -k kustomize/overlays/lab-operator
oc -n 3scale get csv,subscription,pods
Esperar CSV Succeeded y el pod threescale-operator-controller-manager-v2.
Catálogo: redhat-operators / openshift-marketplace. En desconectado, cambiar spec.source de la Subscription.
2. Proveer volumen RWX para system-storage¶
3scale exige ReadWriteMany para el PVC system-storage. En AWS, gp3-csi es RWO. El PVC queda Pending (Volume capabilities not supported).
En laboratorio AWS: crear un filesystem EFS en la VPC del cluster (mount targets + TCP 2049 desde el SG de nodos). Luego aplicar el overlay EFS CSI:
# fileSystemId en kustomize/overlays/lab-efs/kustomization.yaml
oc apply -k kustomize/overlays/lab-efs
oc -n openshift-cluster-csi-drivers get csv,pods | grep efs
oc get sc efs-sc
Detalle: kustomize/overlays/lab-efs/README.md. En otra nube, sustituir efs-sc por una StorageClass RWX equivalente.
3. Desplegar APIManager 2.15 (PostgreSQL embebido)¶
Poner el dominio de apps en kustomize/overlays/lab-apimanager/kustomization.yaml (REPLACE_WILDCARD_DOMAIN, por ejemplo apps.cluster.example.com). El overlay ya apunta fileStorage a efs-sc.
oc apply -k kustomize/overlays/lab-apimanager
oc -n 3scale get apimanager,pods,pvc
Si system-storage nació Pending contra gp3-csi (APIManager aplicado antes de la SC RWX):
oc -n 3scale patch apimanager apimanager --type merge \
-p '{"spec":{"system":{"fileStorage":{"persistentVolumeClaim":{"storageClassName":"efs-sc"}}}}}'
oc -n 3scale delete pvc system-storage
Cuando el APIManager esté healthy, seguir con Externalizar PostgreSQL y Externalizar Redis.
4. Cambiar el canal del operador a 2.16 (solo después de externalizar)¶
oc apply -k kustomize/overlays/operator-216
GitOps fase 1 (operador 3scale + APIManager, no BDD):
oc apply -k gitops/
# hub ACM:
oc apply -k gitops/rhacm/
Poner REPLACE_REPO_URL en los ApplicationSet (gitops/*.yaml, gitops/rhacm/*.yaml) y el wildcard en el overlay lab-apimanager antes del sync.