Arsitektur referensi GKE Enterprise: Google Distributed Cloud Virtual untuk Bare Metal

Last reviewed 2023-08-15 UTC

Panduan ini menjelaskan arsitektur referensi yang digunakan untuk men-deploy GDCV untuk Bare Metal. Panduan ini ditujukan bagi administrator platform yang ingin men-deploy GKE Enterprise di platform bare metal dalam konfigurasi redundan geografis yang sangat tersedia. Untuk memahami panduan ini dengan baik, Anda harus sudah memahami konsep dasar GKE Enterprise, seperti yang diuraikan dalam ringkasan teknis GKE Enterprise. Anda juga harus memiliki pemahaman dasar tentang konsep Kubernetes dan Google Kubernetes Engine (GKE), seperti yang dijelaskan dalam Mempelajari Dasar-Dasar Kubernetes dan dokumentasi GKE.

Panduan ini memiliki repositori sumber GitHub yang berisi skrip yang dapat Anda gunakan untuk men-deploy arsitektur yang dijelaskan. Panduan ini juga menjelaskan komponen arsitektur yang berisi skrip dan modul yang digunakan untuk membuat komponen tersebut. Sebaiknya gunakan file ini sebagai template untuk membuat modul yang menggunakan kebijakan dan praktik terbaik organisasi Anda.

GDCV untuk model arsitektur Bare Metal

Dalam panduan Dasar-Dasar Arsitektur GKE Enterprise, arsitektur platform dijelaskan secara berlapis. Resource di setiap lapisan menyediakan kumpulan fungsi tertentu. Resource ini dimiliki dan dikelola oleh satu atau beberapa persona. Seperti yang ditunjukkan dalam diagram, arsitektur platform GKE Enterprise untuk bare metal terdiri dari lapisan dan resource berikut:

Model mental GDCV untuk Bare Metal yang menunjukkan lapisan yang dibahas dalam dokumen.

  1. Infrastruktur: Lapisan ini mencakup penyimpanan, komputasi, dan jaringan, yang ditangani dengan konstruksi lokal.
  2. Pengelolaan data: Untuk tujuan panduan ini, lapisan pengelolaan data memerlukan database SQL yang dikelola di luar cluster Kubernetes yang di-deploy.
  3. Lapisan pengelolaan container: Lapisan ini menggunakan cluster GKE.
  4. Lapisan Service Management: Lapisan ini menggunakan Anthos Service Mesh.
  5. Lapisan Pengelolaan Kebijakan: Lapisan ini menggunakan Config Sync dan Pengontrol Kebijakan.
  6. Lapisan pengelolaan aplikasi: Lapisan ini menggunakan Cloud Build dan Cloud Source Repositories.
  7. Lapisan observasi: Lapisan ini menggunakan dasbor Kemampuan Observasi Google Cloud dan Anthos Service Mesh.

Setiap lapisan ini diulang di seluruh stack untuk lingkungan siklus proses yang berbeda, seperti pengembangan, staging, dan produksi.

Bagian berikut hanya menyertakan informasi tambahan yang spesifik bagi GDCV untuk Bare Metal. Mereka membuat build berdasarkan bagiannya masing-masing dalam panduan GKE Enterprise Architecture Foundations. Sebaiknya Anda meninjau panduan tersebut saat membaca artikel ini.

Networking

Untuk mengetahui informasi selengkapnya tentang persyaratan jaringan, lihat Persyaratan jaringan.

Untuk load balancer GDCV untuk Bare Metal, ada dua opsi yang tersedia: paket dan manual.

Dalam mode paket, software load balancing L4 di-deploy selama pembuatan cluster. Proses load balancer dapat berjalan pada kumpulan worker node khusus, atau pada node yang sama dengan bidang kontrol. Untuk mengiklankan alamat IP virtual (VIP), load balancer ini memiliki dua opsi:

Dalam mode manual, Anda mengonfigurasi solusi load balancing Anda sendiri untuk traffic bidang kontrol dan bidang data. Ada banyak opsi hardware dan software yang tersedia untuk load balancer eksternal. Anda harus menyiapkan load balancer eksternal untuk bidang kontrol sebelum membuat cluster bare metal. Load balancer bidang kontrol eksternal juga dapat digunakan untuk traffic bidang data, atau Anda dapat menyiapkan load balancer terpisah untuk bidang data. Untuk menentukan ketersediaan, load balancer harus dapat mendistribusikan traffic ke sekumpulan node berdasarkan pemeriksaan kesiapan yang dapat dikonfigurasi.

