Cluster terlampir GKE memungkinkan Anda melihat cluster Kubernetes yang ada di konsol bersama dengan cluster GKE, Google Cloud 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 dan menyertakan node x86 ke fleet Anda dan melihatnya di Google Cloud konsol bersama dengan cluster GKE.
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 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
- Login ke akun Anda. Google Cloud 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init - Periksa prasyarat pendaftaran fleet untuk memastikan Anda memiliki izin yang relevan dan API yang diaktifkan untuk mendaftarkan cluster.
- 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 pengelolaan infrastruktur. Cluster dalam fleet yang sama dapat dijelajahi dan dikelola bersama di Google Cloud konsol, 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 di panduan Pengelolaan fleet.
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 untuk digunakan Connect Agent saat melakukan autentikasi ke Google. Jika cluster Anda memenuhi persyaratan, Anda dapat mendaftarkannya dengan Workload Identity fleet yang diaktifkan untuk autentikasi. Cluster dengan fitur ini diaktifkan menggunakan identitas dari workload identity pool 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, pendaftaran 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 untuk cluster dengan peran yang sesuai, ikuti petunjuk di
Membuat akun layanan dengan gcloud. Google Cloud
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 cluster tersebut terhubung dengan benar ke Google Cloud. Lihat panduan pemecahan masalah jika Anda mengalami masalah dengan 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 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 rahasia bernama
creds-gcpdi namespacegke-connect. - KUBECONFIG_CONTEXT: konteks cluster dari cluster yang didaftarkan
seperti yang muncul di file kubeconfig. Anda dapat memperoleh nilai ini dari command line dengan menjalankan
kubectl config current-context. - KUBECONFIG_PATH: jalur file lokal tempat
kubeconfig Anda yang berisi entri untuk cluster yang didaftarkan disimpan.
Nilai default-nya adalah
$KUBECONFIGjika variabel lingkungan tersebut ditetapkan; jika tidak, nilai default-nya adalah$HOME/.kube/config.
Mendaftarkan cluster terlampir dengan Workload Identity fleet
Untuk mendaftarkan cluster terlampir 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 apa pun, 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 Google Cloud konsol untuk membantu membuat gcloud
perintah pendaftaran guna mendaftarkan cluster Anda (hanya dengan akun layanan).
Untuk mendaftarkan cluster:
Di Google Cloud konsol, buka halaman Ringkasan cluster Google Kubernetes Engine.
Klik Daftarkan cluster yang ada.
Klik Tambahkan cluster eksternal.
Masukkan nama cluster yang ingin Anda daftarkan di kolom Nama cluster.
Opsional: Tambahkan Google Cloud label ke cluster Anda.
Klik Buat perintah pendaftaran.
Di Cloud Shell atau tempat Anda menyimpan kredensial akun layanan, edit dan jalankan perintah
gcloudyang ditampilkan di halaman. Anda harus menentukan nilai berikut:- CLUSTER_CONTEXT adalah konteks cluster yang muncul di dalam file kubeconfig. Anda dapat memperoleh nilai ini dari command line dengan menjalankan
kubectl config current-context. - KUBECONFIG_PATH adalah jalur file lokal tempat file kubeconfig Anda disimpan. Nilai default-nya adalah
$KUBECONFIGjika variabel lingkungan tersebut ditetapkan; jika tidak, nilai default-nya adalah$HOME/.kube/config. - LOCAL_KEY_PATH adalah jalur ke file kunci akun layanan Anda.
Menjalankan perintah ini akan men-deploy Connect Agent di cluster pengguna Anda. Saat Connect Agent terhubung ke Google Cloud dan cluster Anda terdaftar, pesan sukses akan ditampilkan di halaman.
- CLUSTER_CONTEXT adalah konteks cluster yang muncul di dalam file kubeconfig. Anda dapat memperoleh nilai ini dari command line dengan menjalankan
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 Connect Agent 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 flag --proxy ke perintah gcloud container fleet memberships register. Contoh:
--proxy=[URL]
dengan [URL] adalah alamat proxy.
Connect Agent hanya mendukung proxy HTTP dan HTTPS berbasis CONNECT saja, 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, Connect Agent 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 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-connectPerintah ini akan menampilkan:
{"kubernetes.io/os":"linux"}Pemecahan masalah
Jika Anda mengalami masalah selama penyiapan ini, lihat panduan pemecahan masalah pembuatan fleet .
Mengaktifkan fitur GKE di cluster terlampir
Setelah mendaftarkan cluster, Anda dapat mengaktifkan fitur GKE yang tersedia di cluster tersebut untuk aplikasi Anda. Fitur ini hanya didukung pada jenis cluster yang divalidasi. Anda dapat melihat versi fitur saat ini yang didukung pada jenis ini di Dukungan versi dan upgrade support.
Panduan berikut menunjukkan cara mengaktifkan fitur yang didukung di cluster Anda:
Cloud Service Mesh 1.11 dan yang lebih baru mendukung Amazon EKS:
Pengelolaan konfigurasi dan kebijakan:
Mengakses cluster terlampir
Setelah Anda mendaftarkan cluster terlampir, cluster tersebut akan muncul di halaman cluster GKE di konsol Google Cloud console. Namun, untuk melihat detail selengkapnya seperti node dan workload, Anda harus login dan melakukan autentikasi ke cluster. Untuk login ke cluster terlampir dari Google Cloud konsol, ikuti petunjuk di Login ke cluster dari Google Cloud konsol. 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 a Google Cloud identitas, lihat Menghubungkan ke cluster terdaftar dengan gateway Connect.
Untuk melakukan autentikasi ke cluster terlampir menggunakan penyedia identitas pihak ketiga yang ada (khusus cluster EKS di AWS, fitur pratinjau), lihat Menyiapkan GKE Identity Service untuk fleet dan Mengakses cluster dengan GKE Identity Service.