Menghubungkan ke cluster terdaftar dengan gateway Connect

Fleet di Google Cloud adalah grup logis cluster Kubernetes dan resource lain yang dapat dikelola bersama, yang dibuat dengan mendaftarkan cluster ke Google Cloud. Gateway Connect dibangun berdasarkan kemampuan fleet untuk memungkinkan pengguna GKE terhubung ke dan menjalankan perintah pada cluster anggota fleet dengan cara yang sederhana, konsisten, dan aman, baik cluster tersebut berada di Google Cloud, cloud publik lainnya, atau infrastruktur lokal, serta mempermudah otomatisasi proses DevOps di semua cluster Anda.

Panduan ini mengasumsikan bahwa Anda sudah memahami beberapa konsep fleet dasar, dan cara mendaftarkan cluster ke fleet. Jika tidak, Anda dapat mengetahui lebih lanjut di Ringkasan pengelolaan fleet, Ringkasan pembuatan fleet, dan panduan yang ditautkan. Anda juga harus memahami alat dan konsep Kubernetes, termasuk kubectl, client-go (jika Anda ingin menggunakan gateway untuk tujuan otomatisasi), kontrol akses berbasis peran (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 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 cloud dan lingkungan hybrid. Cluster mungkin berjalan di virtual private cloud (VPC) yang berbeda dan memanfaatkan penyedia identitas yang berbeda, sehingga konektivitas, autentikasi, dan otorisasi menjadi lebih rumit. Terkadang, hanya menemukan cluster yang ada di seluruh lingkungan ini saja sudah sulit.

Gateway Connect memudahkan Anda untuk:

  • Temukan cluster yang ada (di Google Cloud, di cloud publik lain, atau secara lokal) dan terdaftar 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 .
  • Beri otorisasi secara konsisten di semua cluster Anda yang terdaftar dalam fleet.

Gateway mengautentikasi Google Cloud identitas 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 menggunakan pipeline build dan otomatisasi DevOps lainnya. Anda dapat melihat contoh cara melakukannya di tutorial Mengintegrasikan dengan Cloud Build kami.

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

Cara kerjanya

Berikut adalah alur yang dilakukan oleh pengguna atau layanan umum (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 mencantumkan resource Keanggotaan armada menggunakan 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, hal ini mirip dengan menjalankan gcloud container clusters get-credentials menggunakan akun Google Cloud Anda, sehingga Anda (jika diizinkan) dapat mengakses cluster apa pun yang terdaftar dan terhubung dalam fleet project Anda.

  3. Pengguna atau layanan menjalankan perintah seperti biasanya dengankubectl 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. Untuk cluster GKE, gateway terhubung langsung ke cluster GKE.
    2. Untuk cluster Kubernetes non-GKE, permintaan diteruskan melalui layanan Connect dan Agen Connect ke server Kubernetes API yang sesuai.
    3. Untuk cluster Kubernetes non-GKE, 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

Dalam alur standar yang dijelaskan di bagian sebelumnya, permintaan pengguna diberi otorisasi berdasarkan ID masing-masing. Namun, dalam banyak kasus, akan berguna jika pengguna dapat diberi otorisasi berdasarkan keanggotaan mereka di Google Grup. Dengan memberikan otorisasi berdasarkan keanggotaan grup, Anda tidak perlu menyiapkan otorisasi terpisah untuk setiap akun, sehingga kebijakan lebih mudah dikelola dan diaudit. Jadi, misalnya, Anda dapat dengan mudah membagikan akses cluster kepada tim, sehingga tidak perlu menambahkan/menghapus pengguna satu per satu 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 Grup Google bagi pengguna.

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

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

Dukungan identitas pihak ketiga

Selain bekerja dengan pengguna dan grup Google Workspace, gateway Connect mendukung otorisasi menggunakan identitas pihak ketiga, seperti Azure Active Directory dan Okta. Dengan menggunakan workforce identity federation, 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 Google Cloud layanan 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.

Untuk cluster terlampir GKE, fitur ini tersedia untuk semua versi cluster Kubernetes yang didukung.

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

Total latensi permintaan melalui gateway dapat dibagi menjadi dua bagian: RTT (Round Trip Time) dari layanan gateway Connect ke agen Connect, dan waktu eksekusi permintaan di dalam cluster. Latensi tambahan yang disebabkan oleh RTT adalah p95<500 md dan p99<1 dtk. Perhatikan bahwa sebagian besar perintah kubectl melakukan serangkaian beberapa permintaan yang berbeda, yang masing-masing memerlukan perjalanan pulang pergi, sebelum merender respons kepada pengguna.

Apa langkah selanjutnya?