Untuk mengetahui informasi selengkapnya tentang load balancer untuk GDCV untuk Bare Metal, lihat Ringkasan load balancer.

Arsitektur cluster

GDCV untuk Bare Metal mendukung beberapa model deployment, yang mengakomodasi berbagai kebutuhan ketersediaan, isolasi, dan jejak resource. Model deployment ini dibahas dalam Memilih model deployment.

Pengelolaan identitas

GDCV untuk Bare Metal menggunakan Layanan Identitas GKE untuk berintegrasi dengan penyedia identitas. Layanan ini mendukung OpenID Connect (OIDC) dan Lightweight Directory Access Protocol (LDAP). Untuk aplikasi dan layanan, Anthos Service Mesh dapat digunakan dengan berbagai solusi identitas.

Untuk mengetahui informasi selengkapnya tentang pengelolaan identitas, baca artikel Pengelolaan identitas dengan OIDC di GDCV untuk Bare Metal dan Mengautentikasi dengan OIDC atau, Menyiapkan Anthos Identity Service dengan LDAP.

Pengelolaan keamanan dan kebijakan

Untuk GDCV untuk pengelolaan kebijakan dan keamanan Bare Metal, sebaiknya gunakan Config Sync dan Pengontrol Kebijakan. Pengontrol Kebijakan memungkinkan Anda membuat dan menerapkan kebijakan di seluruh cluster. Config Sync mengevaluasi perubahan dan menerapkannya ke semua cluster untuk mencapai status yang sesuai.

Service

Saat menggunakan mode paket GDCV untuk Bare Metal untuk load balancing, Anda dapat membuat layanan jenis LoadBalancer. Saat Anda membuat layanan ini, GDCV untuk Bare Metal akan menetapkan alamat IP dari kumpulan alamat IP load balancer yang telah dikonfigurasi ke layanan. Jenis layanan LoadBalancer digunakan untuk mengekspos layanan Kubernetes di luar cluster untuk traffic utara-selatan. Saat menggunakan GDCV untuk Bare Metal, IngressGateway juga dibuat dalam cluster secara default. Anda tidak dapat membuat layanan jenis LoadBalancer bagi GDCV untuk Bare Metal dalam mode manual. Sebagai gantinya, Anda dapat membuat objek Ingress yang menggunakan IngressGateway atau membuat layanan berjenis NodePort dan secara manual mengonfigurasi load balancer eksternal untuk menggunakan layanan Kubernetes sebagai backend.

Untuk Pengelolaan Layanan, yang juga disebut sebagai traffic timur-barat, sebaiknya gunakan Anthos Service Mesh. Anthos Service Mesh didasarkan pada Istio open API dan menyediakan kemampuan observasi, autentikasi, enkripsi yang seragam, kontrol traffic yang mendetail, serta fitur dan fungsi lainnya. Untuk mengetahui informasi selengkapnya tentang Pengelolaan Layanan, lihat Anthos Service Mesh.

Pengelolaan status dan persistensi

GDCV untuk Bare Metal sangat bergantung pada infrastruktur yang ada untuk penyimpanan sementara, penyimpanan volume, dan penyimpanan PersistentVolume. Data efemeral menggunakan resource disk lokal pada node tempat Pod Kubernetes dijadwalkan. Untuk data persisten, GKE Enterprise kompatibel dengan Container Storage Interface (CSI), sebuah API standar terbuka yang didukung oleh banyak vendor penyimpanan. Untuk penyimpanan produksi, sebaiknya instal driver CSI dari partner penyimpanan GKE Enterprise Ready. Untuk mengetahui daftar lengkap partner penyimpanan GKE Enterprise Ready, lihat partner penyimpanan GKE Enterprise Ready.

Untuk informasi selengkapnya tentang penyimpanan, lihat Mengonfigurasi penyimpanan.

Database

GDCV untuk Bare Metal tidak memberikan kemampuan khusus database tambahan di luar kemampuan standar platform GKE Enterprise. Sebagian besar database berjalan pada sistem manajemen data eksternal. Beban kerja di platform GKE Enterprise juga dapat dikonfigurasi agar terhubung ke database eksternal yang dapat diakses.

Kemampuan observasi

