Lingkungan air-gapped Google Distributed Cloud (GDC) memerlukan akun penagihan untuk melacak biaya project dan organisasi. Jika Anda tidak menautkan akun penagihan ke organisasi atau project, Anda akan kehilangan data biaya yang terkait dengan resource.
Untuk menagih penggunaan layanan kepada pelanggan, semua akun penagihan dalam organisasi menggunakan satu lembar harga.
Sebelum memulai
Minta Admin IAM Organisasi Anda untuk memberi Anda peran wajib berikut. Peran ini terikat ke namespace project untuk penagihan tingkat project, atau namespace platform untuk penagihan tingkat organisasi:
Admin Akun Penagihan Organisasi Global: membuat, mengelola, dan mengikat resource
BillingAccount. Minta admin IAM Organisasi Anda untuk memberi Anda peranorganization-billing-account-admin.Pengguna Akun Penagihan Organisasi Global: membaca, mencantumkan, dan mengikat resource
BillingAccount. Minta admin IAM Organisasi Anda untuk memberi Anda peranorganization-billing-account-user.Pengelola Akun Penagihan Organisasi Global: membaca, mencantumkan, membuat, dan memperbarui resource
BillingAccountBinding. Minta admin IAM Organisasi Anda untuk memberi Anda peranorganization-billing-manager.
Dapatkan file kubeconfig
Untuk menjalankan perintah terhadap server Global API, pastikan Anda memiliki resource berikut:
Login dan buat file kubeconfig untuk server Global API jika Anda belum memilikinya.
Gunakan jalur ke file kubeconfig server Global API untuk menggantikan
GLOBAL_API_SERVER_KUBECONFIGdalam petunjuk ini.
Buat akun penagihan baru
Akun penagihan diidentifikasi secara unik oleh name dan namespace. Untuk membuat akun penagihan, gunakan resource kustom untuk membuat name dan namespace:
Buat file YAML, lalu tambahkan resource kustom
BillingAccountdan konten berikut:apiVersion: billing.global.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: BIL_ACCOUNT_NAME spec: displayName: BIL_DISPLAY_NAME paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"Ganti variabel berikut:
- BIL_ACCOUNT_NAME: nama akun penagihan.
Contoh,
test-billing-account. - BIL_DISPLAY_NAME: nama tampilan akun penagihan.
Contoh,
"Test Billing Account".
- BIL_ACCOUNT_NAME: nama akun penagihan.
Contoh,
Verifikasi jenis konfigurasi pembayaran Anda. Akun penagihan Distributed Cloud harus memiliki salah satu konfigurasi pembayaran berikut:
cloudBillingConfig: konfigurasi pembayaran default. Konfigurasi ini menyimpan ID akun Penagihan Cloud.customConfig: konfigurasi kustom bagi partner untuk menyimpan konfigurasi pembayaran mereka guna menagih organisasi.customConfigmendukung kamus string key-value, dengan kunci wajibpayment-config-type.
Contoh berikut menunjukkan cuplikan file
BillingAccountYAML untuk berbagai konfigurasi pembayaran:cloudBillingConfigspec: paymentSystemConfig: cloudBillingConfig: accountID: CLOUD_BILLING_ACCOUNT_IDGanti
CLOUD_BILLING_ACCOUNT_IDdengan ID akun penagihanGoogle Cloud Anda.customConfigspec: paymentSystemConfig: customConfig: "payment-config-type": PAYMENT_CONFIG_TYPEGanti
PAYMENT_CONFIG_TYPEdengan jenis konfigurasi pembayaran yang Anda pilih untuk konfigurasi penagihan kustom.Jika Anda tidak memiliki informasi untuk konfigurasi
customConfigorganisasi Anda, masukkan detail berikut:spec: paymentSystemConfig: customConfig: "payment-config-type": "N/A"File YAML berikut menampilkan resource
BillingAccountlengkap dengan konfigurasicloudBillingConfig:apiVersion: billing.global.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: test-billing-account spec: displayName: "Test Billing Account" paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"Simpan file YAML. Jalankan CLI
kubectluntuk menerapkan resource di server Global API:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f billingaccount.yamlGanti
GLOBAL_API_SERVER_KUBECONFIGdengan file kubeconfig server Global API.
Menautkan organisasi atau project ke akun penagihan
Bagian ini memberikan serangkaian langkah untuk menautkan organisasi atau project ke
BillingAccount.
Tautkan project
Untuk menautkan project ke BillingAccount, lakukan hal berikut:
Tambahkan konten berikut ke file:
billingaccountbinding.yaml:- Di bagian
billingAccountRef, isi kolomnamedengan konten dari kolomnamediBillingAccountyang ingin Anda tautkan. - Di bagian
metadata, isi kolomnamespacedengan konten dari kolom yang identik di resourceBillingAccount.
Dalam contoh ini, namespace project adalah PROJECT_NAME:
apiVersion: billing.global.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: PROJECT_NAME spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platformGanti
PROJECT_NAMEdengan nama project yang terikat ke akun penagihan.- Di bagian
Jalankan perintah
kubectlberikut untuk menerapkan filebillingaccountbinding.yaml:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yamlPeriksa status
BillingAccountBindingdan pastikan tidak ada error:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n PROJECT_NAMEGanti
PROJECT_NAMEdengan nama project yang terikat ke akun penagihan.
Menautkan organisasi
Untuk menautkan organisasi ke BillingAccount, lakukan langkah-langkah berikut:
Tambahkan konten berikut ke file YAML
billingaccountbinding.yaml:- Di bagian
billingAccountRef, isi kolomnamedengan konten dari kolomnamediBillingAccountyang ingin Anda tautkan. - Di bagian
metadata, isi kolomnamespacedengan konten dari kolom yang identik di resourceBillingAccount. Dalam contoh ini, namespace organisasi adalahplatform:
apiVersion: billing.global.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: platform spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platform- Di bagian
Jalankan perintah
kubectlberikut untuk menerapkan filebillingaccountbinding.yaml:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yamlPeriksa status
BillingAccountBindingdan pastikan tidak ada error:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n platform
Mencantumkan pengikatan akun penagihan
Melihat daftar semua resource BillingAccountBinding yang di-deploy dan statusnya saat ini di semua namespace dalam organisasi:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get billingaccountbinding -A -o 'custom-columns=NAME:metadata.name,NAMESPACE:metadata.namespace,BillingAccountName:spec.billingAccountRef.name,STATUS:status.conditions[0].status'
Perintah ini menampilkan NAME, NAMESPACE, BillingAccountName, dan STATUS dari setiap BillingAccountBinding. Kolom STATUS menunjukkan apakah pengikatan aktif atau apakah ada error.
Hierarki dan perilaku akun penagihan
Saat menautkan akun penagihan ke organisasi dan project, hierarki dan perilaku berikut berlaku:
Pengaitan tingkat project lebih diprioritaskan: Jika project tertentu, seperti
project-A, ditautkan secara eksplisit keBillingAccount(sepertibilling-account-1), maka semua biaya untukproject-Aakan ditagih secara eksklusif kebilling-account-1. Asosiasi tingkat project ini tetap valid terlepas dari setelan akun penagihan tingkat organisasi.Pengaitan tingkat organisasi untuk project yang tidak ditautkan: Jika organisasi Anda ditautkan ke
BillingAccount(sepertibilling-account-0), semua project dalam organisasi tersebut yang tidak memilikiBillingAccountBindingeksplisitnya sendiri akan otomatis dikaitkan dengan dan ditagih kebilling-account-0. Biasanya, pengaitan ini akan berlaku setelah sekitar 15 menit.Mengubah akun penagihan organisasi: Jika akun penagihan yang ditautkan ke organisasi berubah (seperti dari
billing-account-0menjadibilling-account-new), project yang sebelumnya mewarisibilling-account-0tidak akan otomatis beralih kebilling-account-new. Project ini tetap terikat kebilling-account-0, dan akun penagihannya harus diperbarui secara manual jika Anda ingin project tersebut menggunakanbilling-account-new.
Mengubah akun penagihan tertaut
Di Distributed Cloud, Anda tidak dapat menghapus akun penagihan. Jika Anda perlu mengubah konfigurasi penagihan, Anda harus mengubah akun penagihan yang ditautkan ke organisasi atau project dengan mengubah BillingAccountBinding. Beberapa
skenario untuk kasus penggunaan ini mencakup contoh berikut:
- Aturan akuntansi dalam perusahaan Anda meminta agar Anda membagi biaya yang terkait dengan workload tingkat developer dan produksi ke dalam akun terpisah.
- Anda membuat akun penagihan untuk menagih kontrak pelanggan selama jangka waktu satu tahun. Saat kontrak berakhir, Anda harus menagih untuk sisa periode yang melebihi satu tahun.
Mengubah akun penagihan tertaut untuk project
Ikuti langkah-langkah berikut untuk mengubah akun penagihan tertaut untuk project:
Buat
BillingAccountbaru untuk ditautkan ke project. Akun ini menggantikan akun lama.Temukan file YAML resource
BillingAccountBindingdi namespace project untuk melihat akun penagihan mana yang ditautkan:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n PROJECT_NAMEUbah
BillingAccountBindinguntuk ditautkan ke akun penagihan baru. Di bagianbillingAccountRef, isi kolomnamedengan namaBillingAccountbaru yang dibuat pada langkah 1 di bagian ini.kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG edit billingaccountbinding billing -n PROJECT_NAMESetelah melakukan perubahan, pastikan akun penagihan diperbarui dengan benar:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n PROJECT_NAME
Contoh berikut menunjukkan file YAML BillingAccountBinding dengan akun
expired-billing-account yang ditautkan ke project project-one:
apiVersion: billing.global.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
Contoh berikut menunjukkan file YAML BillingAccountBinding dari contoh sebelumnya yang diubah untuk menautkan akun baru bernama new billing account:
apiVersion: billing.global.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
Mengubah akun penagihan tertaut untuk organisasi
Ikuti langkah-langkah berikut untuk mengubah akun penagihan tertaut untuk organisasi:
Buat
BillingAccountbaru untuk ditautkan ke organisasi. Akun ini menggantikan akun lama.Temukan file YAML resource
BillingAccountBindingdi namespaceplatformuntuk melihat akun penagihan mana yang ditautkan:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n platformUbah
BillingAccountBindinguntuk ditautkan ke akun penagihan baru. Di bagianbillingAccountRef, isi kolomnamedengan namaBillingAccountbaru yang dibuat pada langkah 1.kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG edit billingaccountbinding billing -n platformSetelah melakukan perubahan, pastikan akun penagihan diperbarui dengan benar:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe billingaccountbinding billing -n platform