Melampirkan cluster pihak ketiga ke Google Cloud (generasi sebelumnya)

Cluster terlampir GKE memungkinkan Anda melihat cluster Kubernetes yang ada di Google Cloud konsol bersama dengan cluster GKE, dan mengaktifkan beberapa fitur GKE di cluster tersebut, termasuk kontrol konfigurasi terpusat dengan Config Sync.

Cluster Kubernetes yang didukung

Anda dapat melampirkan cluster Kubernetes yang sesuai yang menyertakan node x86 ke fleet Anda dan melihatnya di konsol Google Cloud dengan cluster GKE Anda.

Jenis dan versi cluster berikut telah divalidasi oleh Google. Untuk mengetahui informasi tentang fitur GKE yang didukung di cluster terlampir, lihat Dukungan versi dan upgrade GKE.

Jenis cluster yang dilampirkan Versi Kubernetes
Red Hat OpenShift Kubernetes Engine (OKE) 4.9, 4.10 1.23, 1.24
Red Hat OpenShift Container Platform (OCP) 4.9, 4.10 1.23, 1.24
Rancher Kubernetes Engine (RKE) 1.3.8 1.23, 1.24
KIND 0.12 1.23, 1.24
K3s 1.20 1,20
K3d 4.4.3 1,20

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Anthos API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Anthos API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Periksa prasyarat pendaftaran fleet untuk memastikan bahwa Anda memiliki izin dan API yang relevan yang diaktifkan untuk mendaftarkan cluster.
  15. Lihat panduan Sebelum memulai untuk mengetahui persyaratan khusus dalam melampirkan cluster di luar Google Cloud, termasuk langkah-langkah penyiapan khusus yang mungkin Anda perlukan untuk jenis cluster Anda.

Mendaftarkan cluster terlampir

Anda harus mendaftarkan semua cluster yang ingin digunakan dengan fitur GKE ke fleet project Anda. Fleet menyediakan cara untuk mengelompokkan dan menormalisasi cluster Kubernetes secara logis, sehingga mempermudah administrasi infrastruktur. Cluster dalam fleet yang sama dapat dijelajahi dan dikelola bersama di konsolGoogle Cloud , dan banyak komponen GKE dan Google Cloud menggunakan konsep fleet seperti kesamaan identitas dan kesamaan namespace untuk menyederhanakan penggunaan beberapa cluster. Anda dapat mengetahui lebih lanjut tentang fleet dan fungsi yang diaktifkannya dalam Panduan pengelolaan fleet kami.

Anda berhak mengaktifkan dan menggunakan fitur GKE di cluster ini, dan Anda dapat mengelola beberapa fitur GKE di tingkat fleet dari halaman fitur GKE.

Set up identity

Semua cluster terlampir memerlukan identitas agar Connect Agent dapat menggunakannya saat melakukan autentikasi ke Google. Jika cluster Anda memenuhi persyaratan, Anda dapat mendaftarkannya dengan mengaktifkan Workload Identity fleet untuk autentikasi. Cluster dengan fitur ini yang diaktifkan menggunakan identitas dari fleet-wide fleet workload identity pool. Anda dapat mengetahui lebih lanjut cara kerja Workload Identity fleet dan keuntungan menggunakannya di Menggunakan Workload Identity fleet.

Jika Anda tidak dapat menggunakan Workload Identity fleet, mendaftarkan cluster terlampir memerlukan Google Cloud akun layanan untuk autentikasi. Sebaiknya buat akun layanan baru untuk setiap cluster yang ingin Anda lampirkan. Untuk membuat akun layanan bagi cluster dengan peran yang sesuai, ikuti petunjuk di bagian Membuat akun layanan Google Cloud dengan gcloud. Setelah membuat akun layanan, Anda dapat menggunakan file JSON dengan kredensial akun layanan (file kunci) untuk mendaftarkan cluster, seperti yang dijelaskan di bagian berikutnya.

Mendaftarkan cluster Anda

Sebaiknya dapatkan status keanggotaan cluster Anda setelah mendaftarkannya untuk memastikan cluster terhubung dengan benar ke Google Cloud. Lihat panduan pemecahan masalah kami jika Anda mengalami masalah terkait pendaftaran.

gcloud

Jalankan perintah berikut:

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

Ganti kode berikut:

  • MEMBERSHIP_NAME: nama keanggotaan yang Anda pilih dan yang digunakan untuk merepresentasikan cluster yang didaftarkan ke fleet secara unik.
  • SERVICE_ACCOUNT_KEY_PATH: jalur file lokal ke file JSON kunci pribadi akun layanan yang didownload sebagai bagian dari Prasyarat. Kunci akun layanan ini disimpan sebagai nama rahasia bernama creds-gcp di namespace gke-connect.
  • KUBECONFIG_CONTEXT: konteks cluster dari cluster yang didaftarkan seperti yang muncul dalam file kubeconfig. Anda bisa mendapatkan nilai ini dari command line dengan menjalankan kubectl config current-context.
  • KUBECONFIG_PATH: jalur file lokal tempat kubeconfig yang berisi entri untuk cluster yang didaftarkan disimpan. Nilai defaultnya adalah $KUBECONFIG jika variabel lingkungan tersebut ditetapkan; jika tidak, nilai defaultnya adalah $HOME/.kube/config.

Mendaftarkan cluster terlampir dengan Workload Identity fleet

Untuk mendaftarkan cluster yang terpasang dengan Workload Identity fleet yang diaktifkan, jalankan perintah berikut. Untuk mengetahui informasi selengkapnya tentang jenis cluster terlampir yang dapat menggunakan fitur ini dan persyaratan tambahan, lihat Prasyarat cluster terlampir.

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --enable-workload-identity \
   --has-private-issuer

Konsol