Kemampuan Observabilitas Google Cloud mengumpulkan log dan metrik pemantauan untuk cluster Bare Metal dengan cara yang mirip dengan kebijakan pengumpulan dan pemantauan cluster GKE. Secara default, log cluster dan metrik komponen sistem dikirim ke Cloud Monitoring. Agar Kemampuan Observabilitas Google Cloud mengumpulkan log dan metrik aplikasi, aktifkan opsi clusterOperations.enableApplication di file YAML konfigurasi cluster.

Untuk mengetahui informasi selengkapnya tentang kemampuan observasi, lihat Mengonfigurasi logging dan pemantauan.

Kasus penggunaan: Deployment Cymbal Bank

Untuk panduan ini, aplikasi Cymbal Bank/Bank of Anthos digunakan untuk menyimulasikan perencanaan, deployment platform, dan proses deployment aplikasi untuk GDCV untuk Bare Metal.

Bagian lainnya dari dokumen ini terdiri dari tiga bagian. Bagian Perencanaan menguraikan keputusan yang dibuat berdasarkan opsi yang dibahas di bagian model arsitektur. Bagian Deployment platform membahas skrip dan modul yang disediakan oleh repositori sumber untuk men-deploy platform GKE Enterprise. Terakhir, di bagian Deployment aplikasi, aplikasi Cymbal Bank di-deploy di platform.

Panduan GDCV untuk Bare Metal ini dapat digunakan untuk melakukan deployment ke host yang dikelola sendiri atau instance Compute Engine. Dengan menggunakan resource Google Cloud, siapa pun dapat menyelesaikan panduan ini tanpa memerlukan akses ke hardware fisik. Penggunaan instance Compute Engine hanya untuk tujuan demonstrasi. JANGAN gunakan instance ini untuk beban kerja produksi. Jika akses ke hardware fisik tersedia dan rentang alamat IP yang sama digunakan, Anda dapat menggunakan repositori sumber yang disediakan sebagaimana adanya. Jika lingkungan berbeda dari yang diuraikan di bagian Perencanaan, Anda dapat mengubah skrip dan modul untuk mengakomodasi perbedaannya. Repositori sumber yang terkait berisi petunjuk untuk hardware fisik dan skenario instance Compute Engine.

Perencanaan

Bagian berikut menjelaskan keputusan arsitektur yang dibuat saat merencanakan dan mendesain platform untuk deployment aplikasi Bank of GKE Enterprise pada GDCV untuk Bare Metal. Bagian ini berfokus pada lingkungan produksi. Untuk mem-build lingkungan yang lebih rendah, seperti pengembangan atau staging, Anda dapat menggunakan langkah-langkah serupa.

Project Google Cloud

Saat membuat project di Google Cloud untuk GDCV untuk Bare Metal, project host armada diperlukan. Project tambahan direkomendasikan untuk setiap lingkungan atau fungsi bisnis. Dengan konfigurasi project ini, Anda dapat mengatur resource berdasarkan persona yang berinteraksi dengan resource.

Subbagian berikut membahas jenis project yang direkomendasikan dan persona yang terkait dengannya.

Project hub

Project hub hub-prod adalah untuk persona administrator jaringan. Di project inilah pusat data lokal terhubung ke Google Cloud menggunakan bentuk konektivitas hybrid yang Anda pilih. Untuk mengetahui informasi selengkapnya tentang opsi konektivitas hybrid, lihat Konektivitas Google Cloud

Project host fleet

Project host fleet fleet-prodadalah untuk persona administrator platform. Project ini adalah tempat cluster GDCV untuk Bare Metal didaftarkan. Project ini juga merupakan tempat resource Google Cloud terkait platform berada. Resource ini mencakup Google Cloud Observability, Cloud Source Repositories, dan lainnya. Project Google Cloud tertentu hanya dapat memiliki satu fleet (atau tidak ada fleet) yang terkait dengannya. Batasan ini memperkuat penggunaan project Google Cloud untuk memberikan isolasi yang lebih kuat antara resource yang tidak diatur atau digunakan bersama.

Aplikasi atau project tim

Aplikasi atau project tim app-banking-prod ditujukan untuk persona developer. Project ini adalah tempat keberadaan resource Google Cloud khusus aplikasi atau khusus tim. Project ini mencakup semuanya kecuali cluster GKE. Bergantung pada jumlah tim atau aplikasi, mungkin ada beberapa instance dari jenis project ini. Membuat project terpisah untuk tim yang berbeda memungkinkan Anda mengelola IAM, penagihan, dan kuota secara terpisah untuk setiap tim.

Networking

