Tutorial ini menunjukkan cara menggunakan Eventarc untuk membuat pipeline pemrosesan yang menjadwalkan kueri ke set data BigQuery publik, membuat diagram berdasarkan data, dan membagikan link ke diagram melalui email.
Tujuan
Dalam tutorial ini, Anda akan membuat dan men-deploy tiga layanan Google Kubernetes Engine (GKE) yang berjalan di cluster GKE yang menerima peristiwa menggunakan Eventarc:
- Query runner—Dipicu saat tugas Cloud Scheduler memublikasikan pesan ke topik Pub/Sub; layanan ini menggunakan BigQuery API untuk mengambil data dari set data COVID-19 publik, dan menyimpan hasilnya dalam tabel BigQuery baru.
- Pembuat diagram—Dipicu saat layanan runner kueri memublikasikan pesan ke topik Pub/Sub; layanan ini menghasilkan diagram menggunakan library plotting Python, Matplotlib, dan menyimpan diagram ke bucket Cloud Storage.
- Notifier—Dipicu oleh log audit saat layanan pembuat diagram menyimpan diagram dalam bucket Cloud Storage; layanan ini menggunakan layanan email, SendGrid, untuk mengirim link diagram ke alamat email.
Diagram berikut menunjukkan arsitektur tingkat tinggi:
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
- Artifact Registry
- BigQuery
- Cloud Build
- Cloud Scheduler
- Cloud Storage
- Eventarc
- Google Kubernetes Engine
- Pub/Sub
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Artifact Registry, BigQuery, Cloud Build, Cloud Logging, Cloud Scheduler, Eventarc, GKE, Pub/Sub, dan Resource Manager API, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable artifactregistry.googleapis.com
bigquery.googleapis.com cloudbuild.googleapis.com cloudresourcemanager.googleapis.com cloudscheduler.googleapis.com container.googleapis.com eventarc.googleapis.com pubsub.googleapis.com logging.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Artifact Registry, BigQuery, Cloud Build, Cloud Logging, Cloud Scheduler, Eventarc, GKE, Pub/Sub, dan Resource Manager API, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable artifactregistry.googleapis.com
bigquery.googleapis.com cloudbuild.googleapis.com cloudresourcemanager.googleapis.com cloudscheduler.googleapis.com container.googleapis.com eventarc.googleapis.com pubsub.googleapis.com logging.googleapis.com - Untuk Cloud Storage, aktifkan logging audit untuk jenis akses data
ADMIN_READ,DATA_WRITE, danDATA_READ.- Baca kebijakan Identity and Access Management (IAM) yang terkait dengan
Google Cloud project, folder, atau organisasi Anda dan simpan dalam file sementara:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
- Di editor teks, buka
/tmp/policy.yaml, dan tambahkan atau ubah hanya konfigurasi log audit di bagianauditConfigs:auditConfigs: - auditLogConfigs: - logType: ADMIN_READ - logType: DATA_WRITE - logType: DATA_READ service: storage.googleapis.com bindings: - members: [...] etag: BwW_bHKTV5U= version: 1
- Tulis kebijakan IAM baru Anda:
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
Jika perintah sebelumnya melaporkan konflik dengan perubahan lain, ulangi langkah-langkah ini, dimulai dengan membaca kebijakan IAM. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi log audit Akses Data dengan API.
- Baca kebijakan Identity and Access Management (IAM) yang terkait dengan
Google Cloud project, folder, atau organisasi Anda dan simpan dalam file sementara:
- Tetapkan default yang digunakan dalam tutorial ini:
CLUSTER_NAME=events-cluster CLUSTER_LOCATION=us-central1 PROJECT_ID=PROJECT_ID gcloud config set project $PROJECT_ID gcloud config set eventarc/location $CLUSTER_LOCATION
Ganti
PROJECT_IDdengan project ID Anda.
Buat kunci API SendGrid
SendGrid adalah penyedia email berbasis cloud yang memungkinkan Anda mengirim email tanpa harus mengelola server email.
- Login ke SendGrid dan buka Settings > API Keys.
- Klik Buat kunci API.
- Pilih izin untuk kunci tersebut. Setidaknya, kunci harus memiliki izin Pengiriman Email untuk mengirim email.
- Klik Save untuk membuat kunci.
- SendGrid akan membuat kunci baru. Ini adalah satu-satunya salinan kunci, jadi pastikan Anda menyalin kunci dan menyimpannya untuk nanti.
Membuat cluster GKE
Buat cluster dengan Workload Identity Federation for GKE yang diaktifkan agar dapat mengakses layanan Google Cloud dari aplikasi yang berjalan dalam GKE. Anda juga memerlukan Workload Identity Federation for GKE untuk meneruskan peristiwa menggunakan Eventarc.
Buat cluster GKE dengan add-on
HttpLoadBalancingdanHorizontalPodAutoscalingdiaktifkan:gcloud container clusters create $CLUSTER_NAME \ --addons=HttpLoadBalancing,HorizontalPodAutoscaling \ --machine-type=n1-standard-4 \ --enable-autoscaling --min-nodes=2 --max-nodes=10 \ --no-issue-client-certificate --num-nodes=2 \ --logging=SYSTEM,WORKLOAD \ --monitoring=SYSTEM \ --scopes=cloud-platform,logging-write,monitoring-write,pubsub \ --region=$CLUSTER_LOCATION \ --release-channel=rapid \ --workload-pool=$PROJECT_ID.svc.id.googTunggu beberapa menit hingga pembuatan cluster selesai. Selama proses, Anda mungkin melihat peringatan yang dapat diabaikan dengan aman. Setelah cluster dibuat, output-nya akan mirip dengan berikut ini:
Creating cluster ...done. Created [https://container.googleapis.com/v1/projects/my-project/zones/us-central1/clusters/events-cluster].
Perbarui file
kubeconfigdengan kredensial dan informasi endpoint untuk mengarahkankubectlke cluster GKE:gcloud container clusters get-credentials $CLUSTER_NAME \ --region=$CLUSTER_LOCATION
Buat repositori standar Artifact Registry untuk menyimpan image container Docker Anda:
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=$CLUSTER_LOCATION
Ganti
REPOSITORYdengan nama unik untuk repositori.
Mengonfigurasi akun layanan
Agar node GKE dapat mengambil image container dari Artifact Registry, berikan peran Artifact Registry Reader (
roles/artifactregistry.reader) pada project ke akun layanan default Compute Engine yang digunakan oleh node cluster:PROJECT_NUMBER="$(gcloud projects describe $(gcloud config get-value project) --format='value(projectNumber)')" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --condition=None \ --role "roles/artifactregistry.reader"
Agar layanan GKE dapat membuat kueri dan menulis ke BigQuery, memublikasikan ke Pub/Sub, dan mengupload diagram ke Cloud Storage, berikan peran BigQuery Data Editor (
roles/bigquery.dataEditor), BigQuery Job User (roles/bigquery.jobUser), Pub/Sub Publisher (roles/pubsub.publisher), dan Storage Object Admin (roles/storage.objectAdmin) pada project ke ServiceAccount Kubernetesdefaultdi namespacedefault:gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "principal://iam.googleapis.com/projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$PROJECT_ID.svc.id.goog/subject/ns/default/sa/default" \ --condition=None \ --role "roles/bigquery.dataEditor" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "principal://iam.googleapis.com/projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$PROJECT_ID.svc.id.goog/subject/ns/default/sa/default" \ --condition=None \ --role "roles/bigquery.jobUser" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "principal://iam.googleapis.com/projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$PROJECT_ID.svc.id.goog/subject/ns/default/sa/default" \ --condition=None \ --role "roles/pubsub.publisher" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "principal://iam.googleapis.com/projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$PROJECT_ID.svc.id.goog/subject/ns/default/sa/default" \ --condition=None \ --role "roles/storage.objectAdmin"
Mengaktifkan tujuan GKE
Untuk mengizinkan Eventarc mengelola resource di cluster GKE, aktifkan tujuan GKE dan ikat akun layanan Eventarc dengan peran yang diperlukan.
Aktifkan tujuan GKE untuk Eventarc:
gcloud eventarc gke-destinations init
Pada perintah untuk mengikat peran yang diperlukan, masukkan
y.Peran berikut terikat:
roles/compute.viewerroles/container.developerroles/iam.serviceAccountAdmin
Membuat bucket Cloud Storage
Buat bucket Cloud Storage di region yang sama dengan layanan GKE Anda untuk menyimpan diagram, dan berikan akses baca (roles/storage.objectViewer) ke akun Anda untuk melihat diagram yang dihasilkan:
export BUCKET="$(gcloud config get-value core/project)-charts" gcloud storage buckets create gs://${BUCKET} --location=$CLUSTER_LOCATION gcloud storage buckets update gs://${BUCKET} --uniform-bucket-level-access gcloud storage buckets add-iam-policy-binding gs://${BUCKET} \ --member="user:$(gcloud config get-value core/account)" \ --role=roles/storage.objectViewer
Membuat cloning repositori
Buat clone repositori GitHub.
git clone https://github.com/GoogleCloudPlatform/eventarc-samples cd eventarc-samples/processing-pipelines
Membuat akun layanan dan mengikat peran akses
Sebelum membuat pemicu Eventarc, siapkan akun layanan yang dikelola pengguna dan berikan peran tertentu agar Eventarc dapat meneruskan peristiwa Pub/Sub.
Buat akun layanan bernama
eventarc-triggers-test-sa:TRIGGER_GSA=eventarc-triggers-test-sa gcloud iam service-accounts create $TRIGGER_GSA
Berikan peran
pubsub.subscriber,monitoring.metricWriter, daneventarc.eventReceiverke akun layanan:PROJECT_ID=$(gcloud config get-value project) gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com" \ --condition=None \ --role "roles/pubsub.subscriber" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com" \ --condition=None \ --role "roles/monitoring.metricWriter" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com" \ --condition=None \ --role "roles/eventarc.eventReceiver"
Men-deploy layanan notifier
Dari direktori bigquery/notifier/python, deploy
layanan GKE yang menerima peristiwa pembuat diagram dan
menggunakan SendGrid untuk mengirim link ke diagram yang dihasilkan melalui email.
Bangun dan kirim image container:
pushd bigquery/notifier/python export SERVICE_NAME=notifier docker build -t $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 . docker push $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 popd
Buat deployment Kubernetes untuk image container dan tetapkan variabel lingkungan yang diperlukan, termasuk alamat untuk mengirim email dan kunci API SendGrid:
export TO_EMAILS=EMAIL_ADDRESS export SENDGRID_API_KEY=YOUR_SENDGRID_API_KEY kubectl create deployment ${SERVICE_NAME} \ --image=$CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 kubectl set env deployment/${SERVICE_NAME} \ TO_EMAILS=${TO_EMAILS} \ SENDGRID_API_KEY=${SENDGRID_API_KEY} \ BUCKET=${BUCKET}
Ganti kode berikut:
EMAIL_ADDRESS: alamat email untuk mengirim link ke diagram yang dihasilkanYOUR_SENDGRID_API_KEY: kunci API SendGrid yang Anda catat sebelumnyaREPOSITORY: nama repositori Artifact Registry Anda
Ekspos deployment sebagai layanan Kubernetes:
kubectl expose deployment ${SERVICE_NAME} \ --type=ClusterIP --port=80 --target-port=8080
Membuat pemicu untuk layanan notifier
Buat pemicu Eventarc untuk layanan notifikasi yang di-deploy di
GKE yang memfilter log audit Cloud Storage untuk
bucket Cloud Storage yang ditentukan dan dengan methodName adalah
storage.objects.create:
gcloud eventarc triggers create trigger-${SERVICE_NAME}-gke \ --destination-gke-cluster=$CLUSTER_NAME \ --destination-gke-location=$CLUSTER_LOCATION \ --destination-gke-namespace=default \ --destination-gke-service=$SERVICE_NAME \ --destination-gke-path=/ \ --event-filters="type=google.cloud.audit.log.v1.written" \ --event-filters="serviceName=storage.googleapis.com" \ --event-filters="methodName=storage.objects.create" \ --event-filters-path-pattern="resourceName=/projects/_/buckets/$BUCKET/objects/*" \ --service-account=$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com
Tindakan ini akan membuat pemicu yang disebut trigger-notifier-gke.
Men-deploy layanan pembuat diagram
Dari direktori bigquery/chart-creator/python, deploy layanan GKE yang menerima peristiwa pelaksana kueri, mengambil data dari tabel BigQuery untuk negara tertentu, lalu membuat diagram, menggunakan Matplotlib, dari data tersebut. Diagram diupload ke bucket Cloud Storage.
Bangun dan kirim image container:
pushd bigquery/chart-creator/python export SERVICE_NAME=chart-creator docker build -t $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 . docker push $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 popd
Buat deployment Kubernetes untuk image container dan tetapkan variabel lingkungan
BUCKET:kubectl create deployment ${SERVICE_NAME} \ --image=$CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 kubectl set env deployment/${SERVICE_NAME} \ BUCKET=${BUCKET}
Ekspos deployment sebagai layanan Kubernetes:
kubectl expose deployment ${SERVICE_NAME} \ --type=ClusterIP --port=80 --target-port=8080
Membuat pemicu untuk layanan pembuat diagram
Buat pemicu Eventarc untuk layanan pembuat diagram yang di-deploy di GKE yang memfilter pesan yang dipublikasikan ke topik Pub/Sub.
Buat pemicu:
gcloud eventarc triggers create trigger-${SERVICE_NAME}-gke \ --destination-gke-cluster=$CLUSTER_NAME \ --destination-gke-location=$CLUSTER_LOCATION \ --destination-gke-namespace=default \ --destination-gke-service=$SERVICE_NAME \ --destination-gke-path=/ \ --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \ --service-account=$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com
Tindakan ini akan membuat pemicu yang disebut
trigger-chart-creator-gke.Tetapkan variabel lingkungan topik Pub/Sub.
export TOPIC_QUERY_COMPLETED=$(basename $(gcloud eventarc triggers describe trigger-${SERVICE_NAME}-gke --format='value(transport.pubsub.topic)'))
Men-deploy layanan pelaksana kueri
Dari direktori processing-pipelines, deploy layanan GKE yang menerima peristiwa Cloud Scheduler, mengambil data dari set data COVID-19 publik, dan menyimpan hasilnya dalam tabel BigQuery baru.
Bangun dan kirim image container:
export SERVICE_NAME=query-runner docker build -t $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 -f Dockerfile . docker push $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1
Buat deployment Kubernetes untuk image container dan tetapkan variabel lingkungan
PROJECT_IDdanTOPIC_ID:kubectl create deployment ${SERVICE_NAME} \ --image=$CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/${SERVICE_NAME}:v1 kubectl set env deployment/${SERVICE_NAME} \ PROJECT_ID=$(gcloud config get-value project) \ TOPIC_ID=${TOPIC_QUERY_COMPLETED}
Ekspos deployment sebagai layanan Kubernetes:
kubectl expose deployment ${SERVICE_NAME} \ --type=ClusterIP --port=80 --target-port=8080
Membuat pemicu untuk layanan runner kueri
Buat pemicu Eventarc untuk layanan runner kueri yang di-deploy di GKE yang memfilter pesan yang dipublikasikan ke topik Pub/Sub.
Buat pemicu:
gcloud eventarc triggers create trigger-${SERVICE_NAME}-gke \ --destination-gke-cluster=$CLUSTER_NAME \ --destination-gke-location=$CLUSTER_LOCATION \ --destination-gke-namespace=default \ --destination-gke-service=$SERVICE_NAME \ --destination-gke-path=/ \ --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \ --service-account=$TRIGGER_GSA@$PROJECT_ID.iam.gserviceaccount.com
Tindakan ini akan membuat pemicu yang disebut
trigger-query-runner-gke.Tetapkan variabel lingkungan untuk topik Pub/Sub.
export TOPIC_QUERY_SCHEDULED=$(basename $(gcloud eventarc triggers describe trigger-${SERVICE_NAME}-gke --format='value(transport.pubsub.topic)'))
Menjadwalkan tugas
Pipeline pemrosesan dipicu oleh dua tugas Cloud Scheduler. Buat dua tugas Cloud Scheduler yang memublikasikan ke topik Pub/Sub satu kali per hari:
gcloud scheduler jobs create pubsub cre-scheduler-uk \ --location=$CLUSTER_LOCATION \ --schedule="0 16 * * *" \ --topic=${TOPIC_QUERY_SCHEDULED} \ --message-body="United Kingdom"
gcloud scheduler jobs create pubsub cre-scheduler-cy \ --location=$CLUSTER_LOCATION \ --schedule="0 17 * * *" \ --topic=${TOPIC_QUERY_SCHEDULED} \ --message-body="Cyprus"
Jadwal ditentukan dalam format unix-cron.
Misalnya, 0 16 * * * berarti tugas berjalan pada pukul 16.00 (16.00) UTC setiap
hari.
Menjalankan pipeline
Konfirmasi bahwa semua pemicu berhasil dibuat:
gcloud eventarc triggers list
Outputnya akan mirip dengan berikut ini:
NAME TYPE DESTINATION ACTIVE LOCATION trigger-chart-creator-gke google.cloud.pubsub.topic.v1.messagePublished GKE:chart-creator Yes us-central1 trigger-notifier-gke google.cloud.audit.log.v1.written GKE:notifier Yes us-central1 trigger-query-runner-gke google.cloud.pubsub.topic.v1.messagePublished GKE:query-runner Yes us-central1Ambil ID pekerjaan Cloud Scheduler:
gcloud scheduler jobs list --location=$CLUSTER_LOCATION
Outputnya akan mirip dengan berikut ini:
ID LOCATION SCHEDULE (TZ) TARGET_TYPE STATE cre-scheduler-cy us-central1 0 17 * * * (Etc/UTC) Pub/Sub ENABLED cre-scheduler-uk us-central1 0 16 * * * (Etc/UTC) Pub/Sub ENABLEDMeskipun tugas dijadwalkan untuk berjalan setiap hari pada pukul 16.00 dan 17.00, Anda juga dapat menjalankan tugas Cloud Scheduler secara manual:
gcloud scheduler jobs run cre-scheduler-cy --location=$CLUSTER_LOCATION
gcloud scheduler jobs run cre-scheduler-uk --location=$CLUSTER_LOCATION
Setelah beberapa menit, pastikan ada dua chart di bucket Cloud Storage:
gcloud storage ls gs://${BUCKET}
Outputnya akan mirip dengan berikut ini:
gs://PROJECT_ID-charts/chart-cyprus.png gs://PROJECT_ID-charts/chart-unitedkingdom.png
Selamat! Anda juga akan menerima dua email berisi link ke diagram.
Pembersihan
Jika Anda membuat project baru untuk tutorial ini, hapus project tersebut. Jika Anda menggunakan project yang ada dan ingin mempertahankannya tanpa perubahan yang ditambahkan dalam tutorial ini, hapus resource yang dibuat untuk tutorial.
Menghapus Google Cloud project:
gcloud projects delete PROJECT_ID
Menghapus resource tutorial
Hapus layanan dan deployment Kubernetes yang Anda deploy dalam tutorial ini, dan hapus cluster GKE:
kubectl delete service notifier chart-creator query-runner kubectl delete deployment notifier chart-creator query-runner gcloud container clusters delete $CLUSTER_NAME --region=$CLUSTER_LOCATION
Hapus pemicu Eventarc yang Anda buat dalam tutorial ini:
gcloud eventarc triggers delete TRIGGER_NAME
Ganti
TRIGGER_NAMEdengan nama pemicu Anda.Hapus image dari Artifact Registry:
gcloud artifacts docker images delete $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/notifier:v1 gcloud artifacts docker images delete $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/chart-creator:v1 gcloud artifacts docker images delete $CLUSTER_LOCATION-docker.pkg.dev/$(gcloud config get-value project)/REPOSITORY/query-runner:v1
Hapus repositori Artifact Registry:
gcloud artifacts repositories delete REPOSITORY \ --location=$CLUSTER_LOCATION
Hapus bucket, beserta semua objek di dalam bucket:
gcloud storage rm --recursive gs://${BUCKET}/Hapus tugas Cloud Scheduler:
gcloud scheduler jobs delete cre-scheduler-cy --location=$CLUSTER_LOCATION gcloud scheduler jobs delete cre-scheduler-uk --location=$CLUSTER_LOCATION
Hapus konfigurasi default Google Cloud CLI yang Anda tambahkan selama penyiapan tutorial:
gcloud config unset project gcloud config unset eventarc/location