CI/CD modern dengan GKE: Membangun sistem CI/CD


Arsitektur referensi ini memberi Anda metode dan infrastruktur awal untuk membangun sistem continuous integration/continuous delivery (CI/CD) modern menggunakan alat seperti Google Kubernetes Engine, Cloud Build, Skaffold, kustomize, Config Sync, Policy Controller, Artifact Registry, dan Cloud Deploy.

Dokumen ini adalah bagian dari rangkaian:

Dokumen ini ditujukan untuk arsitek perusahaan dan developer aplikasi, serta tim keamanan IT, DevOps, dan Site Reliability Engineering. Pengalaman dengan alat dan proses deployment otomatis akan berguna untuk memahami konsep dalam dokumen ini.

Alur kerja CI/CD

Untuk membangun sistem CI/CD modern, Anda harus memilih alat dan layanan yang menjalankan fungsi utama sistem terlebih dahulu. Arsitektur referensi ini berfokus pada penerapan fungsi inti sistem CI/CD yang ditunjukkan dalam diagram berikut:

Berbagai tim mengelola atau berbagi tanggung jawab atas sistem CI/CD.

Implementasi referensi ini menggunakan alat berikut untuk setiap komponen:

  • Untuk pengelolaan kode sumber: GitHub
    • Menyimpan kode aplikasi dan konfigurasi.
    • Memungkinkan Anda meninjau perubahan.
  • Untuk pengelolaan konfigurasi aplikasi: kustomize
    • Menentukan konfigurasi yang dimaksudkan dari aplikasi.
    • Memungkinkan Anda menggunakan kembali dan memperluas primitif atau cetak biru konfigurasi.
  • Untuk continuous integration: Cloud Build
    • Menguji dan memvalidasi kode sumber.
    • Membangun artefak yang digunakan oleh lingkungan deployment.
  • Untuk continuous delivery: Cloud Deploy
    • Menentukan proses peluncuran kode di seluruh lingkungan.
    • Menyediakan rollback untuk perubahan yang gagal.
  • Untuk konfigurasi infrastruktur: Config Sync
    • Menerapkan konfigurasi cluster dan kebijakan secara konsisten.
  • Untuk penegakan kebijakan: Policy Controller
    • Menyediakan mekanisme yang dapat Anda gunakan untuk menentukan apa yang diizinkan untuk dijalankan di lingkungan tertentu berdasarkan kebijakan organisasi.
  • Untuk orkestrasi container: Google Kubernetes Engine
    • Menjalankan artefak yang dibangun selama CI.
    • Menyediakan metodologi penskalaan, health check, dan peluncuran untuk beban kerja.
  • Untuk artefak container: Artifact Registry
    • Menyimpan artefak (image container) yang dibangun selama CI.

Arsitektur

Bagian ini menjelaskan komponen CI/CD yang Anda terapkan dengan menggunakan arsitektur referensi ini: infrastruktur, pipeline, repositori kode, dan zona landing.

Untuk pembahasan umum tentang aspek-aspek sistem CI/CD ini, lihat CI/CD modern dengan GKE: Framework pengiriman software.

Varian Arsitektur Referensi

Arsitektur referensi memiliki dua model deployment:

  • Varian multi-project yang lebih mirip deployment produksi dengan batas isolasi yang ditingkatkan
  • Varian project tunggal, yang berguna untuk demonstrasi

Arsitektur referensi multi-project

Versi multi-project arsitektur referensi menyimulasikan skenario seperti produksi. Dalam skenario ini, persona yang berbeda membuat infrastruktur, pipeline CI/CD, dan aplikasi dengan batas isolasi yang tepat. Persona atau tim ini hanya dapat mengakses resource yang diperlukan.

Untuk mengetahui informasi selengkapnya, lihat CI/CD modern dengan GKE: Framework pengiriman software.

Untuk mengetahui detail tentang cara menginstal dan menerapkan arsitektur referensi versi ini, lihat cetak biru pengiriman software

Arsitektur referensi satu project

Versi single-project dari arsitektur referensi menunjukkan cara menyiapkan seluruh platform pengiriman software dalam satu project Google Cloud . Versi ini dapat membantu pengguna yang tidak memiliki peran IAM yang ditingkatkan untuk menginstal dan mencoba arsitektur referensi hanya dengan peran pemilik di project. Dokumen ini menunjukkan arsitektur referensi versi project tunggal.

Infrastruktur platform

