Un ambiente fornisce un contesto isolato o "sandbox" per l'esecuzione dei proxy API. In una singola organizzazione, puoi creare più ambienti. Per maggiori informazioni, vedi Informazioni sugli ambienti e sui gruppi di ambienti.
Il seguente codice mostra un esempio di configurazione degli override in cui sono definiti più ambienti. Tieni presente che gli ambienti prod e test hanno alias host diversi:
namespace: my-namespace org: my-organization ... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ...
virtualhosts che mappa il relativo routingRules
all'ambiente o agli ambienti.
virtualhosts:
- name: default
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- env: testvirtualhosts:
- name: external
hostAliases: ["apiprod.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- env: prod
Supponiamo che un proxy con il percorso di base /foo1 venga sottoposto a deployment nell'ambiente
test. Puoi chiamare il proxy in questo modo:
curl -k https://api.example.com/foo1
Quando questa chiamata raggiunge l'ingresso, quest'ultimo sa di inviarla al processore di messaggi
associato all'ambiente test, che gestisce la richiesta.
Allo stesso modo, se foo1 viene implementato anche nell'ambiente prod,
puoi effettuare una richiesta proxy
come questa, all'alias host apiprod.mydomain.net:
curl -k https://apiprod.example.com/foo1
La chiamata viene indirizzata dall'ingresso al MP associato a quell'host.
Antipattern: esegui il deployment di tutti i proxy in un unico ambiente ibrido.
Best practice: crea più ambienti e implementa un numero limitato di proxy in ciascuno. Puoi creare regole di routing che specificano a quali ambienti indirizzare i basepath proxy API specifici. Per maggiori dettagli, vedi Configurazione dell'host virtuale.
Limita il numero di deployment dei proxy
Per l'ibrido, il fatto che molti ambienti possano condividere lo stesso host virtuale significa che devi pensare attentamente a come gestire i deployment dei proxy in un determinato ambiente. Nell'ambiente ibrido, la best practice consiste nel creare più ambienti e distribuire un numero limitato di proxy a ciascuno.
Quanti proxy devi eseguire il deployment in un ambiente? Non esiste una risposta univoca a questa domanda. Tuttavia, la tabella seguente fornisce indicazioni generali sul motivo per cui è una buona idea limitare il numero di proxy di cui è stato eseguito il deployment in ogni ambiente e su cosa devi pensare quando gestisci i deployment dei proxy:
| Problema da considerare | Descrizione |
|---|---|
| Tempo di avvio del processore di messaggi | Esiste una correlazione diretta tra il tempo impiegato da un processore di messaggi (MP) per l'avvio e il numero di proxy di cui è stato eseguito il deployment. In un ambiente Kubernetes con scalabilità automatica, un aumento del tempo di avvio potrebbe essere un problema. Più proxy vengono implementati nel MP, più tempo impiegherà l'MP a essere disponibile se deve essere scalato o ricreato. |
| Prestazioni di scalabilità | Se hai eseguito il deployment di più proxy in un ambiente e uno dei proxy riceve molto traffico, quindi viene scalato automaticamente di frequente, tutti i proxy in quell'ambiente vengono scalati insieme. L'effetto sulle prestazioni del ridimensionamento di più proxy con un singolo proxy ad alto traffico potrebbe essere un problema. |
| Vicino rumoroso | Se hai più proxy di cui è stato eseguito il deployment nello stesso ambiente e uno dei proxy si arresta in modo anomalo, tutti i proxy nell'ambiente verranno disattivati durante il riavvio dei processori di messaggi. Limitando il numero di proxy di cui viene eseguito il deployment in un ambiente, riduci al minimo l'impatto di un singolo proxy che si arresta in modo anomalo. |
Riferimento per la configurazione dell'ambiente
Per un elenco completo degli elementi di configurazione dell'ambiente, consulta envs nel
Riferimento per le proprietà di configurazione.
Utilizzo degli ambienti
Per ulteriori informazioni sulla configurazione, consulta i seguenti argomenti: