Questa pagina mostra come visualizzare un'analisi dettagliata del tuo cluster Google Kubernetes Engine (GKE) costi dei cluster Esportazione in BigQuery della 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
L'abilitazione dell'allocazione dei costi di GKE può aumentare per archiviazione e query in BigQuery. L'aumento esatto dipende dal numero di combinazioni distinte di etichette e spazi dei nomi che utilizzi tra pod e cluster.
L'abilitazione dell'allocazione dei costi di GKE non modifica il costo totale il tuo utilizzo di GKE. La somma delle voci di costo nell'esportazione è le stesse query e i report esistenti che hai creato sulla base dell'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 misurazione dell'utilizzo dei cluster nei seguenti modi:
- L'allocazione dei costi di GKE offre un'alternativa all'utilizzo del cluster misurazione per ottenere informazioni sul cluster.
- L'allocazione dei costi di GKE calcola i costi dei cluster di fatturazione Cloud anziché aggregare i dati in un Modello Looker Studio.
- L'allocazione dei costi di GKE ti consente di visualizzare i dati di costo di un cluster Fatturazione Cloud nella console Google Cloud e nella fatturazione Cloud esporta.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Attiva l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine .
- Se vuoi utilizzare Google Cloud CLI per questa attività,
install e poi
initialize
con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente
eseguendo
gcloud components update
.
- Assicurati di aver completato i passaggi per Esporta i dati dettagliati dei costi di utilizzo in BigQuery. Se la tua organizzazione esporta già dati, devi avere accesso a eseguire una query sulle tabelle.
Limitazioni e restrizioni
- Puoi visualizzare i dati di allocazione dei costi di GKE solo in i dati dettagliati dei costi di utilizzo di Cloud Billing BigQuery esporta.
- Devi disporre di Google Cloud CLI versione 392.0.0 o successiva
- Se abiliti l'allocazione dei costi di GKE, verrà avviata l'esportazione della fatturazione inclusi elementi pubblicitari aggiuntivi per le risorse GKE quella data. L'esportazione della fatturazione non esegue il backfill dei dati.
- Se disabiliti l'allocazione dei costi di GKE, l'esportazione della fatturazione interrompe l'inclusione di altri elementi pubblicitari, ma non modifica o rimuove i precedenti generati durante l'attivazione della funzione.
- I dati di allocazione dei costi di GKE si basano sulle richieste di risorse, non e consumano molte risorse. Per scoprire di più sulle differenze tra le richieste di risorse, e il consumo di risorse, vedi i relativi limiti Best practice per Kubernetes: richieste e limiti delle risorse.
- L'allocazione dei costi di GKE supporta i seguenti tipi di SKU delle risorse:
- SKU vCPU di istanze VM di Compute Engine
- SKU della RAM delle istanze VM di Compute Engine
- SKU GPU per le istanze VM di Compute Engine
- SKU sulla capacità DP di Compute Engine
- Se un pod ha più di 50 etichette Kubernetes, nessuna 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, l'operazione può richiedere fino a tre giorni per visualizzare i dati nella fatturazione Cloud.
- L'allocazione dei costi di GKE include i dati dei dischi permanenti con
le seguenti eccezioni:
- Supporta solo risorse
PersistentVolume
di cui è stato eseguito il provisioning dinamico tramitePersistentVolumeClaims
o volumi temporanei generici. - Supporta solo le risorse
PersistentVolume
di cui è stato eseguito il provisioning dal Driver CSI per il disco permanente di Compute Engine o con il plug-in di archiviazionekubernetes.io/gce-pd
deprecato con la modalità di accessoReadWriteOnce
oReadWriteOncePod
. - È possibile che i dischi permanenti con un tempo di attività inferiore a 30 minuti non vengano tracciati. I dischi permanenti con uptime di almeno 30 minuti vengono sempre monitorati.
- Supporta solo risorse
- L'allocazione dei costi di GKE non supporta un impegno di utilizzo flessibile
(CUD). L'utilizzo delle risorse coperto dagli sconti per impegno di utilizzo (CUD) flessibili è riportato nella
spazio dei nomi
goog-k8s-unsupported-sku
Visualizza i costi dei cluster GKE
Quando abiliti l'allocazione dei costi di GKE, il nome del cluster e
dei carichi di lavoro GKE viene visualizzato
Campo labels
dell'esportazione della fatturazione in BigQuery:
Chiave di etichetta della risorsa (labels.key ) |
Valore etichetta risorsa (labels.value ) |
|
Descrizione |
Etichette Kubernetes
hanno il seguente formato:
k8s-label/${k8s-label-key} , dove
${k8s-label-key} è la chiave del token Kubernetes del pod
dell'etichetta. L'etichetta di fatturazione k8s-label/${k8s-label-key} ha
lo stesso valore dell'etichetta del pod Kubernetes corrispondente. |
Se una chiave di etichetta Kubernetes si scontra con una chiave di etichetta VM,
Il valore dell'etichetta sostituisce il valore dell'etichetta della VM.
Le etichette delle risorse del cluster e del pool di nodi vengono applicate alle risorse utilizzando
la seguente priorità, dalla più alta alla più bassa:
|
Nome del cluster | goog-k8s-cluster-name |
[nome-cluster] |
Spazio dei nomi | k8s-namespace |
[spazio dei nomi] |
Tipo di carico di lavoro | k8s-workload-type |
[tipo di carico di lavoro] (ad es. apps/v1-Deployment ,apps/v1-StatefulSet ,apps/v1-DaemonSet ,apps/v1-ReplicaSet ,batch/v1-Job ,batch/v1-CronJob ,core/v1-Pod ) |
Nome carico di lavoro | k8s-workload-name |
[nome-carico-di-lavoro] |
Per ulteriori informazioni, vedi Schema dei dati dettagliati dei costi di utilizzo.
Inoltre, vengono utilizzati i seguenti spazi dei nomi per monitorare l'overhead risorse non allocate:
kube:system-overhead
: tiene conto delle risorse nodo che non sono disponibili per i pod. Queste risorse vengono accantonate dal sistema per eseguire il framework Kubernetes (inclusi, a titolo esemplificativo, kubelet, kube-proxy, containerd). Questa è la differenza tra la capacità del nodo e le risorse allocabili.kube:unallocated
: le risorse non sono né richieste dai carichi di lavoro né 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
: Fatturazione Cloud non ha potuto elaborare lo SKU. Questo può si verificano quando viene eseguito il provisioning di una nuova istanza Compute Engine. Tu possono essere previsti alcuni valorigoog-k8s-unknown
durante l'avvio e l'arresto del nodo, Ad esempio, quando GKE scala automaticamente un cluster.goog-k8s-unsupported-sku
: l'allocazione dei costi di GKE non supportano questo SKU. Considera come<blank>
/NULL
. Non sono presenti garantisce che uno SKU sia sempre etichettato con questo valore.<blank>
/NULL
: l'allocazione dei costi di GKE non monitora questo valore risorsa. Questo può accadere quando l'allocazione dei costi di GKE abilitato o la risorsa non appartiene a un in un cluster Kubernetes.
I costi per i dischi permanenti vengono monitorati quando il Persistent Disk
PersistentVolumeClaims
sono rivendicati dai pod. I costi di Persistent Disk
ereditare tutti i metadati, come le etichette dei pod e gli spazi dei nomi,
di rivendicazione del pod, finché i relativi PersistentVolumeClaims
non vengono eliminati. Per
PersistentVolumeClaims
eliminati, ma che conservano PersistentVolumes
in base al criterio di recupero, i costi dei dischi permanenti vengono
non allocati.
Le etichette applicate direttamente a PersistentVolumeClaims
non vengono visualizzate nella
alla sezione Fatturazione Cloud della console Google Cloud
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
: il Compute Engine regione per il tuo cluster. Per i cluster di zona, usa--zone=COMPUTE_ZONE
.
Console
Per abilitare l'allocazione dei costi di GKE quando crei un nuovo cluster, procedi nel seguente modo:
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, esegui la seguenti:
- Vai alla pagina Google Kubernetes Engine nella console Google Cloud. Vai a Google Kubernetes Engine
- Fai clic sul nome del cluster da modificare.
- Nella sezione Funzionalità della pagina Cluster, fai clic su edit accanto a 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 il costo di GKE
l'allocazione è abilitata.
Console
Per verificare se l'allocazione dei costi di GKE è abilitata su un modello esistente , segui questi passaggi:
- Vai alla pagina Google Kubernetes Engine nella console Google Cloud. Vai a Google Kubernetes Engine
- Fai clic sul nome del cluster da modificare.
- Nella sezione Funzionalità della pagina Cluster, accanto a Allocazione dei costi mostrerà se i costi di GKE l'allocazione è abilitata.
Filtra i dati di costo di GKE
Le query di esempio che seguono mostrano come filtrare e raggruppare i tuoi i costi di GKE per i tipi di risorse supportati in base al nome del cluster, spazio dei nomi ed etichetta.
Sostituisci BILLING_DATASET_TABLE
con il nome del
set di dati 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 utilizzato 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
- Mostra altro Esempi di query per l'esportazione dei dati di fatturazione Cloud.
- Scopri come Visualizza i costi con Looker Studio.