Questo documento fornisce una panoramica della funzionalità Runtime Configurator e descrive i concetti chiave relativi a Runtime Configurator. Per informazioni su come creare una risorsa RuntimeConfig, consulta Creazione ed eliminazione delle risorse RuntimeConfig.
Che cos'è Runtime Configurator?
La funzionalità Runtime Configurator consente di definire e archiviare i dati sotto forma di gerarchia di coppie chiave-valore in Google Cloud Platform. Puoi usare queste coppie chiave-valore per:
- Configura i servizi in modo dinamico
- Comunicare gli stati dei servizi
- Invia notifica delle modifiche ai dati
- Condividere informazioni tra più livelli di servizi
Ad esempio, immagina uno scenario in cui hai un cluster di nodi che eseguono una procedura di avvio. Durante l'avvio, puoi configurare i nodi in modo che segnalino il loro stato a Runtime Configurator, quindi puoi chiedere a un'altra applicazione di eseguire query su Runtime Configurator ed eseguire attività specifiche in base allo stato dei nodi.
Runtime Configurator offre anche un servizio Watcher e un servizio Waiter. Il servizio Watcher controlla una coppia di chiavi specifica e restituisce quando cambia il valore della coppia di chiavi, mentre il servizio Waiter attende una condizione di fine specifica e restituisce una risposta una volta soddisfatta questa condizione.
Puoi utilizzare Runtime Configurator tramite gcloud CLI o come API autonoma.
Concetti
Configura risorsa
Una risorsa di configurazione contiene un elenco gerarchico di variabili. Puoi creare configurazioni diverse per scopi diversi. Ad esempio, puoi separare le configurazioni in base all'ambiente (produzione, sviluppo, test), in base a diversi livelli di applicazioni o servizi (backend, front-end) o in base alle entità (una configurazione per utente della tua applicazione).
Variabili
Le variabili sono coppie chiave-valore che appartengono a una risorsa RuntimeConfig. Le chiavi delle variabili hanno il seguente formato:
projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
Puoi impostare, recuperare e osservare i valori delle variabili per comunicare informazioni alle applicazioni, segnalare uno stato completato, inviare notifiche relative alle modifiche dei dati e altro ancora. Poiché le variabili sono gerarchiche, la chiave della variabile potrebbe avere più livelli. Ad esempio, le chiavi di variabile di esempio potrebbero essere:
webserver-1/users/name webserver-1/users/favorite_color
Guardatori
Puoi utilizzare il metodo
watch()
per osservare una variabile e tornare quando la variabile cambia, lo spettatore in questione scade o lo spettatore viene eliminato. Utilizza la funzionalitàwatch()
per configurare dinamicamente le tue applicazioni in base ai cambiamenti nei dati.Camerieri
Se crei una risorsa Waiter per monitorare uno specifico prefisso del percorso, il cameriere restituisce quando il numero di variabili al di sotto del prefisso raggiunge un determinato importo. Questo è definito come condizione di cardinalità.
Ad esempio, se imposti una condizione per il percorso
/foo
e il numero di percorsi è impostato su 2, la seguente configurazione soddisferà la condizione:/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3" # Not /foo path
Un cameriere ha una condizione di errore e di esito positivo che puoi impostare.
Dopo aver creato un Waiter, il servizio restituisce un oggetto dell'operazione di cui esegui il polling per il completamento. L'operazione è completa quando si verifica una delle seguenti condizioni:
- La condizione
success
è soddisfatta. - La condizione
failure
è soddisfatta. - Waiter ha raggiunto la scadenza di timeout specificata nella richiesta iniziale.
L'utilizzo di un cameriere è l'ideale per gli scenari di avvio, in cui potrebbe essere necessario mettere in pausa un deployment fino a quando un determinato numero di servizi è in esecuzione.
Passaggi successivi
- Creazione di una risorsa RuntimeConfig.
- Impostazione e recupero dei dati.
- Controllo di una variabile specifica.
- Creazione di un Waiter.
- Fai riferimento al riferimento v1beta1.
- Consulta Quote per Runtime Configurator.