Infrastruktur untuk arsitektur referensi ini terdiri dari cluster Kubernetes untuk mendukung lingkungan aplikasi pengembangan, staging, dan produksi. Diagram berikut menunjukkan tata letak logis cluster:

Tata letak cluster mendukung berbagai workload platform.

Repositori kode

Dengan menggunakan arsitektur referensi ini, Anda menyiapkan repositori untuk operator, developer, platform, dan engineer keamanan.

Diagram berikut menunjukkan penerapan arsitektur referensi dari berbagai repositori kode dan cara tim operasi, pengembangan, dan keamanan berinteraksi dengan repositori tersebut:

Repositori mencakup repositori untuk praktik terbaik serta konfigurasi aplikasi dan platform.

Dalam alur kerja ini, operator Anda dapat mengelola praktik terbaik untuk CI/CD dan konfigurasi aplikasi di repositori operator. Saat developer Anda menggunakan aplikasi di repositori pengembangan, mereka akan otomatis mendapatkan praktik terbaik, logika bisnis untuk aplikasi, dan konfigurasi khusus yang diperlukan agar aplikasi mereka dapat beroperasi dengan benar. Sementara itu, tim operasi dan keamanan Anda dapat mengelola konsistensi dan keamanan platform di repositori konfigurasi dan kebijakan.

Zona landing aplikasi

Dalam arsitektur referensi ini, zona landing untuk aplikasi dibuat saat aplikasi disediakan. Dalam dokumen berikutnya di seri ini, CI/CD Modern dengan GKE: Menerapkan alur kerja developer, Anda akan menyediakan aplikasi baru yang membuat zona pendaratannya sendiri. Diagram berikut mengilustrasikan komponen penting zona landing yang digunakan dalam arsitektur referensi ini:

Cluster GKE mencakup tiga namespace untuk aplikasi yang berbeda.

Setiap namespace mencakup akun layanan yang digunakan untuk Workload Identity Federation for GKE guna mengakses layanan di luar container Kubernetes, seperti Cloud Storage atau Spanner. Namespace juga mencakup resource lain seperti kebijakan jaringan untuk mengisolasi atau membagikan batas dengan namespace atau aplikasi lain.

Namespace dibuat oleh akun layanan eksekusi CD. Sebaiknya tim mengikuti prinsip hak istimewa terendah untuk membantu memastikan bahwa akun layanan eksekusi CD hanya dapat mengakses namespace yang diperlukan.

Anda dapat menentukan akses akun layanan di Config Sync dan menerapkannya menggunakan peran dan binding peran kontrol akses berbasis peran (RBAC) Kubernetes. Dengan model ini, tim dapat men-deploy resource apa pun langsung ke namespace yang mereka kelola, tetapi tidak dapat mengganti atau menghapus resource dari namespace lain.

Tujuan

  • Deploy arsitektur referensi satu project.
  • Jelajahi repositori kode.
  • Jelajahi pipeline dan infrastruktur.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

Men-deploy arsitektur referensi

  1. Di Cloud Shell, tetapkan project:

    gcloud config set core/project PROJECT_ID

    Ganti PROJECT_ID dengan Google Cloud project ID Anda.

  2. Di Cloud Shell, clone repositori Git:

    git clone https://github.com/GoogleCloudPlatform/software-delivery-blueprint.git
    cd software-delivery-blueprint/launch-scripts
    git checkout single-project-blueprint
    
  3. Buat token akses pribadi di GitHub dengan cakupan berikut:

    • repo
    • delete_repo
    • admin:org
    • admin:repo_hook
  4. Ada file kosong bernama vars.sh di folder software-delivery-bluprint/launch-scripts. Tambahkan teks berikut ke file:

    cat << EOF >vars.sh
    export INFRA_SETUP_REPO="gke-infrastructure-repo"
    export APP_SETUP_REPO="application-factory-repo"
    export GITHUB_USER=GITHUB_USER
    export TOKEN=TOKEN
    export GITHUB_ORG=GITHUB_ORG
    export REGION="us-central1"
    export SEC_REGION="us-west1"
    export TRIGGER_TYPE="webhook"
    EOF

    Ganti GITHUB_USER dengan nama pengguna GitHub.

    Ganti TOKEN dengan token akses pribadi GitHub.

    Ganti GITHUB_ORG dengan nama organisasi GitHub.

  5. Jalankan skrip bootstrap.sh. Jika Cloud Shell meminta otorisasi, klik Authorize:

    ./bootstrap.sh
    

    Skrip ini mem-bootstrap platform pengiriman software.

