Menghubungkan ke cluster terdaftar dengan gateway Connect

Fleet di Google Cloud merupakan grup logis dari cluster Kubernetes dan resource lain yang dapat dikelola bersama, yang dibuat dengan mendaftarkan cluster ke Google Cloud. Gateway Connect dibangun berdasarkan kecanggihan fleet agar pengguna GKE Enterprise dapat terhubung ke 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 cara mendaftarkan cluster ke fleet. Jika belum, Anda dapat mengetahui lebih lanjut di Ringkasan pengelolaan perangkat, Ringkasan pembuatan perangkat, dan panduan tertaut. Anda juga harus memahami alat dan konsep Kubernetes, termasuk kubectl, client-go (jika Anda 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 yang menggunakan federasi identitas tenaga kerja, dan dengan dukungan autentikasi berbasis grup melalui GKE Identity Service. Jika Anda ingin mengetahui lebih lanjut tentang GKE Identity Service, atau menggunakannya sebagai opsi autentikasi pihak ketiga mandiri, lihat Memperkenalkan GKE Identity Service.

Mengapa menggunakan gateway Connect?

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

Gateway Connect memudahkan untuk:

  • Temukan cluster yang ada (di Google Cloud, di cloud publik lain, atau secara lokal) dan didaftarkan ke fleet Anda melalui kueri sederhana.
  • Hubungkan ke cluster yang diinginkan menggunakan infrastruktur yang sama dengan yang kami gunakan untuk menampilkan cluster GKE terdaftar di Konsol Google Cloud.
  • Lakukan autentikasi menggunakan identitas yang sama dengan yang Anda gunakan dengan layanan Google Cloud.
  • Berikan otorisasi secara konsisten di seluruh cluster Anda yang terdaftar di fleet.

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

Anda dapat berinteraksi langsung dengan cluster melalui gateway menggunakan alat command line yang menerima kubeconfig seperti kubectl. Anda juga dapat memanfaatkan gateway ini 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 ini adalah alur yang dilakukan oleh pengguna atau layanan biasa (seperti pipeline CI/CD) untuk menggunakan gateway Connect, setelah autentikasi dan otorisasi yang tepat dikonfigurasi. Untuk petunjuk pengguna yang lebih mendetail, lihat panduan penggunaan kami.

  1. Pengguna atau layanan menemukan cluster dengan mencantumkan 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 dengan menggunakan Google Cloud CLI.

    gcloud container fleet memberships get-credentials membership-name
    

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

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

    1. Pengguna/layanan diautentikasi oleh gateway Connect, dan otorisasi diperiksa untuk memastikan mereka memiliki izin untuk menggunakan gateway.
    2. Permintaan ini 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 bahwa pengguna atau layanan diberi otorisasi untuk mengeksekusi permintaan yang diinginkan.

Dukungan grup Google

Pada alur standar yang dijelaskan di bagian sebelumnya, permintaan pengguna diotorisasi berdasarkan ID individu mereka. Namun, dalam banyak kasus, akan lebih baik jika Anda dapat memberi otorisasi kepada pengguna berdasarkan keanggotaan mereka dalam Google Grup. Memberi otorisasi berdasarkan keanggotaan grup berarti Anda tidak perlu menyiapkan otorisasi terpisah untuk setiap akun, membuat kebijakan lebih mudah dikelola dan lebih mudah diaudit. Jadi, misalnya, Anda dapat dengan mudah membagikan akses cluster ke tim, sehingga tidak perlu menambahkan/menghapus setiap pengguna secara manual dari cluster 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 selengkapnya tentang cara kerja fitur ini dan cara menyiapkannya di Menyiapkan gateway Connect dengan Google Grup.

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

Dukungan identitas pihak ketiga

Selain bekerja sama dengan pengguna dan grup Google Workspace, gateway Connect mendukung otorisasi menggunakan identitas pihak ketiga, seperti Azure Active Directory dan Okta. Dengan federation identitas tenaga kerja, Anda dapat menggunakan penyedia identitas eksternal untuk mengautentikasi dan memberi otorisasi kepada tenaga kerja—sekelompok 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 deployment Google Distributed Cloud di VMware dan on bare metal dari Anthos (GKE Enterprise) versi 1.13 dan seterusnya. Untuk cluster terpasang, fitur ini tersedia dari Anthos 1.16 dan yang lebih baru.

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

Jika mau, 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 ekstra yang dibawa oleh RTT adalah p95< 500 md dan p99< 1 s. Perhatikan bahwa sebagian besar perintah kubectl melakukan serangkaian beberapa permintaan yang berbeda, masing-masing memerlukan perjalanan bolak-balik, sebelum merender respons kepada pengguna.

Apa langkah selanjutnya?