Gli ambienti air-gap di Google Distributed Cloud (GDC) richiedono un account di fatturazione per monitorare i costi per progetti e organizzazioni. Se non colleghi un account di fatturazione a un'organizzazione o a un progetto, perderai i dati sui costi associati alla risorsa.
Per addebitare l'utilizzo del servizio al cliente, tutti gli account di fatturazione all'interno di un'organizzazione utilizzano un unico listino prezzi.
Prima di iniziare
Chiedi all'amministratore IAM dell'organizzazione di concederti i seguenti ruoli richiesti. Questi ruoli vengono associati allo spazio dei nomi del progetto per la fatturazione a livello di progetto o allo spazio dei nomi della piattaforma per la fatturazione a livello di organizzazione:
Amministratore account di fatturazione dell'organizzazione: crea, gestisci e associa la risorsa
BillingAccount
. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruoloorganization-billing-account-admin
.Utente dell'account di fatturazione dell'organizzazione: legge, elenca e associa la risorsa
BillingAccount
. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruoloorganization-billing-account-user
.Gestore account di fatturazione dell'organizzazione: legge, elenca, crea e aggiorna la risorsa
BillingAccountBinding
. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruoloorganization-billing-manager
.
Recupera il file kubeconfig
Per eseguire comandi sul server API Management, assicurati di disporre delle seguenti risorse:
Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.
Utilizza il percorso del file kubeconfig del server API Management per sostituire
MANAGEMENT_API_SERVER_KUBECONFIG
in queste istruzioni.
Crea un nuovo account di fatturazione
Un account di fatturazione è identificato in modo univoco dal suo name
e dal suo namespace
. Per creare un account di fatturazione, utilizza una risorsa personalizzata per stabilire name
e namespace
:
Crea un file YAML e aggiungi la risorsa personalizzata
BillingAccount
e i seguenti contenuti:apiVersion: billing.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: BIL_ACCOUNT_NAME spec: displayName: BIL_DISPLAY_NAME paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"
Sostituisci le seguenti variabili:
- BIL_ACCOUNT_NAME: il nome dell'account di fatturazione.
Ad esempio,
test-billing-account
. - BIL_DISPLAY_NAME: il nome visualizzato dell'account di fatturazione.
Ad esempio,
"Test Billing Account"
.
- BIL_ACCOUNT_NAME: il nome dell'account di fatturazione.
Ad esempio,
Verifica il tipo di configurazione dei pagamenti. Gli account di fatturazione Distributed Cloud devono avere una delle seguenti configurazioni di pagamento:
cloudBillingConfig
: la configurazione di pagamento predefinita. Questa configurazione memorizza un ID account di fatturazione Cloud.customConfig
: una configurazione personalizzata per i partner per memorizzare la configurazione di pagamento per fatturare all'organizzazione.customConfig
supporta un dizionario di stringhe chiave-valore, con una chiave obbligatoriapayment-config-type
.
Gli esempi seguenti mostrano snippet di file YAML
BillingAccount
per diverse configurazioni di pagamento:cloudBillingConfig
spec: paymentSystemConfig: cloudBillingConfig: accountID: CLOUD_BILLING_ACCOUNT_ID
Sostituisci
CLOUD_BILLING_ACCOUNT_ID
con l'Google Cloud ID account di fatturazione.customConfig
spec: paymentSystemConfig: customConfig: "payment-config-type": PAYMENT_CONFIG_TYPE
Sostituisci
PAYMENT_CONFIG_TYPE
con il tipo di configurazione di pagamento che hai scelto per la configurazione di fatturazione personalizzata.Se non disponi delle informazioni per la configurazione
customConfig
della tua organizzazione, inserisci i seguenti dettagli:spec: paymentSystemConfig: customConfig: "payment-config-type": "N/A"
Il seguente file YAML mostra una risorsa
BillingAccount
completa con la configurazionecloudBillingConfig
:apiVersion: billing.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: test-billing-account spec: displayName: "Test Billing Account" paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"
Salva il file YAML. Esegui la CLI
kubectl
per applicare la risorsa nel server API Management per l'organizzazione o il progetto specifico a cui vuoi addebitare i costi:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccount.yaml
Sostituisci
MANAGEMENT_API_SERVER_KUBECONFIG
con il file kubeconfig del server API di gestione.
Collegare un'organizzazione o un progetto a un account di fatturazione
Questa sezione fornisce una serie di passaggi per collegare un'organizzazione o un progetto a un
BillingAccount
.
Collega un progetto
Per collegare un progetto a un BillingAccount
:
Aggiungi i seguenti contenuti al file:
billingaccountbinding.yaml
:- Nella sezione
billingAccountRef
, compila il camponame
con i contenuti del camponame
delBillingAccount
che vuoi collegare. - Nella sezione
metadata
, compila il camponamespace
con i contenuti del campo identico nella risorsaBillingAccount
.
In questo esempio, lo spazio dei nomi del progetto è PROJECT_NAME:
apiVersion: billing.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: PROJECT_NAME spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platform
Sostituisci
PROJECT_NAME
con il nome del progetto associato all'account di fatturazione.- Nella sezione
Esegui questo comando
kubectl
per applicare il filebillingaccountbinding.yaml
:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yaml
Collegare un'organizzazione
Per collegare un'organizzazione a un BillingAccount
:
Aggiungi i seguenti contenuti al file YAML
billingaccountbinding.yaml
:- Nella sezione
billingAccountRef
, compila il camponame
con i contenuti del camponame
delBillingAccount
che vuoi collegare. - Nella sezione
metadata
, compila il camponamespace
con i contenuti del campo identico nella risorsaBillingAccount
. In questo esempio, lo spazio dei nomi dell'organizzazione èplatform
:
apiVersion: billing.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: platform spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platform
- Nella sezione
Esegui questo comando
kubectl
per applicare il filebillingaccountbinding.yaml
:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yaml
Scollegare gli account di fatturazione da un'organizzazione o un progetto
In Distributed Cloud, non puoi eliminare un account di fatturazione. Se devi apportare una modifica alla configurazione di fatturazione, devi scollegare un'organizzazione o un progetto da un account di fatturazione esistente modificando BillingAccountBinding
. Alcuni
scenari per questo caso d'uso includono i seguenti esempi:
- Le regole contabili della tua azienda richiedono di suddividere gli addebiti associati ai carichi di lavoro a livello di sviluppo e produzione in account separati.
- Crea un account di fatturazione per addebitare un contratto cliente per un periodo di un anno. Alla scadenza del contratto, devi addebitare il periodo rimanente che supera un anno.
Per scollegare un account di fatturazione da un'organizzazione o un progetto:
Crea un nuovo
BillingAccount
da collegare al progetto. Questo account sostituirà il vecchio account.Individua il file YAML della risorsa
BillingAccountBinding
nel progetto o nello spazio dei nomiplatform
e modifica i seguenti campi:- Nella sezione
billingAccountRef
, compila il camponame
con un nuovo nomeBillingAccount
.
- Nella sezione
L'esempio seguente mostra un file YAML BillingAccountBinding
con l'account
expired-billing-account
collegato al progetto project-one
:
apiVersion: billing.gdc.goog/v1
kind: BillingAccountBinding
metadata:
# The name of a BillingAccountBinding will typically always be `billing`.
name: billing
# This is the project.
namespace: project-one
spec:
billingAccountRef:
# This is an example of a BillingAccount that has expired.
name: expired-billing-account
namespace: platform
L'esempio seguente mostra il file YAML BillingAccountBinding
dell'esempio precedente modificato per collegare un nuovo account chiamato new billing account
:
apiVersion: billing.gdc.goog/v1
kind: BillingAccountBinding
metadata:
name: billing
# This is the project.
namespace: project-one
spec:
billingAccountRef:
# This is the example of the new BillingAccount.
name: new-billing-account
namespace: platform