Menghubungkan cluster pihak ketiga ke Google Cloud (generasi sebelumnya)

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

Cluster Kubernetes yang didukung

Anda dapat melampirkan cluster Kubernetes yang sesuai yang mencakup 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 informasi tentang fitur GKE Enterprise yang didukung di cluster terlampir, lihat Komponen Anthos dan dukungan multicloud.

Jenis cluster yang terlampir 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Anthos API.

    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.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Anthos API.

    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 yang relevan dan API 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.
  16. Mendaftarkan cluster terlampir

    Anda harus mendaftarkan semua cluster yang ingin digunakan dengan GKE Enterprise 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 Google Cloud konsol, dan banyak komponen GKE Enterprise dan Google Cloud menggunakan konsep fleet seperti kesamaan identitas dan kesamaan namespace untuk menyederhanakan pekerjaan dengan 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 Enterprise di cluster ini, dan Anda dapat mengelola beberapa fitur GKE Enterprise di tingkat fleet dari halaman fitur GKE. Biaya GKE Enterprise hanya berlaku untuk cluster terdaftar Anda.

    Siapkan identitas

    Semua cluster terlampir memerlukan identitas yang akan digunakan oleh Connect Agent saat melakukan autentikasi ke Google. Jika cluster Anda memenuhi persyaratan, Anda dapat mendaftarkannya dengan mengaktifkan Workload Identity fleet untuk autentikasi. Cluster dengan fitur ini diaktifkan menggunakan identitas dari kumpulan identitas workload fleet di seluruh fleet. 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 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 Anda mendaftarkannya untuk memastikan bahwa 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 terlampir dengan Workload Identity armada 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 Daftarkan cluster yang ada.

    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 Buat perintah pendaftaran.

    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 yang muncul di dalam 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 Connect Agent terhubung ke Google Cloud dan cluster Anda terdaftar, pesan berhasil akan ditampilkan di halaman.

    8. Klik Tetapkan label, atau klik Lewati jika Anda tidak menetapkan label apa pun.

    Opsi pendaftaran lanjutan (khusus command line)

    Mendownload manifes Connect Agent

    Untuk mendownload manifes penginstalan Agen Connect tanpa men-deploy agen, misalnya jika Anda ingin memeriksa atau mengedit manifes sebelum penginstalan, teruskan flag --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 Connect Agent 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 tanda --proxy ke perintah gcloud container fleet memberships register. Contoh:

    --proxy=[URL]

    dengan [URL] adalah alamat proxy.

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

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

    Kecuali jika Anda menentukan sebaliknya, Agen Koneksi menggunakan port 3128 untuk proxy.

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

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

    Menginstal Agen Connect di cluster dengan node Windows dan Linux

    Agen Connect 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 Enterprise di cluster terpasang

    Setelah mendaftarkan cluster, Anda dapat mengaktifkan fitur GKE Enterprise 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:

    Untuk mengetahui kumpulan dokumentasi lengkap untuk semua komponen GKE Enterprise, termasuk tutorial, materi referensi, dan lainnya, lihat Komponen GKE Enterprise.

    Mengakses cluster terpasang

    Setelah Anda mendaftarkan cluster terlampir, cluster tersebut akan muncul di halaman cluster GKE dan Anthos di Google Cloud console. Namun, untuk melihat detail selengkapnya seperti node dan workload, Anda harus login dan mengautentikasi ke cluster. Untuk login ke cluster terlampir 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?