Setiap GDCV untuk cluster Bare Metal memerlukan subnet alamat IP berikut:

  1. Alamat IP node
  2. Alamat IP Pod Kubernetes
  3. Alamat IP cluster/layanan Kubernetes
  4. Alamat IP load balancer (mode paket)

Untuk menggunakan rentang alamat IP non-routable yang sama untuk Pod Kubernetes dan subnet layanan di setiap cluster, pilih model jaringan mode pulau. Dalam konfigurasi ini, Pod dapat saling berkomunikasi secara langsung di dalam cluster, tetapi tidak dapat dijangkau secara langsung dari luar cluster (menggunakan alamat IP Pod). Konfigurasi ini membentuk pulau di dalam jaringan yang tidak terhubung ke jaringan eksternal. Cluster tersebut membentuk mesh node-ke-node lengkap di seluruh node cluster dalam pulau, sehingga Pod-pod tersebut dapat langsung menjangkau Pod lain dalam cluster.

Alokasi alamat IP

Cluster Node Pod Perbankan & Keuangan Load balancer
metal-admin-dc1-000-prod 10.185.0.0/24 192.168.0.0/16 10.96.0.0/12 T/A
metal-user-dc1a-000-prod 10.185.1.0/24 192.168.0.0/16 10.96.0.0/12 10.185.1.3-10.185.1.10
metal-user-dc1b-000-prod 10.185.2.0/24 192.168.0.0/16 10.96.0.0/12 10.185.2.3-10.185.2.10
metal-admin-dc2-000-prod 10.195.0.0/24 192.168.0.0/16 10.96.0.0/12 T/A
metal-user-dc2a-000-prod 10.195.1.0/24 192.168.0.0/16 10.96.0.0/12 10.195.1.3-10.195.1.10
metal-user-dc2b-000-prod 10.195.2.0/24 192.168.0.0/16 10.96.0.0/12 10.195.2.3-10.195.2.10

Dalam mode pulau, penting untuk memastikan subnet alamat IP yang dipilih untuk Pod dan service Kubernetes tidak digunakan atau dapat dirutekan dari jaringan node.

Persyaratan jaringan

Guna menyediakan load balancer terintegrasi untuk GDCV bagi Bare Metal yang tidak memerlukan konfigurasi, gunakan mode load balancer paket di setiap cluster. Saat beban kerja menjalankan layanan LoadBalancer, alamat IP akan ditetapkan dari kumpulan load balancer.

Untuk membaca informasi mendetail tentang persyaratan dan konfigurasi load balancer yang dipaketkan, lihat Ringkasan load balancer dan Mengonfigurasi load balancing yang dipaketkan.

Arsitektur cluster

Untuk lingkungan produksi, sebaiknya gunakan model deployment cluster admin dan pengguna dengan cluster admin dan dua cluster pengguna di setiap lokasi geografis untuk mencapai redundansi dan fault tolerance terbesar bagi GDCV untuk Bare Metal.

Sebaiknya gunakan minimal empat cluster pengguna untuk setiap lingkungan produksi. Gunakan dua lokasi redundan geografis yang masing-masing berisi dua cluster fault-tolerant. Setiap cluster fault-tolerant memiliki hardware redundan dan koneksi jaringan redundan. Mengurangi jumlah cluster akan mengurangi redundansi atau fault tolerance arsitektur.

Untuk membantu memastikan ketersediaan tinggi, bidang kontrol untuk setiap cluster menggunakan tiga node. Dengan minimal tiga node pekerja per cluster pengguna, Anda dapat mendistribusikan beban kerja di seluruh node tersebut untuk menurunkan dampak jika node offline. Jumlah dan ukuran worker node sangat bergantung pada jenis dan jumlah beban kerja yang dijalankan di cluster. Ukuran yang direkomendasikan untuk setiap node dibahas dalam Mengonfigurasi hardware untuk GDCV untuk Bare Metal.

Tabel berikut menjelaskan ukuran node yang direkomendasikan untuk inti CPU, memori, dan penyimpanan disk lokal dalam kasus penggunaan ini.

Ukuran node
Jenis node CPU/vCPU Memori Penyimpanan
Bidang kontrol 8 core 32 GiB 256 GiB
Pekerja 8 core 64 GiB 512 GiB

Untuk informasi selengkapnya tentang prasyarat dan ukuran mesin, lihat Prasyarat mesin node cluster.

Pengelolaan identitas