Mempelajari repositori kode

Di bagian ini, Anda akan menjelajahi repositori kode.

Login ke GitHub

  1. Di browser web, buka github.com dan login ke akun Anda.
  2. Klik ikon gambar di bagian atas antarmuka.
  3. Klik Organisasi Anda.
  4. Pilih organisasi yang Anda berikan sebagai input dalam file vars.sh.
  5. Klik tab Repositories.

Menjelajahi repositori starter, operator, konfigurasi, dan infrastruktur

Repositori starter, operator, konfigurasi, dan infrastruktur adalah tempat operator dan administrator platform menentukan praktik terbaik umum untuk membangun dan mengoperasikan platform. Repositori ini dibuat di organisasi GitHub Anda saat arsitektur referensi di-bootstrap.

Setiap repositori dalam daftar menyertakan deskripsi singkat.

Repositori awal

Repositori starter membantu penerapan CI/CD, infrastruktur, dan praktik terbaik pengembangan di seluruh platform. Untuk mengetahui informasi selengkapnya, lihat CI/CD modern dengan GKE: Framework pengiriman software

Repositori starter aplikasi

Di repositori starter aplikasi, operator Anda dapat mengodekan dan mendokumentasikan praktik terbaik seperti CI/CD, pengumpulan metrik, logging, langkah-langkah penampung, dan keamanan untuk aplikasi. Arsitektur referensi mencakup contoh repositori awal untuk aplikasi Go, Python, dan Java.

Repositori starter aplikasi app-template-python, app-template-java, dan app-template-golang berisi kode boilerplate yang dapat Anda gunakan untuk membuat aplikasi baru. Selain membuat aplikasi baru, Anda dapat membuat template baru berdasarkan persyaratan aplikasi. Repositori starter aplikasi yang disediakan oleh arsitektur referensi berisi:

  • kustomize dasar dan patch di folder k8s.

  • Kode sumber aplikasi.

  • Dockerfile yang menjelaskan cara membangun dan menjalankan aplikasi.

  • File cloudbuild.yaml yang menjelaskan praktik terbaik untuk langkah-langkah CI.

  • File skaffold.yaml yang menjelaskan langkah-langkah deployment.

Dalam dokumen berikutnya dalam seri ini, CI/CD Modern dengan GKE: Menerapkan alur kerja developer, Anda akan menggunakan repositori app-template-python untuk membuat aplikasi baru.

Repositori starter infrastruktur

Di repositori starter infrastruktur, operator dan administrator infrastruktur Anda dapat mengodifikasi dan mendokumentasikan praktik terbaik seperti pipeline CI/CD, IaC, pengumpulan metrik, logging, dan keamanan untuk infrastruktur. Contoh repositori starter infrastruktur menggunakan Terraform disertakan dalam arsitektur referensi. Repositori starter infrastruktur infra-template berisi kode boilerplate untuk Terraform yang dapat Anda gunakan untuk membuat resource infrastruktur yang diperlukan aplikasi, seperti bucket Cloud Storage, atau database Spanner, atau lainnya.

Repositori template bersama

Di repositori template bersama, administrator dan operator infrastruktur menyediakan template standar untuk melakukan tugas. Ada repositori bernama terraform-modules yang disediakan dengan arsitektur referensi. Repositori ini mencakup kode Terraform yang dibuat dengan template untuk membuat berbagai resource infrastruktur.

Repositori operator

Dalam arsitektur referensi, repositori operator sama dengan repositori starter aplikasi. Operator mengelola file yang diperlukan untuk CI dan CD di repositori starter aplikasi. Arsitektur referensi mencakup repositori app-template-python, app-template-java, dan app-template-golang.

  • Template ini adalah template awal dan berisi manifes Kubernetes dasar untuk aplikasi yang berjalan di Kubernetes di platform. Operator dapat memperbarui manifes dalam template awal sesuai kebutuhan. Pembaruan akan diambil saat aplikasi dibuat.
  • File cloudbuild.yaml dan skaffold.yaml di repositori ini menyimpan praktik terbaik untuk menjalankan CI dan CD masing-masing di platform. Mirip dengan konfigurasi aplikasi, operator dapat memperbarui dan menambahkan langkah-langkah ke praktik terbaik. Pipeline aplikasi individual dibuat menggunakan langkah-langkah terbaru.

