Dokumen ini menjelaskan cara menyediakan Google Distributed Cloud untuk pengelolaan di Konsol Google Cloud. Hal ini mencakup pengelolaan dasar seperti dapat login ke cluster dan melihat workload-nya, serta cara mengaktifkan pengelolaan siklus proses cluster agar Anda dapat mengupgrade, memperbarui, dan menghapus cluster.
Anggota armada dan konsol
Semua Google Distributed Cloud harus menjadi anggota fleet, yakni cara terpadu untuk melihat dan mengelola banyak cluster beserta workloadnya. Setiap fleet cluster dikaitkan dengan project host perangkat.
Di Google Distributed Cloud, cluster admin didaftarkan ke fleet pada waktu
pembuatan dengan menentukan project host fleet Anda di bagian gkeConnect
file konfigurasi cluster. Google Distributed Cloud menggunakan informasi tersebut untuk mendaftarkan cluster Anda ke project fleet yang ditentukan. Jika pendaftaran
gagal, Anda dapat mencoba kembali pendaftaran dengan menjalankan gkectl update credentials register
.
Perlu diperhatikan bahwa saat mencoba mendaftar lagi, Anda tidak perlu memperbarui kunci akun layanan connect-register. Dengan kata lain, Anda dapat terus menggunakan akun layanan pendaftaran koneksi asli. Untuk informasi selengkapnya tentang perintah tersebut, lihat Mengubah kunci akun layanan.
Di Google Distributed Cloud, cluster pengguna didaftarkan ke fleet pada waktu pembuatan:
Saat membuat cluster pengguna menggunakan
gkectl
, Anda menentukan project host fleet di bagiangkeConnect
file konfigurasi cluster. Google Distributed Cloud menggunakan informasi tersebut untuk mendaftarkan cluster Anda ke project fleet yang ditentukan.Saat Anda membuat cluster pengguna menggunakan alat standar (konsol, Google Cloud CLI, atau Terraform), cluster tersebut otomatis menjadi anggota fleet dalam project yang Anda tentukan.
Anggota fleet di luar Google Cloud seperti Google Distributed Cloud ditampilkan di konsol dalam project host fleet Anda, bersama cluster perangkat lainnya seperti GKE di Google Cloud. Sejauh mana Anda dapat mengelola Google Distributed Cloud dari konsol bergantung pada hal berikut:
Jika telah menyiapkan autentikasi, Anda dapat login ke cluster dan melihat beban kerjanya serta detail lainnya.
Jika sudah mengaktifkan pengelolaan siklus proses cluster untuk cluster, Anda juga dapat mengupgrade, memperbarui, atau menghapus cluster pengguna menggunakan konsol. Jika fitur ini tidak diaktifkan, Anda hanya dapat mengelola siklus proses cluster menggunakan
gkectl
di workstation admin Anda.
Lihat cluster terdaftar
Semua cluster fleet Anda ditampilkan di halaman ringkasan cluster Google Kubernetes Engine di konsol. Dengan begitu, Anda bisa mendapatkan ringkasan mengenai seluruh fleet dan, untuk Google Distributed Cloud, memungkinkan Anda melihat cluster mana yang dikelola oleh GKE On-Prem API.
Untuk melihat cluster fleet Anda:
Di konsol, buka halaman Ringkasan cluster Google Kubernetes Engine.
Pilih project Google Cloud.
Jika vm GKE di VMware ditampilkan di kolom Jenis, cluster tersebut akan dikelola oleh GKE On-Prem API.
Jika External ditampilkan di kolom Type, cluster tidak dikelola oleh GKE On-Prem API.
Untuk melihat detail selengkapnya tentang cluster, pengguna harus login dan melakukan autentikasi ke cluster. Untuk melakukannya, Anda harus:
- Menyiapkan metode autentikasi
- Memberikan peran Identity and Access Management tertentu kepada pengguna
Menyiapkan autentikasi
Seperti dijelaskan sebelumnya, semua cluster fleet muncul di daftar cluster GKE dan GKE Enterprise di konsol. Namun, untuk melihat detail selengkapnya seperti node dan workload (serta untuk menjalankan tugas pengelolaan siklus proses cluster jika fitur ini diaktifkan), pengguna harus login dan melakukan autentikasi ke cluster. Untuk melakukannya, cluster yang terdaftar harus disiapkan dengan salah satu metode autentikasi berikut:
Identitas Google: Opsi ini memungkinkan pengguna login menggunakan Google Cloud Identity mereka, yaitu alamat email yang terkait dengan akun Google Cloud Anda. Gunakan opsi ini jika pengguna sudah memiliki akses ke Google Cloud dengan identitas Google. Jika membuat cluster di konsol, Anda dapat login ke cluster menggunakan identitas Google, tetapi Anda harus mengonfigurasi autentikasi untuk pengguna lain.
Login dengan identitas Google adalah pendekatan paling sederhana untuk autentikasi di konsol, terutama jika Anda mencoba Google Distributed Cloud dengan penginstalan minimal. Oleh karena itu, kami telah menjelaskan cara menyiapkannya secara lebih mendetail di bawah dalam artikel Menyiapkan autentikasi identitas Google.
OpenID Connect (OIDC): Opsi ini memungkinkan pengguna login ke cluster dari konsol menggunakan identitas mereka dari penyedia identitas OIDC pihak ketiga seperti Okta atau Microsoft AD FS. Anda mungkin ingin menggunakan opsi ini jika pengguna sudah memiliki nama pengguna, sandi, dan keanggotaan grup keamanan dari penyedia Anda. Anda dapat mengetahui cara menyiapkan autentikasi OIDC pihak ketiga untuk cluster dalam panduan berikut:
Mengonfigurasi cluster untuk GKE Identity Service dengan OIDC: Panduan ini menunjukkan cara menyiapkan autentikasi OIDC berdasarkan cluster berdasarkan cluster.
Siapkan GKE Identity Service untuk fleet: Opsi ini memungkinkan Anda menyiapkan OIDC di tingkat fleet.
Token Bearer: Jika solusi yang disediakan Google sebelumnya tidak sesuai untuk organisasi Anda, Anda dapat menyiapkan autentikasi menggunakan akun layanan Kubernetes dan menggunakan token pemiliknya untuk login. Untuk mengetahui detailnya, lihat Menyiapkan penggunaan token pemilik.
Memberikan peran yang diperlukan
Akses ke konsol dikontrol oleh Identity and Access Management (IAM). Peran IAM ini tidak diperlukan, apa pun metode autentikasi yang Anda pilih. Untuk mengelola siklus proses cluster di konsol, Anda perlu memberikan beberapa peran IAM.
Untuk mengizinkan pengguna mengakses konsol, setidaknya Anda harus memberikan peran berikut:
roles/container.viewer
. Peran ini memungkinkan pengguna melihat halaman Cluster GKE dan resource container lainnya di konsol. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin baca/tulis, lihat peran Kubernetes Engine dalam dokumentasi IAM.roles/gkehub.viewer
. Peran ini memungkinkan pengguna melihat cluster di luar Google Cloud di konsol. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin baca/tulis, lihat peran GKE Hub dalam dokumentasi IAM.
Untuk mengizinkan pengguna mengelola siklus proses cluster di konsol, berikan peran IAM
roles/gkeonprem.admin
. Peranroles/gkeonprem.admin
memberi pengguna akses administratif ke GKE On-Prem API, yang digunakan konsol untuk mengelola siklus proses cluster. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, lihat peran lokal GKE dalam dokumentasi IAM.
Perintah berikut menunjukkan cara memberikan peran minimal yang diperlukan untuk mengelola siklus proses cluster di konsol:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/container.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkehub.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkeonprem.admin
dengan:
FLEET_HOST_PROJECT_ID
adalah project host fleet. Untuk cluster yang dibuat menggunakangkectl
, ini adalah project yang Anda konfigurasi di bagiangkeConnect
file konfigurasi cluster pengguna. Untuk cluster yang dibuat di konsol, ini adalah project yang Anda pilih saat cluster dibuat.MEMBER
adalah alamat email pengguna dalam formatuser:emailID
, misalnya:user:alice@example.com
Mengaktifkan pengelolaan siklus proses cluster di konsol
Cluster pengguna yang dibuat menggunakan alat standar (konsol, gcloud CLI, atau Terraform) akan otomatis terdaftar di GKE On-Prem API, dan dapat Anda gunakan untuk menjalankan tugas pengelolaan siklus proses cluster di konsol tersebut. Jika ingin mengaktifkan fitur ini untuk cluster
pengguna yang dibuat menggunakan gkectl
, ikuti langkah-langkah dalam
Mengonfigurasi cluster pengguna agar dikelola oleh GKE On-Prem API.
Saat pengelolaan siklus proses cluster diaktifkan, Anda dapat melakukan tugas berikut
dari konsol:
- Mengupgrade cluster pengguna
- Mengubah ukuran cluster pengguna
- Membuat dan mengelola kumpulan node
- Menghapus cluster pengguna
Menyiapkan autentikasi identitas Google
Agar pengguna dapat login ke cluster menggunakan identitas Google mereka, Anda perlu mengonfigurasi hal berikut:
Pengguna memerlukan peran Identity and Access Management (IAM) tertentu agar dapat melihat dan berinteraksi dengan cluster di konsol pada daftar Cluster GKE.
Pengguna harus ditambahkan ke kebijakan kontrol akses berbasis peran (RBAC) Kubernetes yang diperlukan gateway Connect untuk mengakses server Kubernetes API cluster melalui agen Connect.
Mengonfigurasi otorisasi RBAC
Setiap server Kubernetes API cluster harus dapat mengizinkan permintaan yang berasal dari konsol. Untuk mengonfigurasi otorisasi, Anda perlu mengonfigurasi kebijakan kontrol akses berbasis peran (RBAC) Kubernetes pada setiap cluster.
Jika menggunakan alat standar untuk membuat cluster pengguna, Anda mungkin sudah diberi kebijakan RBAC yang sesuai dan memberi Anda akses administratif penuh ke cluster tersebut. GKE On-Prem API menambahkan Akun Google Anda secara otomatis sebagai administrator dalam kasus berikut:
Anda telah membuat cluster pengguna di konsol.
Anda telah membuat cluster pengguna menggunakan gcloud CLI, dan Akun Google Anda ditentukan dalam flag
--admin-users
dalam perintah create cluster.Anda telah membuat cluster pengguna menggunakan Terraform dan Akun Google Anda ditetapkan di kolom
authorization.admin_users.username
.
Cluster pengguna yang dibuat menggunakan gkectl
tidak memberi Anda kebijakan RBAC untuk
mengelola cluster menggunakan konsol. Anda harus menambahkan diri sendiri
setelah cluster dibuat. Apa pun alat yang Anda gunakan untuk membuat cluster, Anda dapat menambahkan orang lain sebagai administrator setelah cluster dibuat.
Anda dapat menggunakan salah satu cara berikut untuk memberikan akses administratif ke cluster. Tersedia dua perintah gcloud
yang berbeda.
Perintah
gcloud ... generate-gateway-rbac
perlu dijalankan di workstation admin Anda karena perintah ini memerlukan akses ke kubeconfig dan konteks cluster (yang biasanya hanya ada di workstation admin Anda). Perintahgenerate-gateway-rbac
memungkinkan Anda menyesuaikan kebijakan RBAC, tetapi alamat email pengguna tidak akan ditampilkan sebagai administrator di bagian Detail Cluster di konsol.Perintah
gcloud ... update
dapat dijalankan di workstation admin Anda atau komputer apa pun yang memiliki akses ke GKE On-Prem API.
generate-gateway-rbac
Hubungkan ke workstation admin Anda.
Jalankan perintah berikut untuk mengupdate komponen:
gcloud components update
Buat dan terapkan kebijakan RBAC ke cluster Anda untuk pengguna dan akun layanan:
gcloud container fleet memberships generate-gateway-rbac \ --membership=MEMBERSHIP_NAME \ --role=ROLE \ --users=USERS \ --project=FLEET_HOST_PROJECT_ID \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT \ --apply
Ganti kode berikut:
- MEMBERSHIP_NAME: nama yang digunakan untuk merepresentasikan cluster secara unik dalam fleet-nya. Di Google Distributed Cloud, nama keanggotaan dan nama cluster sama.
- ROLE: peran Kubernetes yang ingin Anda berikan kepada pengguna di cluster. Untuk memberi pengguna akses penuh ke setiap resource di cluster di semua namespace, tentukan
clusterrole/cluster-admin
. Untuk memberikan akses hanya baca, tentukanclusterrole/view
. Anda juga dapat membuat peran khusus, misalnya:role/mynamespace/namespace-reader
. Peran khusus harus sudah ada sebelum Anda menjalankan perintah. - USERS: alamat email pengguna (akun pengguna atau akun layanan) yang ingin Anda berikan izin, sebagai daftar yang dipisahkan koma. Contoh:
--users=foo@example.com,test-acct@test-project.iam.gserviceaccount.com
. - FLEET_HOST_PROJECT_ID: project ID dari project host fleet.
- KUBECONFIG_PATH: jalur lokal tempat kubeconfig Anda yang berisi entri untuk cluster disimpan.
KUBECONFIG_CONTEXT: konteks cluster seperti yang muncul dalam file kubeconfig. Anda bisa mendapatkan konteks saat ini dari command line dengan menjalankan
kubectl config current-context
. Baik Anda menggunakan konteks saat ini atau tidak, pastikan konteks tersebut berfungsi untuk mengakses cluster dengan menjalankan perintah sederhana seperti:kubectl get namespaces \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT
Setelah menjalankan
gcloud container fleet memberships generate-gateway-rbac
, Anda akan melihat kode seperti berikut di akhir output, yang dipotong agar mudah dibaca:Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /usr/local/google/home/foo/.kube/config, context: kind-kind Writing RBAC policy for user: foo@example.com to cluster. Successfully applied the RBAC policy to cluster.
Ini adalah konteks untuk mengakses cluster melalui Gateway koneksi.
Untuk mengetahui detail selengkapnya tentang perintah
generate-gateway-rbac
, baca panduan referensi gcloud CLI.
update
Jalankan perintah berikut untuk mengupdate komponen:
gcloud components update
Untuk setiap pengguna yang perlu diberi peran
clusterrole/cluster-admin
, sertakan flag--admin-users
dan jalankan perintah berikut. Anda tidak dapat menentukan beberapa pengguna dalam satu tanda. Pastikan untuk menyertakan Akun Google Anda di perintah karena perintah tersebut akan menimpa daftar pemberian akses dengan pengguna yang Anda tentukan dalam perintah tersebut.gcloud container vmware clusters update USER_CLUSTER_NAME \ --admin-users YOUR_GOOGLE_ACCOUNT \ --admin-users ADMIN_GOOGLE_ACCOUNT_1 \
Selain memberikan peran clusterrole/cluster-admin
Kubernetes, perintah ini juga memberikan kebijakan RBAC yang diperlukan pengguna untuk mengakses cluster melalui Gateway Connect.
Konsol
Untuk menerapkan kebijakan RBAC kepada pengguna, lakukan langkah-langkah berikut di konsol:
Di konsol, buka halaman Ringkasan cluster Google Kubernetes Engine.
Pilih project Google Cloud tempat cluster pengguna berada.
Pada daftar cluster, klik nama cluster untuk menampilkan detailnya.
Di bagian Otorisasi, klik tombol edit Pengguna admin.
Masukkan alamat email pengguna yang ingin ditambahkan sebagai admin cluster di panel Edit otorisasi. Untuk menambahkan pengguna admin tambahan, klik Tambahkan pengguna admin.
Setelah selesai menambahkan pengguna, klik Simpan perubahan.
Informasi selengkapnya
- Ringkasan pengelolaan perangkat
- Bekerja dengan cluster dari Konsol Google Cloud
- Ringkasan Connect
- Ringkasan Connect Agent