Instalar con un Pattern CR¶
Este repositorio es un Validated Pattern. El Validated Patterns Operator instala OpenShift GitOps y aplica los custom resources de este repo. Un recurso Pattern elige el escenario. Los hostnames del clúster no van en git: el operador fija global.localClusterDomain.
Dos escenarios. No mezclar sus archivos de values.
| Escenario | Clúster | Pattern CR | Qué instala |
|---|---|---|---|
| Un nodo, 2.16 | Un nodo, sin almacenamiento ReadWriteMany | hub-216-singlenode.yaml | Canal threescale-2.16, PostgreSQL 15 y Redis 7 externos, Vault, External Secrets. system-storage usa gp3-csi. Recrear ese PVC como ReadWriteOnce. |
| Migración 2.15 a 2.16 | OpenShift con canal threescale-2.15 y una clase ReadWriteMany |
hub-215.yaml | 3scale 2.15 con bases embebidas. En la ventana, extraValueFiles pasa a /values-cutover.yaml. Tras el dump fresco y el smoke test, pasa a /values-216-external.yaml. |
targetRevision en esos archivos es main.
Qué instala cada wave¶
| Wave | Application | Origen |
|---|---|---|
| 2 | vault |
chart hashicorp-vault 0.1.* |
| 2 | openshift-external-secrets |
chart openshift-external-secrets 0.0.* |
| 4 | external-secrets-3scale |
charts/all/external-secrets-3scale |
| 5 | external-db |
charts/all/external-db |
| 6 | Subscription de 3scale | clusterGroup.subscriptions en values-hub.yaml |
| 7 | threescale-apimanager |
charts/all/threescale-apimanager |
Los CR de Subscription los renderiza el chart clustergroup a partir de values-hub.yaml. Este repo no copia CRDs de operadores.
Las imágenes de PostgreSQL y Redis están ancladas en values-global.yaml. Ver Anclar digest de imágenes.
1. Instalar el Validated Patterns Operator¶
Paquete patterns-operator en OperatorHub, canal fast, namespace openshift-operators.
oc apply -f - <<'EOF'
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: patterns-operator
namespace: openshift-operators
spec:
channel: fast
installPlanApproval: Automatic
name: patterns-operator
source: community-operators
sourceNamespace: openshift-marketplace
EOF
oc get csv -n openshift-operators | grep patterns-operator
Esperar el CSV en Succeeded.
2. Aplicar un Pattern CR¶
oc apply -f examples/pattern-cr/hub-216-singlenode.yaml
oc apply -f examples/pattern-cr/hub-215.yaml
Copiar values-secret.yaml.template a ~/values-secret-3scale-216-external-db.yaml y cargarlo. Eso escribe las tres passwords en Vault. No commitear el archivo relleno.
./pattern.sh make load-secrets
./pattern.sh make install despliega el patrón y carga los secretos en un paso, si hay podman. El oc apply del Pattern CR no carga secretos por sí solo.
3. Ver las applications¶
oc get applications -n vp-gitops
oc get csv -n 3scale
oc get csv -n external-secrets-operator
oc get pods -n vault
En el escenario 2.16, los Deployments de bases deben mostrar las imágenes @sha256: de values-global.yaml, y los ExternalSecret deben estar SecretSynced.
Una Application hija en ComparisonError que marca una IP vieja de repo-server se recupera con un refresh duro. El repo-server actual tiene que estar Ready:
oc annotate application -n 3scale-216-external-db-hub --all argocd.argoproj.io/refresh=hard --overwrite
oc get deploy -n 3scale-db -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.template.spec.containers[0].image}{"\n"}{end}'
oc get externalsecret -A
Entrar a Vault y ver los secretos con los comandos de Rotación de credenciales.
Siguiente¶
- Secuencia de migración para el corte desde 2.15
- Operación día 2
- Rotación de credenciales