Dalam implementasi referensi ini, operator menggunakan kustomize untuk mengelola konfigurasi dasar di folder k8s repositori starter. Kemudian, developer dapat memperluas manifes dengan perubahan khusus aplikasi seperti nama resource dan file konfigurasi. Alat kustomize mendukung konfigurasi sebagai data. Dengan metodologi ini, input dan output kustomize adalah resource Kubernetes. Anda dapat menggunakan output dari satu modifikasi manifes untuk modifikasi lainnya.

Diagram berikut mengilustrasikan konfigurasi dasar untuk aplikasi Spring Boot:

Konfigurasi aplikasi dilakukan di beberapa repositori yang dikelola oleh tim terpisah.

Model konfigurasi sebagai data di kustomize memiliki manfaat besar: saat operator memperbarui konfigurasi dasar, update akan otomatis digunakan oleh pipeline deployment developer pada proses berikutnya tanpa perubahan apa pun di sisi developer.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan kustomize untuk mengelola manifes Kubernetes, lihat dokumentasi kustomize.

Repositori konfigurasi dan kebijakan

Dalam arsitektur referensi, disertakan penerapan repositori kebijakan dan konfigurasi yang menggunakan Config Sync dan Policy Controller. Repositori acm-gke-infrastructure-repo berisi konfigurasi dan kebijakan yang Anda deploy di seluruh cluster lingkungan aplikasi. Konfigurasi yang ditentukan dan disimpan oleh admin platform di repositori ini penting untuk memastikan platform memiliki tampilan dan nuansa yang konsisten bagi tim operasi dan pengembangan.

Bagian berikut membahas cara arsitektur referensi menerapkan repositori kebijakan dan konfigurasi secara lebih mendetail.

Konfigurasi

Dalam penerapan referensi ini, Anda akan menggunakan Config Sync untuk mengelola konfigurasi cluster secara terpusat di platform dan menerapkan kebijakan. Pengelolaan terpusat memungkinkan Anda menyebarkan perubahan konfigurasi ke seluruh sistem.

Dengan Config Sync, organisasi Anda dapat mendaftarkan cluster untuk menyinkronkan konfigurasinya dari repositori Git, proses yang dikenal sebagai GitOps. Saat Anda menambahkan cluster baru, cluster tersebut akan otomatis disinkronkan ke konfigurasi terbaru dan terus merekonsiliasi status cluster dengan konfigurasi jika ada yang melakukan perubahan di luar band.

Untuk mengetahui informasi selengkapnya tentang Config Sync, lihat dokumentasinya.

Kebijakan

Dalam implementasi referensi ini, Anda menggunakan Pengontrol Kebijakan, yang didasarkan pada Open Policy Agent, untuk mencegat dan memvalidasi setiap permintaan ke cluster Kubernetes di platform. Anda dapat membuat kebijakan menggunakan bahasa kebijakan Rego, yang memungkinkan Anda mengontrol sepenuhnya tidak hanya jenis resource yang dikirimkan ke cluster, tetapi juga konfigurasinya.

Arsitektur dalam diagram berikut menunjukkan alur permintaan untuk menggunakan Policy Controller guna membuat resource:

Aturan kebijakan pertama-tama ditentukan, lalu diterapkan menggunakan berbagai alat seperti kubectl dan klien API.

Anda membuat dan menentukan aturan di repositori Config Sync, dan perubahan ini diterapkan ke cluster. Setelah itu, permintaan resource baru dari klien CLI atau API divalidasi terhadap batasan oleh Policy Controller.

Untuk mengetahui informasi selengkapnya tentang mengelola kebijakan, lihat ringkasan Pengontrol Kebijakan.

Repositori infrastruktur

Referensi ini mencakup implementasi repositori infrastruktur menggunakan Terraform. Repositori gke-infrastructure-repo berisi infrastruktur sebagai kode untuk membuat cluster GKE untuk lingkungan pengembangan, staging, dan produksi serta mengonfigurasi Config Sync di cluster tersebut menggunakan repositori acm-gke-infrastructure-repo. gke-infrastructure-repo berisi tiga cabang, satu untuk setiap lingkungan pengembangan, staging, dan produksi. Repositori ini juga berisi folder dev, staging, dan produksi di setiap cabang.

Mempelajari pipeline dan infrastruktur

Arsitektur referensi membuat pipeline di project Google Cloud . Pipeline ini bertanggung jawab untuk membuat infrastruktur bersama.

