Questa pagina mostra come visualizzare un'analisi dei costi dei cluster Google Kubernetes Engine (GKE) nell'esportazione di BigQuery per la fatturazione Cloud utilizzando l'allocazione dei costi di GKE.
Puoi utilizzare queste informazioni per distribuire i costi di un cluster ai suoi utenti.
Potenziale aumento del volume di dati
Abilitando l'allocazione dei costi di GKE, puoi aumentare i costi di archiviazione ed esecuzione di query in BigQuery. L'aumento esatto dipende dal numero di combinazioni distinte di etichette e spazi dei nomi che utilizzi nei pod e nei cluster.
L'abilitazione dell'allocazione dei costi di GKE non modifica il costo totale dell'utilizzo di GKE. La somma delle voci di costo nell'esportazione è la stessa, mentre le query e i report esistenti che hai creato sull'esportazione della fatturazione restituiscono gli stessi valori.
Allocazione dei costi di GKE e misurazione dell'utilizzo dei cluster
L'allocazione dei costi di GKE è diversa dalla misurazione dell'utilizzo dei cluster nei seguenti modi:
- L'allocazione dei costi di GKE offre un'alternativa alla misurazione dell'utilizzo dei cluster per ottenere informazioni sui cluster.
- L'allocazione dei costi di GKE calcola i costi dei cluster nel tuo account di fatturazione Cloud invece di aggregare i dati in un modello di Looker Studio.
- L'allocazione dei costi di GKE consente di visualizzare i dati di costo dei cluster nella console Google Cloud di fatturazione Cloud e nell'esportazione dettagliata della fatturazione Cloud.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo
gcloud components update
.
- Assicurati di aver completato i passaggi per esportare i dati di costo dettagliati sull'utilizzo in BigQuery. Se la tua organizzazione sta già esportando dati, devi disporre dell'accesso per eseguire query sulle tabelle.
Limitazioni e restrizioni
- Puoi visualizzare i dati di allocazione dei costi di GKE solo nell'esportazione dettagliata dei dati sui costi di utilizzo di Cloud Billing.
- Devi avere Google Cloud CLI versione 392.0.0 o successive
- Se abiliti l'allocazione dei costi di GKE, l'esportazione della fatturazione inizia a partire da quella data, inclusi gli elementi pubblicitari aggiuntivi per le tue risorse GKE. L'esportazione della fatturazione non esegue il backfill dei dati.
- Se disabiliti l'allocazione dei costi di GKE, l'esportazione della fatturazione non include più elementi pubblicitari, ma non modifica né rimuove gli elementi pubblicitari precedenti generati quando la funzionalità era abilitata.
- I dati di allocazione dei costi di GKE si basano sulle richieste di risorse, non sulle risorse consumate. Per saperne di più sulle differenze tra richieste di risorse, limiti e consumo delle risorse, consulta Best practice di Kubernetes: richieste e limiti delle risorse.
- L'allocazione dei costi di GKE supporta i seguenti tipi di SKU di risorse:
- SKU vCPU di istanze VM di Compute Engine
- SKU RAM delle istanze VM di Compute Engine
- SKU GPU per le istanze VM di Compute Engine
- SKU per la capacità di DP di Compute Engine
- Se un pod ha più di 50 etichette Kubernetes, nessuna di queste etichette sarà disponibile nella sezione Fatturazione Cloud della console Google Cloud o nell'esportazione dettagliata della fatturazione Cloud.
- Dopo aver abilitato l'allocazione dei costi di GKE, possono essere necessari fino a tre giorni prima che i dati vengano visualizzati in Fatturazione Cloud.
- L'allocazione dei costi di GKE include i dati dai dischi permanenti con le seguenti eccezioni:
- Supporta solo le risorse
PersistentVolume
di cui è stato eseguito il provisioning dal driver CSI del disco permanente di Compute Engine o con la classe di archiviazionegce-pd
con la modalità di accessoReadWriteOnce
. - I dischi permanenti con un uptime inferiore a 30 minuti potrebbero non essere monitorati. I dischi permanenti con uptime di almeno 30 minuti vengono sempre monitorati.
- Supporta solo le risorse
Visualizza i costi dei cluster GKE
Quando abiliti l'allocazione dei costi di GKE, il nome del cluster e lo spazio dei nomi dei tuoi carichi di lavoro GKE vengono visualizzati nel campo labels
dell'esportazione della fatturazione in BigQuery:
Metadati | Description | Nome del cluster | Spazio dei nomi |
---|---|---|---|
Chiave di etichetta della risorsa (labels.key ) |
Le etichette Kubernetes
hanno il seguente formato:
k8s-label/${k8s-label-key} , dove
${k8s-label-key} è la chiave dell'etichetta Kubernetes
del pod. L'etichetta di fatturazione k8s-label/${k8s-label-key} ha lo stesso valore dell'etichetta del pod Kubernetes corrispondente. |
goog-k8s-cluster-name |
k8s-namespace |
Valore etichetta risorsa (labels.value ) |
Se una chiave di etichetta Kubernetes è in conflitto con una chiave di etichetta VM, il valore dell'etichetta Kubernetes sostituisce il valore dell'etichetta VM.
Le etichette delle risorse di cluster e pool di nodi vengono applicate alle risorse utilizzando la seguente priorità, dalla più alta alla più bassa:
|
[nome-cluster] | [spazio dei nomi] |
Per ulteriori informazioni, consulta Schema dei dati dettagliati sui costi di utilizzo.
Inoltre, vengono utilizzati i seguenti spazi dei nomi per tenere traccia delle risorse overhead e non allocate:
kube:system-overhead
: le risorse sono riservate all'overhead del sistema.kube:unallocated
: le risorse non vengono né richieste dai carichi di lavoro né richieste per l'overhead del sistema.
Se GKE non è in grado di determinare l'allocazione dei costi per una risorsa, l'esportazione include uno dei seguenti valori:
goog-k8s-unknown
: la fatturazione Cloud non può elaborare lo SKU. Questo può verificarsi quando è in corso il provisioning di una nuova istanza di Compute Engine.goog-k8s-unsupported-sku
: l'allocazione dei costi di GKE non supporta questo SKU. Tratta questo come<blank>
/NULL
. Non vi è alcuna garanzia che uno SKU sia sempre etichettato con questo valore.<blank>
/NULL
: l'allocazione dei costi di GKE non monitora questa risorsa. Questo può verificarsi quando l'allocazione dei costi di GKE non è abilitata o la risorsa non appartiene a un cluster gestito da GKE.
I costi per i dischi permanenti vengono monitorati quando il supporto PersistentVolumeClaims
del Persistent Disk viene richiesto dai pod. I costi del disco permanente ereditano tutti i metadati, ad esempio etichette e spazi dei nomi dei pod, del pod richiedente, fino a quando i rispettivi valori PersistentVolumeClaims
non vengono eliminati. Per
PersistentVolumeClaims
che vengono eliminati, ma conservano PersistentVolumes
in base al criterio di recupero, i costi dei dischi permanenti vengono monitorati come
non allocati.
Le etichette applicate direttamente a PersistentVolumeClaims
non vengono visualizzate nella sezione Fatturazione Cloud della console Google Cloud o nell'esportazione dettagliata della fatturazione Cloud.
Abilita l'allocazione dei costi di GKE
Puoi abilitare l'allocazione dei costi di GKE su un cluster nuovo o esistente utilizzando gcloud CLI o la console Google Cloud.
Crea un nuovo cluster
gcloud
Crea un cluster utilizzando il flag --enable-cost-allocation
:
gcloud container clusters create CLUSTER_NAME \
--enable-cost-allocation \
--region=COMPUTE_REGION
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster.COMPUTE_REGION
: l'area geografica di Compute Engine per il cluster. Per i cluster di zona, utilizza--zone=COMPUTE_ZONE
.
Console
Per abilitare l'allocazione dei costi di GKE quando crei un nuovo cluster:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud.
Fai clic su add_box Crea.
Configura il cluster.
Nel riquadro di navigazione, in Cluster, fai clic su Funzionalità.
Nella sezione Altro, seleziona la casella di controllo Abilita allocazione dei costi.
Configura il cluster in base alle tue esigenze, quindi fai clic su Crea.
aggiorna un cluster
gcloud
Aggiorna un cluster utilizzando il flag --enable-cost-allocation
:
gcloud container clusters update CLUSTER_NAME \
--enable-cost-allocation
Sostituisci CLUSTER_NAME
con il nome del cluster.
Console
Per abilitare l'allocazione dei costi di GKE su un cluster esistente:
- Vai alla pagina Google Kubernetes Engine nella console Google Cloud. Vai a Google Kubernetes Engine
- Fai clic sul nome del cluster da modificare.
- Nella pagina Cluster, nella sezione Funzionalità, fai clic su edit accanto ad Allocazione dei costi.
- Nella finestra di dialogo Modifica allocazione dei costi, seleziona la casella di controllo Abilita allocazione dei costi.
- Fai clic su Salva modifiche.
Verifica che l'allocazione dei costi di GKE sia abilitata
gcloud
Descrivi il cluster:
gcloud container clusters describe CLUSTER_NAME
L'output è simile al seguente:
...
costManagementConfig:
enabled: true
...
In questo output, costManagementConfig
indica che l'allocazione dei costi di GKE è abilitata.
Console
Per verificare se l'allocazione dei costi di GKE è abilitata su un cluster esistente:
- Vai alla pagina Google Kubernetes Engine nella console Google Cloud. Vai a Google Kubernetes Engine
- Fai clic sul nome del cluster da modificare.
- Nella pagina Cluster, nella sezione Funzionalità, accanto ad Allocazione dei costi verrà visualizzato se l'allocazione dei costi di GKE è abilitata.
Filtra i dati di costo di GKE
Le query di esempio seguenti mostrano come filtrare e raggruppare i costi di GKE per i tipi di risorse supportati in base a nome del cluster, spazio dei nomi ed etichetta.
Sostituisci BILLING_DATASET_TABLE
con il nome del set di dati che hai creato in BigQuery.
Il nome della tabella è simile a gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, disabilita l'allocazione dei costi di GKE per il cluster:
gcloud container clusters update CLUSTER_NAME \
--no-enable-cost-allocation
Puoi anche eliminare il cluster che hai creato.
Passaggi successivi
- Visualizza di più Esempi di query per l'esportazione dei dati di fatturazione Cloud.
- Scopri come visualizzare i costi con Looker Studio.