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 Enterprise terhubung ke dan menjalankan perintah pada cluster anggota fleet dengan cara yang sederhana, konsisten, dan aman, baik cluster berada di Google Cloud, cloud publik lainnya, maupun di infrastruktur lokal, dan 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 belum, Anda dapat mengetahui informasi selengkapnya di Ringkasan pengelolaan fleet, Ringkasan pembuatan fleet, dan panduan tertaut. 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 yang menggunakan workforce identity federation, dan dengan dukungan autentikasi berbasis grup melalui Identity Service GKE. Jika Anda ingin mengetahui lebih lanjut Identity Service GKE, atau menggunakannya sebagai opsi autentikasi pihak ketiga mandiri, lihat Memperkenalkan Identity Service GKE.

Mengapa menggunakan gateway Connect?

Ada banyak tantangan dalam mengelola beban kerja 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 mengetahui cluster mana yang ada di seluruh lingkungan ini saja sudah sulit.

Gateway Connect memudahkan Anda untuk:

  • Temukan cluster yang ada (di Google Cloud, di cloud publik lainnya, atau di lokasi) dan terdaftar ke fleet Anda melalui kueri sederhana.
  • Hubungkan ke cluster yang diinginkan menggunakan infrastruktur yang sama dengan yang kita gunakan untuk menampilkan cluster GKE terdaftar di konsol Google Cloud.
  • Lakukan autentikasi menggunakan identitas yang sama dengan yang Anda gunakan dengan layanan Google Cloud.
  • Otorisasi secara konsisten di semua cluster yang terdaftar di fleet.

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

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 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 Langganan armada 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, hal ini mirip dengan menjalankan gcloud container clusters get-credentials menggunakan akun Google Cloud, yang memungkinkan Anda (jika diberi otorisasi) mengakses cluster yang terdaftar dan terhubung dalam fleet project Anda.

  3. Pengguna atau layanan menjalankan perintahnya seperti biasa 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.
    2. Permintaan diteruskan melalui layanan Connect dan Agen Connect ke server Kubernetes API yang sesuai.
    3. Server Kubernetes API memberikan otorisasi pada permintaan, yang mengharuskan agen Connect diberi otorisasi untuk meniru identitas pengguna atau layanan, dan pengguna atau layanan diberi otorisasi untuk menjalankan permintaan yang diinginkan.

Dukungan Google Grup

Dalam alur standar yang dijelaskan di bagian sebelumnya, permintaan pengguna diotorisasi berdasarkan ID pribadi mereka. Namun, dalam banyak kasus, sebaiknya Anda dapat memberi otorisasi kepada pengguna berdasarkan keanggotaan mereka di Google Grup. Memberikan otorisasi berdasarkan keanggotaan grup berarti 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 ke 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 Layanan Identitas GKE, 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 terlampir atau lingkungan GKE Enterprise lainnya, hubungi Cloud Customer Care atau tim gateway Connect.

Dukungan identitas pihak ketiga

Selain berfungsi 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—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 di bare metal dari Anthos (GKE Enterprise) versi 1.13 dan yang lebih baru. Untuk cluster yang 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 Identity Service GKE 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 dihasilkan oleh RTT adalah p95<500 md dan p99<1 s. Perhatikan bahwa sebagian besar perintah kubectl melakukan serangkaian beberapa permintaan berbeda, yang masing-masing memerlukan perjalanan bolak-balik, sebelum merender respons kepada pengguna.

Apa langkah selanjutnya?