Untuk pengelolaan identitas, sebaiknya gunakan integrasi dengan OIDC melalui GKE Identity Service. Pada contoh yang diberikan dalam repositori sumber, autentikasi lokal digunakan untuk menyederhanakan persyaratan. Jika OIDC tersedia, Anda dapat mengubah contoh untuk menggunakannya. Untuk mengetahui informasi selengkapnya, lihat Pengelolaan identitas dengan OIDC di GDCV untuk Bare Metal.

Pengelolaan keamanan dan kebijakan

Dalam kasus penggunaan Cymbal Bank, Config Sync dan Pengontrol Kebijakan digunakan untuk pengelolaan kebijakan. Cloud Source Repositories dibuat untuk menyimpan data konfigurasi yang digunakan Config Sync. Operator ConfigManagement, yang digunakan untuk menginstal dan mengelola Config Sync dan Pengontrol Kebijakan, memerlukan akses hanya baca ke repositori sumber konfigurasi. Untuk memberikan akses tersebut, gunakan bentuk autentikasi yang dapat diterima. Dalam contoh ini, akun layanan Google digunakan.

Perbankan & Keuangan

Untuk Pengelolaan Layanan dalam kasus penggunaan ini, Anthos Service Mesh digunakan untuk menyediakan dasar tempat layanan terdistribusi dibangun. Secara default, IngressGateway juga dibuat di cluster yang menangani objek Ingress Kubernetes standar.

Pengelolaan status dan persistensi

Karena penyimpanan persisten sangat bergantung pada infrastruktur yang ada, kasus penggunaan ini tidak memerlukannya. Namun, dalam kasus lain, sebaiknya gunakan opsi penyimpanan dari Partner Penyimpanan Siap Pakai GKE Enterprise. Jika tersedia, opsi penyimpanan CSI dapat diinstal di cluster menggunakan petunjuk yang disediakan vendor. Untuk bukti konsep dan kasus penggunaan lanjutan, Anda dapat menggunakan volume lokal. Namun, untuk sebagian besar kasus penggunaan, kami tidak merekomendasikan penggunaan volume lokal di lingkungan produksi.

Database

Banyak aplikasi stateful di GDCV untuk Bare Metal menggunakan database sebagai penyimpanan persistensinya. Aplikasi database stateful memerlukan akses ke database untuk memberikan logika bisnisnya kepada klien. Tidak ada pembatasan pada jenis Datastore yang digunakan oleh GDCV untuk Bare Metal. Oleh karena itu, keputusan penyimpanan data harus dibuat oleh developer atau tim manajemen data terkait. Karena aplikasi yang berbeda mungkin memerlukan datastore yang berbeda, datastore tersebut juga dapat digunakan tanpa batasan. Database dapat dikelola di cluster, secara lokal, atau bahkan di cloud.

Aplikasi Cymbal Bank adalah aplikasi stateful yang mengakses dua database PostgreSQL. Akses {i>database<i} dikonfigurasi melalui variabel lingkungan. Database PostgreSQL harus dapat diakses dari node yang menjalankan workload, meskipun database dikelola secara eksternal dari cluster. Dalam contoh ini, aplikasi mengakses database PostgreSQL eksternal yang ada. Saat aplikasi berjalan di platform, database dikelola secara eksternal. Dengan demikian, database bukan bagian dari platform GKE Enterprise. Gunakan database PostgreSQL jika tersedia. Jika tidak, buat dan gunakan database Cloud SQL untuk aplikasi Cymbal Bank.

Kemampuan observasi

Setiap cluster dalam kasus penggunaan Cymbal Bank dikonfigurasi agar kemampuan observasi Google Cloud dapat mengumpulkan log dan metrik untuk komponen sistem dan aplikasi. Ada beberapa dasbor Cloud Monitoring yang dibuat oleh penginstal Konsol Google Cloud yang dapat dilihat dari halaman Dasbor pemantauan. Untuk mengetahui informasi selengkapnya tentang kemampuan observasi, lihat Mengonfigurasi logging dan pemantauan, serta Cara kerja Logging dan Pemantauan untuk GDCV untuk Bare Metal.

Deployment platform

Untuk mengetahui informasi selengkapnya, lihat bagian Men-deploy Platform dalam dokumentasi di repositori sumber GitHub.

Deployment aplikasi

Untuk mengetahui informasi selengkapnya, lihat bagian Men-deploy Aplikasi dalam dokumentasi di repositori sumber GitHub.

Langkah selanjutnya