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:
- Infrastruktur: Lapisan ini mencakup penyimpanan, komputasi, dan jaringan, yang ditangani dengan konstruksi lokal.
- Pengelolaan data: Untuk tujuan panduan ini, lapisan pengelolaan data memerlukan database SQL yang dikelola di luar cluster Kubernetes yang di-deploy.
- Lapisan pengelolaan container: Lapisan ini menggunakan cluster GKE.
- Lapisan Service Management: Lapisan ini menggunakan Anthos Service Mesh.
- Lapisan Pengelolaan Kebijakan: Lapisan ini menggunakan Config Sync dan Pengontrol Kebijakan.
- Lapisan pengelolaan aplikasi: Lapisan ini menggunakan Cloud Build dan Cloud Source Repositories.
- 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:
- Address Resolution Protocol (ARP): Memerlukan konektivitas lapisan 2 antara node yang menjalankan load balancer.
- Border Gateway Protocol (BGP): Menggunakan peering untuk menghubungkan jaringan cluster Anda, yang merupakan sistem otonom, dengan sistem otonom lainnya, seperti jaringan eksternal.
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-prod
adalah 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:
- Alamat IP node
- Alamat IP Pod Kubernetes
- Alamat IP cluster/layanan Kubernetes
- 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.
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
- Baca selengkapnya tentang Anthos Service Mesh, Config Sync, dan Pengontrol Kebijakan.
- Lihat beberapa arsitektur referensi GKE Enterprise lainnya.
- Coba GKE Enterprise di Google Cloud dengan deployment sampel GKE Enterprise.
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.