Eliminazione di ambienti

Questo argomento spiega come eliminare gli ambienti. Per un'introduzione, vedi Informazioni sugli ambienti e sui gruppi di ambienti.

Informazioni sull'eliminazione degli ambienti

Per eliminare correttamente un ambiente, devi apportare diverse modifiche alla configurazione e applicarle al cluster. Queste modifiche includono la rimozione della definizione dell'ambiente dal file delle sostituzioni, l'eliminazione dei componenti synchronizer, runtime e udca e infine l'applicazione di nuovo delle sostituzioni per ripristinare il cluster senza includere l'ambiente che vuoi eliminare.

Il motivo per cui non puoi eliminare solo l'ambiente in un solo passaggio è che gli altri elementi, synchronizer, runtime, e udca sono collegati a ogni ambiente tramite le loro configurazioni interne. Puoi eliminare correttamente un ambiente solo eliminando e applicando di nuovo le impostazioni.

Come eliminare un ambiente

Supponi di avere due ambienti, test e prod. Nella del file di override, le definizioni potrebbero avere il seguente aspetto:

...
envs:
  - name: test
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apitest.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apiprod.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

Per eliminare l'ambiente prod:

  1. Copia il file di override originale, che contiene sia il file prod e test le definizioni dell'ambiente: in un nuovo file denominato, ad esempio, prod-delete.yaml.
  2. Apri prod-delete.yaml.
  3. Elimina la definizione dell'ambiente test da envs, lasciando solo la definizione prod. Per esempio:
    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
  4. Rimuovi tutto il resto da prod-delete.yaml tranne la configurazione di cassandra, se presente:

    Dopo aver apportato le modifiche precedenti, il file di override dovrebbe avere un aspetto nel seguente modo:

    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    cassandra:
      replicaCount: 3
      resources:
        requests:
          cpu: 3500m
          memory: 7Gi
      storage:
        storageClass: pd-ssd
        capacity: 10Gi
    
      
  5. Run this command to delete the specified components:
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. Apri il file delle sostituzioni originali (quello che include le definizioni sia dell'ambiente di test sia di quello di produzione).
  7. Elimina la definizione dell'ambiente prod dall'elemento envs. Tu vuoi che nel file sia presente solo la definizione di ambiente test.
  8. Applica il file degli override modificati al cluster. Questo comando ricrea l'oggetto e, poiché viene omesso, non ricreare l'ambiente prod.
    apigeectl apply -f prod-delete.yaml -c runtime, udca, synchronizer
  9. Salva le modifiche.

  10. L'operazione non è ancora completata. Ora devi aggiornare gli ambienti nella UI ibrida.

  11. Apri un browser e vai all'interfaccia utente ibrida in Apigee UI.
  12. Rimuovi l'ambiente seguendo i passaggi descritti in Eliminare un ambiente esistente nell'interfaccia utente ibrida.