Pipeline

Di bagian ini, Anda akan mempelajari pipeline infrastruktur sebagai kode dan menjalankannya untuk membuat infrastruktur bersama, termasuk cluster GKE. Pipeline ini adalah pemicu Cloud Build bernama create-infra di project Google Cloud yang ditautkan ke repositori infrastruktur gke-infrastructure-repo. Anda mengikuti metodologi GitOps untuk membuat infrastruktur seperti yang dijelaskan dalam video Repeatable GCP Environments at Scale With Cloud Build Infra-As-Code Pipelines.

gke-infrastructure-repo memiliki cabang pengembangan, staging, dan produksi. Di repositori, ada juga folder dev, staging, dan produksi yang sesuai dengan cabang ini. Ada aturan perlindungan cabang di repositori yang memastikan bahwa kode hanya dapat di-push ke cabang dev. Untuk mengirimkan kode ke cabang staging dan produksi, Anda harus membuat permintaan pull.

Biasanya, seseorang yang memiliki akses ke repositori akan meninjau perubahan, lalu menggabungkan pull request untuk memastikan hanya perubahan yang diinginkan yang dipromosikan ke cabang yang lebih tinggi. Agar individu dapat mencoba cetak biru, aturan perlindungan cabang telah dilonggarkan dalam arsitektur referensi sehingga administrator repositori dapat melewati peninjauan dan menggabungkan permintaan pull.

Saat push dilakukan ke gke-infrastructure-repo, pemicu create-infra akan dipanggil. Pemicu tersebut mengidentifikasi cabang tempat push terjadi dan membuka folder yang sesuai di repositori pada cabang tersebut. Setelah menemukan folder yang sesuai, Terraform akan berjalan menggunakan file yang ada di dalam folder tersebut. Misalnya, jika kode dikirim ke cabang dev, pemicu akan menjalankan Terraform di folder dev cabang dev untuk membuat cluster GKE dev. Demikian pula, saat terjadi push ke cabang staging, pemicu menjalankan Terraform di folder staging cabang staging untuk membuat cluster GKE staging.

Jalankan pipeline untuk membuat cluster GKE:

  1. Di konsol Google Cloud , buka halaman Cloud Build.

    Buka halaman Cloud Build

    • Ada lima pemicu webhook Cloud Build. Cari pemicu dengan nama create-infra. Pemicu ini membuat infrastruktur bersama, termasuk cluster GKE.
  2. Klik nama pemicu. Definisi pemicu akan terbuka.

  3. Klik BUKA EDITOR untuk melihat langkah-langkah yang dijalankan pemicu.

    Pemicu lainnya digunakan saat Anda mengaktifkan aplikasi di CI/CD Modern dengan GKE: Menerapkan alur kerja developer

    Pemicu Cloud Build.

  4. Di konsol Google Cloud , buka halaman Cloud Build.

    Buka halaman histori Cloud Build

    Tinjau pipeline yang ada di halaman histori. Saat Anda men-deploy platform pengiriman software menggunakan bootstrap.sh, skrip akan mengirimkan kode ke cabang dev repositori gke-infrastructure-repo yang memulai pipeline ini dan membuat cluster GKE dev.

  5. Untuk membuat cluster GKE staging, kirimkan permintaan pull dari cabang dev ke cabang staging:

    1. Buka GitHub dan buka repositori gke-infrastructure-repo.

    2. Klik Pull requests, lalu New pull request.

    3. Di menu Dasar, pilih staging dan di menu Bandingkan, pilih dev.

    4. Klik Create pull request.

  6. Jika Anda adalah administrator di repositori, gabungkan pull request. Jika tidak, minta administrator menggabungkan pull request.

  7. Di konsol Google Cloud , buka halaman histori Cloud Build.

    Buka halaman histori Cloud Build

    Pipeline Cloud Build kedua dimulai di project. Pipeline ini membuat cluster GKE staging.

  8. Untuk membuat cluster GKE produksi, kirimkan pull request dari cabang staging ke produksi:

    1. Buka GitHub dan buka repositori gke-infrastructure-repo.

    2. Klik Pull requests, lalu New pull request.

    3. Di menu Base, pilih prod dan di menu Compare, pilih staging.

    4. Klik Create pull request.

  9. Jika Anda adalah administrator di repositori, gabungkan pull request. Jika tidak, minta administrator menggabungkan pull request.

  10. Di konsol Google Cloud , buka halaman histori Cloud Build.

    Buka halaman histori Cloud Build

    Pipeline Cloud Build ketiga dimulai di project. Pipeline ini membuat cluster GKE produksi.

