Questo documento fornisce una panoramica della funzionalità Runtime Configurator e descrive i concetti chiave correlati. Per scoprire 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 come una gerarchia di coppie chiave-valore in Google Cloud Platform. Puoi utilizzare queste coppie chiave-valore per:
- Configurare i servizi in modo dinamico
- Comunicare gli stati del servizio
- Inviare una 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 un'altra applicazione può 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 monitora una coppia di chiavi specifica e restituisce il valore quando la coppia di chiavi cambia, mentre il servizio Waiter attende una condizione di fine specifica e restituisce una risposta quando questa condizione viene soddisfatta.
Utilizza Runtime Configurator tramite l'interfaccia a riga di comando gcloud o come API autonoma.
Concetti
Risorsa di configurazione
Una risorsa Config contiene un elenco gerarchico di variabili. Puoi creare configurazioni diverse per scopi diversi. Ad esempio, puoi separare le configurazioni in base all'ambiente (prod, dev, test), in base a diversi livelli di applicazioni o servizi (back end, 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 monitorare i valori delle variabili per comunicare informazioni alle tue applicazioni, segnalare uno stato di completamento, inviare notifiche di modifiche ai dati e altro ancora. Le variabili sono gerarchiche, pertanto la chiave della variabile potrebbe avere diversi livelli. Ad esempio, le chiavi di variabile di esempio potrebbero essere:
webserver-1/users/name webserver-1/users/favorite_color
Watchers
Puoi utilizzare il metodo
watch()
per monitorare una variabile e restituire un valore quando la variabile cambia, lo watcher scade o viene eliminato. Utilizza la funzionalitàwatch()
per configurare dinamicamente le applicazioni in base alle modifiche dei dati.Camerieri
Se crei una risorsa Waiter per monitorare un prefisso di percorso specifico, il gestore viene restituito quando il numero di variabili sotto il prefisso raggiunge un determinato valore. Questa è una condizione di cardinalità.
Ad esempio, se imposti una condizione per il percorso
/foo
e il numero di percorsi è impostato su 2, la seguente configurazione soddisfa la condizione:/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3" # Not /foo path
Un gestore ha una condizione di errore e una di successo che puoi impostare.
Dopo aver creato un Waiter, il servizio restituisce un oggetto Operation che puoi eseguire polling per il completamento. L'operazione viene completata quando si verifica uno dei seguenti eventi:
- La condizione
success
è soddisfatta. - La condizione
failure
è soddisfatta. - Waiter ha raggiunto la scadenza del timeout specificata nella richiesta iniziale.
L'utilizzo di un gestore è ideale per gli scenari di avvio, in cui potresti dover mettere in pausa un deployment finché non è in esecuzione un determinato numero di servizi.
Passaggi successivi
- Creazione di una risorsa RuntimeConfig.
- Impostazione e recupero dei dati.
- Monitorare una variabile specifica.
- Creare un Waiter.
- Consulta il riferimento v1beta1.
- Consulta le quote per Runtime Configurator.