Membuat perintah pendaftaran

Anda dapat menggunakan konsol Google Cloud untuk membantu membuat perintah pendaftaran gcloud guna mendaftarkan cluster Anda (hanya dengan akun layanan).

Untuk mendaftarkan cluster:

  1. Di konsol Google Cloud , buka halaman ringkasan cluster Google Kubernetes Engine.

    Buka cluster GKE

  2. Klik Register existing cluster.

  3. Klik Tambahkan cluster eksternal.

  4. Masukkan nama cluster yang ingin Anda daftarkan di kolom Nama cluster.

  5. Opsional: Tambahkan Google Cloud label ke cluster Anda.

  6. Klik Generate registration command.

  7. Di Cloud Shell atau tempat Anda menyimpan kredensial akun layanan, edit dan jalankan perintah gcloud yang ditampilkan di halaman. Anda harus menentukan nilai berikut:

    • CLUSTER_CONTEXT adalah konteks cluster seperti yang muncul di file kubeconfig. Anda bisa mendapatkan nilai ini dari command line dengan menjalankan kubectl config current-context.
    • KUBECONFIG_PATH adalah jalur file lokal tempat file kubeconfig Anda disimpan. Nilai defaultnya adalah $KUBECONFIG jika variabel lingkungan tersebut ditetapkan; jika tidak, nilai defaultnya adalah $HOME/.kube/config.
    • LOCAL_KEY_PATH adalah jalur ke file kunci akun layanan Anda.

    Menjalankan perintah ini akan men-deploy Agen Connect di cluster pengguna Anda. Saat Agen Connect terhubung ke Google Cloud dan cluster Anda terdaftar, pesan berhasil akan ditampilkan di halaman.

  8. Klik Set labels, atau klik Skip jika Anda tidak menetapkan label apa pun.

Opsi pendaftaran lanjutan (khusus command line)

Mendownload manifes Connect Agent

Untuk mendownload manifes penginstalan Connect Agent tanpa men-deploy agen, misalnya jika Anda ingin memeriksa atau mengedit manifes sebelum penginstalan, teruskan tanda --manifest-output-file ke perintah gcloud container fleet memberships register. Contoh:

--manifest-output-file=[MANIFEST_FILE_PATH]

dengan [MANIFEST_FILE_PATH] adalah jalur file lokal tempat Anda ingin menyimpan manifes penginstalan Connect Agent.

Menggunakan opsi ini tidak akan men-deploy Agen Connect ke dalam cluster. Untuk men-deploy Connect Agent, terapkan manifes yang didownload secara manual ke cluster Anda.

Menggunakan server proxy

Untuk mengonfigurasi server proxy, teruskan flag --proxy ke perintah gcloud container fleet memberships register. Contoh:

--proxy=[URL]

dengan [URL] adalah alamat proxy.

Agen Connect hanya mendukung proxy HTTP dan HTTPS berbasis CONNECT, serta menerima alamat IP dan nama host. Pastikan untuk menentukan protokol yang sesuai dengan jenis proxy dalam URL. Misalnya, untuk meneruskan nama host HTTPS:

--proxy=https://mycorpproxy.com:443

Kecuali jika Anda menentukan lain, Connect Agent menggunakan port 3128 untuk proxy.

Jika proxy Anda memerlukan otorisasi, pastikan Anda memasukkan kredensial, seperti:

--proxy=http://user:password@10.10.10.10:8888

Menginstal Connect Agent di cluster dengan node Windows dan Linux

Connect Agent harus berjalan di node Linux. Jika Anda menginstal di cluster campuran dengan node Linux dan Windows, Anda dapat memastikan bahwa Connect Agent di-deploy ke node Linux dengan menambahkan pemilih node yang sesuai ke definisi deployment.

Jalankan perintah berikut untuk mengupdate deployment dengan pemilih node yang sesuai:

kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect

Untuk memvalidasi bahwa update berhasil, jalankan perintah berikut:

kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect

Perintah akan menampilkan:

{"kubernetes.io/os":"linux"}

Pemecahan masalah

Jika Anda mengalami masalah selama penyiapan ini, lihat panduan pemecahan masalah pembuatan armada.

Mengaktifkan fitur GKE di cluster terpasang

Setelah mendaftarkan cluster, Anda dapat mengaktifkan fitur GKE yang tersedia di cluster tersebut untuk aplikasi Anda. Fitur ini hanya didukung di jenis cluster yang divalidasi. Anda dapat melihat versi fitur saat ini yang didukung pada jenis ini di Dukungan versi dan upgrade.

Panduan berikut menunjukkan cara mengaktifkan fitur yang didukung di cluster Anda:

Mengakses cluster terpasang

Setelah Anda mendaftarkan cluster terlampir, cluster tersebut akan muncul di halaman cluster GKE di Google Cloud console. Namun, untuk melihat detail selengkapnya seperti node dan workload, Anda harus login dan mengautentikasi ke cluster. Untuk login ke cluster yang terpasang dari konsol Google Cloud , ikuti petunjuk di Login ke cluster dari konsol Google Cloud . Bergantung pada metode autentikasi yang Anda pilih, perhatikan bahwa Anda atau admin platform mungkin perlu melakukan beberapa penyiapan tambahan sebelum Anda atau pengguna lain dapat login ke cluster.

Untuk mengakses cluster terlampir dari command line menggunakan identitas Google Cloud , lihat Menghubungkan ke cluster terdaftar dengan gateway Connect.

Untuk melakukan autentikasi ke cluster terlampir menggunakan penyedia identitas pihak ketiga yang sudah ada (khusus cluster EKS di AWS, fitur pratinjau), lihat Menyiapkan GKE Identity Service untuk fleet dan Mengakses cluster dengan GKE Identity Service.

Apa langkah selanjutnya?