Menghubungkan ke cluster terdaftar dengan gateway Connect

Armada di Google Cloud adalah grup logis cluster Kubernetes dan resource lain yang dapat dikelola bersama-sama, yang dibuat dengan mendaftarkan cluster ke Google Cloud. Gateway Connect dibangun dengan memanfaatkan kecanggihan fleet untuk memungkinkan pengguna Anthos terhubung dan menjalankan perintah terhadap cluster anggota fleet dengan cara yang sederhana, konsisten, dan aman, baik cluster berada di Google Cloud, cloud publik lainnya, atau infrastruktur lokal, dan mempermudah otomatisasi proses DevOps di semua cluster Anda.

Panduan ini mengasumsikan bahwa Anda sudah memahami beberapa konsep dasar fleet dan mendaftarkan cluster ke fleet. Jika belum, Anda dapat mengetahui lebih lanjut di Ringkasan pengelolaan perangkat, Ringkasan pembuatan armada, dan panduan terkaitnya. Anda juga harus memahami alat dan konsep Kubernetes, termasuk kubectl, client-go (jika ingin menggunakan gateway untuk tujuan otomatisasi), role-based access control (RBAC), dan resource Kubernetes inti.

Secara default, gateway Connect menggunakan ID Google Anda untuk melakukan autentikasi ke cluster, dengan dukungan untuk penyedia identitas pihak ketiga menggunakan workforce identity federation, dan dengan dukungan autentikasi berbasis grup melalui GKE Identity Service. Jika Anda ingin mengetahui lebih lanjut tentang Layanan Identitas GKE, atau menggunakannya sebagai opsi autentikasi pihak ketiga mandiri, lihat Memperkenalkan Layanan Identitas GKE.

Mengapa menggunakan gateway Connect?

Ada banyak tantangan dalam mengelola workload saat cluster Anda dijalankan di beberapa cloud dan lingkungan hybrid. Cluster dapat berjalan di virtual private cloud (VPC) yang berbeda dan memanfaatkan penyedia identitas yang berbeda, sehingga membuat konektivitas, autentikasi, dan otorisasi menjadi lebih rumit. Terkadang, menemukan cluster mana yang ada di lingkungan ini sulit untuk diketahui.

Gateway Connect memudahkan untuk:

  • Temukan cluster apa saja yang ada (di Google Cloud, cloud publik lain, atau infrastruktur lokal) dan yang didaftarkan ke perangkat Anda melalui kueri sederhana.
  • Hubungkan ke cluster yang diinginkan menggunakan infrastruktur yang sama dengan yang digunakan untuk menampilkan cluster GKE terdaftar di konsol Google Cloud.
  • Autentikasi menggunakan identitas yang sama dengan yang Anda gunakan di layanan Google Cloud.
  • Beri otorisasi secara konsisten di semua cluster Anda yang terdaftar dalam satu fleet.

Gateway mengautentikasi Google Cloud Identity Anda dan menyediakan koneksi ke server API cluster melalui layanan Connect.

Anda dapat berinteraksi dengan cluster secara langsung melalui gateway menggunakan alat command line yang menerima kubeconfig seperti kubectl. Anda juga dapat memanfaatkan gateway dengan mudah dengan pipeline build dan otomatisasi DevOps lainnya. Anda dapat melihat contoh cara melakukannya dalam tutorial Mengintegrasikan dengan Cloud Build.

Anda juga dapat menggunakan layanan Connect untuk terhubung ke cluster terdaftar di luar Google Cloud dengan Google Cloud Identity Anda di konsol Google Cloud. Untuk melakukannya, ikuti petunjuk di Login ke cluster dari konsol Google Cloud.

Cara kerjanya