Infrastruktur

Di bagian ini, Anda akan menjelajahi infrastruktur yang dibuat oleh pipeline.

  • Di konsol Google Cloud , buka halaman Kubernetes clusters.

    Buka halaman cluster Kubernetes

    Halaman ini mencantumkan cluster yang digunakan untuk pengembangan (gke-dev-us-central1), penyiapan (gke-staging-us-central1), dan produksi ( gke-prod-us-central1, gke-prod-us-west1):

    Detail cluster mencakup lokasi, ukuran cluster, dan total core.

Cluster pengembangan

Cluster pengembangan (gke-dev-us-central1) memberi developer Anda akses ke namespace yang dapat mereka gunakan untuk melakukan iterasi pada aplikasi mereka. Sebaiknya tim menggunakan alat seperti Skaffold yang menyediakan alur kerja iteratif dengan memantau kode secara aktif dalam pengembangan dan menerapkan kembali kode tersebut ke lingkungan pengembangan saat perubahan dilakukan. Loop iterasi ini mirip dengan pemuatan ulang cepat. Namun, alih-alih spesifik untuk bahasa pemrograman, loop ini berfungsi dengan aplikasi apa pun yang dapat Anda bangun dengan image Docker. Anda dapat menjalankan loop di dalam cluster Kubernetes.

Atau, developer Anda dapat mengikuti loop CI/CD untuk lingkungan pengembangan. Loop tersebut membuat perubahan kode siap dipromosikan ke lingkungan yang lebih tinggi.

Dalam dokumen berikutnya dalam seri ini, CI/CD Modern dengan GKE: Menerapkan alur kerja developer, Anda akan menggunakan Skaffold dan CI/CD untuk membuat loop pengembangan.

Cluster staging

Cluster ini menjalankan lingkungan staging aplikasi Anda. Dalam arsitektur referensi ini, Anda akan membuat satu cluster GKE untuk staging. Biasanya, lingkungan staging adalah replika persis dari lingkungan produksi.

Cluster produksi

Dalam arsitektur referensi, Anda memiliki dua cluster GKE untuk lingkungan produksi. Untuk sistem geo-redundansi atau ketersediaan tinggi (HA), sebaiknya tambahkan beberapa cluster ke setiap lingkungan. Untuk semua cluster tempat aplikasi di-deploy, sebaiknya gunakan cluster regional. Pendekatan ini mengisolasi aplikasi Anda dari kegagalan tingkat zona dan gangguan apa pun yang disebabkan oleh upgrade cluster atau node pool.

Untuk menyinkronkan konfigurasi resource cluster, seperti namespace, kuota, dan RBAC, sebaiknya gunakan Config Sync. Untuk mengetahui informasi selengkapnya tentang cara mengelola resource tersebut, lihat Repositori konfigurasi dan kebijakan.

Menerapkan arsitektur referensi

Setelah menjelajahi arsitektur referensi, Anda dapat menjelajahi alur kerja developer yang didasarkan pada implementasi ini. Dalam dokumen berikutnya di seri ini, CI/CD Modern dengan GKE: Menerapkan alur kerja developer, Anda akan membuat aplikasi baru, menambahkan fitur, lalu men-deploy aplikasi ke lingkungan staging dan produksi.

Pembersihan

Jika Anda ingin mencoba dokumen berikutnya dalam seri ini, CI/CD Modern dengan GKE: Menerapkan alur kerja developer, jangan hapus project atau resource yang terkait dengan arsitektur referensi ini. Jika tidak, agar tidak dikenai biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam arsitektur referensi, Anda dapat menghapus project atau menghapus resource secara manual.

Menghapus project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus resource secara manual

  • Di Cloud Shell, hapus infrastruktur:

      gcloud container clusters delete gke-dev-us-central1
      gcloud container clusters delete gke-staging-us-central1
      gcloud container clusters delete gke-prod-us-central1
      gcloud container clusters delete gke-prod-us-west1
      gcloud beta builds triggers delete create-infra
      gcloud beta builds triggers delete add-team-files
      gcloud beta builds triggers delete create-app
      gcloud beta builds triggers delete tf-plan
      gcloud beta builds triggers delete tf-apply
    

Langkah berikutnya