Berikut adalah alur yang dilakukan pengguna atau layanan pada umumnya (seperti pipeline CI/CD) untuk menggunakan gateway Connect, setelah autentikasi dan otorisasi yang sesuai dikonfigurasi. Untuk petunjuk pengguna yang lebih mendetail, lihat panduan penggunaan kami.

  1. Pengguna atau layanan menemukan cluster dengan membuat daftar resource Keanggotaan fleet dengan Google Cloud CLI.

    gcloud container fleet memberships list
    
  2. Pengguna atau layanan mengambil kubeconfig khusus gateway Connect yang diperlukan untuk menjangkau cluster yang dipilih menggunakan Google Cloud CLI.

    gcloud container fleet memberships get-credentials membership-name
    

    Jika Anda sudah terbiasa menggunakan gcloud CLI dengan GKE, ini mirip dengan menjalankan gcloud container clusters get-credentials menggunakan akun Google Cloud, sehingga Anda (jika diberi otorisasi) dapat mengakses cluster apa pun yang terdaftar dan terhubung dalam fleet project Anda.

  3. Pengguna atau layanan menjalankan perintahnya seperti biasa dengan kubectl atau client-go, menggunakan file kubeconfig yang didownload.

    1. Pengguna/layanan diautentikasi oleh gateway Connect, dan otorisasi diperiksa untuk memastikan pengguna/layanan memiliki izin untuk menggunakan gateway.
    2. Permintaan diteruskan melalui layanan Connect dan Connect Agent ke server Kubernetes API yang sesuai.
    3. Server Kubernetes API mengizinkan permintaan yang mengharuskan agen Connect diberi otorisasi untuk meniru identitas pengguna atau layanan, dan pengguna atau layanan diberi otorisasi untuk mengeksekusi permintaan yang diinginkan.

Dukungan Google Grup

Pada alur standar yang dijelaskan di bagian sebelumnya, permintaan pengguna diizinkan berdasarkan ID masing-masing. Namun, dalam banyak kasus, ada baiknya untuk dapat memberi otorisasi kepada pengguna berdasarkan keanggotaan mereka Google Grup. Memberikan otorisasi berdasarkan keanggotaan grup berarti Anda tidak perlu menyiapkan otorisasi terpisah untuk setiap akun, sehingga kebijakan menjadi lebih sederhana untuk dikelola dan lebih mudah diaudit. Jadi, misalnya, Anda dapat dengan mudah membagikan akses cluster ke tim, sehingga Anda tidak perlu menambahkan/menghapus pengguna individu dari cluster secara manual saat mereka bergabung atau keluar dari tim. Dengan beberapa penyiapan tambahan menggunakan GKE Identity Service, Anda dapat mengonfigurasi gateway Connect untuk mendapatkan informasi keanggotaan Google Grup bagi pengguna.

Anda dapat mengetahui lebih lanjut cara kerja fitur ini dan cara menyiapkannya di Menyiapkan gateway Connect dengan Google Grup.

Jika Anda ingin menggunakan fitur ini dengan cluster yang terpasang atau lingkungan cluster GKE lainnya, hubungi Cloud Customer Care atau tim gateway Connect.

Dukungan identitas pihak ketiga

Selain dapat digunakan dengan pengguna dan grup Google Workspace, gateway Connect mendukung otorisasi menggunakan identitas pihak ketiga, seperti Azure Active Directory dan Okta. Dengan menggunakan federasi identitas tenaga kerja, Anda dapat menggunakan penyedia identitas eksternal untuk mengautentikasi dan memberi otorisasi kepada tenaga kerja—grup pengguna seperti karyawan, partner, dan kontraktor—menggunakan Identity and Access Management, sehingga pengguna dapat mengakses layanan Google Cloud seperti gateway Connect. Dengan beberapa penyiapan tambahan menggunakan GKE Identity Service, Anda dapat mengonfigurasi gateway Connect untuk mendapatkan informasi keanggotaan grup pihak ketiga bagi pengguna.

Fitur identitas pihak ketiga gateway Connect didukung untuk GKE di VMware dan GKE di Bare Metal mulai versi Anthos 1.13 dan seterusnya. Untuk cluster yang terpasang, fitur ini tersedia mulai dari GKE Enterprise 1.16 dan yang lebih baru.

Anda dapat mengetahui cara kerja fitur ini dan cara menyiapkannya lebih lanjut di artikel Menyiapkan gateway Connect dengan identitas pihak ketiga.

Jika ingin, Anda dapat menyiapkan autentikasi pihak ketiga sepenuhnya menggunakan GKE Identity Service dengan mengikuti petunjuk dalam dokumentasinya.

Latensi

Latensi total permintaan melalui gateway dapat dibagi menjadi dua bagian: RTT (Waktu Round Trip) dari layanan gateway Connect ke agen Connect, dan waktu eksekusi permintaan di dalam cluster. Latensi tambahan yang dibawa oleh RTT adalah p95<500ms dan p99<1s. Perlu diketahui bahwa sebagian besar perintah kubectl menjalankan serangkaian beberapa permintaan yang berbeda, masing-masing memerlukan waktu dua arah, sebelum merender respons kepada pengguna.

Apa langkah selanjutnya?