Dokumen ini menjelaskan cara membuat cluster admin dan pengguna yang dibuat dengan Software Google Distributed Cloud on bare metal tersedia untuk pengelolaan di Konsol Google Cloud. Kemampuan pengelolaan cluster mencakup kemampuan login ke cluster, melihat workload, mengupgrade, mengupdate, dan menghapus cluster.
Anggota armada dan konsol
Semua klaster harus merupakan anggota fleet—cara terpadu untuk melihat serta mengelola banyak cluster dan workload mereka. Setiap fleet cluster dikaitkan dengan project host perangkat.
Semua cluster didaftarkan ke fleet pada waktu pembuatan:
Saat membuat cluster menggunakan
bmctl
, Anda menentukan project host fleet Anda di bagiangkeConnect
pada file konfigurasi cluster. Cluster tersebut menjadi anggota fleet project yang ditentukan.Saat Anda membuat admin atau cluster pengguna dengan GKE On-Prem API standar (konsol, Google Cloud CLI, atau Terraform), model cluster akan menjadi anggota fleet dalam project yang ditentukan.
Anggota armada di luar Google Cloud, seperti Google Distributed Cloud, ditampilkan di konsol dalam project host fleet Anda, bersama dengan seperti GKE di Google Cloud. Tingkat yang dapat Anda gunakan untuk mengelola cluster bare metal dari konsol bergantung pada hal berikut:
Jika telah menyiapkan autentikasi, Anda dapat login ke cluster Anda dan lihat workload serta detail lainnya.
Jika Anda telah mengaktifkan siklus proses cluster manajemen proyek untuk Anda dapat mengupgrade cluster admin dan pengguna dengan menggunakan konsol, dan Anda dapat menggunakan konsol itu untuk memperbarui dan menghapus klaster pengguna. Jika fitur ini tidak diaktifkan, Anda hanya dapat mengelola siklus proses cluster menggunakan
bmctl
di workstation admin Anda.
Lihat cluster terdaftar
Semua cluster Anda ditampilkan di Cluster GKE halaman di konsol. Keduanya memberi Anda gambaran umum tentang seluruh fleet, dan untuk Google Distributed Cloud, memungkinkan Anda melihat cluster mana dan dikelola oleh GKE On-Prem API.
Untuk melihat cluster fleet Anda:
Di konsol, buka Ringkasan cluster Google Kubernetes Engine kami.
Pilih project Google Cloud.
Jika Bare metal ditampilkan di kolom Jenis, berarti cluster dikelola oleh GKE On-Prem API. Catatan, hanya cluster admin dan pengguna dapat dikelola dengan GKE On-Prem API.
Jika Eksternal ditampilkan di kolom Jenis, berarti cluster tidak dapat ditampilkan. dan dikelola oleh GKE On-Prem API.
Untuk melihat detail selengkapnya tentang cluster, Anda harus login dan melakukan autentikasi ke gugus ini. Untuk melakukannya, Anda harus melakukan langkah-langkah berikut:
- Menyiapkan metode autentikasi
- Memberikan peran Identity and Access Management tertentu kepada pengguna
Menyiapkan autentikasi
Seperti yang dijelaskan sebelumnya, semua cluster muncul di GKE halaman cluster di konsol. Namun, untuk melihat detail selengkapnya seperti untuk node dan beban kerja (serta untuk melakukan tugas pengelolaan siklus proses cluster jika diaktifkan), Anda perlu login dan melakukan autentikasi ke cluster. Yang akan dilakukan ini, cluster Anda harus disiapkan dengan salah satu autentikasi berikut metode:
Identitas Google: Opsi ini memungkinkan Anda login menggunakan Google Cloud Identity, yaitu alamat email yang terkait dengan akun Google Cloud Anda. Gunakan opsi ini jika pengguna sudah memiliki akses ke Google Cloud dengan identitas Google mereka. Jika Anda 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 , jadi kami telah menjelaskan cara mengaturnya secara lebih rinci di Menyiapkan autentikasi identitas Google.
OpenID Connect (OIDC): Opsi ini memungkinkan Anda login ke cluster dari konsol menggunakan identitas mereka dari identitas OIDC pihak ketiga seperti Okta atau Microsoft AD FS. Anda mungkin ingin menggunakan opsi ini jika pengguna Anda memiliki nama pengguna, sandi, dan keanggotaan grup keamanan yang sudah ada dari penyedia Anda. Anda dapat mengetahui cara menyiapkan OIDC pihak ketiga autentikasi untuk cluster Anda dalam panduan berikut:
Konfigurasikan cluster untuk GKE Identity Service dengan OIDC: Panduan ini menunjukkan cara menyiapkan autentikasi OIDC pada cluster dengan berbasis cluster.
Menyiapkan GKE Identity Service untuk fleet: Opsi ini memungkinkan Anda menyiapkan OIDC di tingkat fleet.
Token pembawa: Jika solusi yang disediakan Google sebelumnya tidak sesuai untuk organisasi Anda, Anda dapat menyiapkan autentikasi menggunakan layanan Kubernetes akun Anda dan menggunakan token pembawanya untuk masuk. Untuk mengetahui detailnya, lihat Menyiapkan penggunaan token pemilik.
Memberikan peran yang diperlukan
Akses ke konsol dikontrol oleh Identity and Access Management (IAM). Untuk mengelola siklus proses cluster di konsol, Anda harus memberikan beberapa peran IAM kepada pengguna yang bukan pemilik project:
Untuk mengizinkan pengguna mengakses konsol, setidaknya Anda harus memberikan peran berikut:
roles/container.viewer
: Peran ini memungkinkan pengguna melihat GKE Halaman cluster dan resource container lainnya di konsol. Untuk detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin akses baca dan tulis, lihat Peran Kubernetes Engine 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 baca dan tulis izin, lihat Peran GKE Hub di dokumentasi IAM.
Agar pengguna dapat mengelola siklus proses cluster di konsol, memberikan peran IAM
roles/gkeonprem.admin
. Tujuan Peranroles/gkeonprem.admin
memberi pengguna akses administratif ke GKE On-Prem API, yang digunakan konsol untuk mengelola siklus proses cluster tertentu. Untuk detail tentang izin yang disertakan dalam peran ini, lihat Peran lokal GKE dokumentasi IAM.
Perintah berikut menunjukkan cara memberikan peran minimal yang diperlukan untuk mengelola siklus proses cluster di konsol:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/container.viewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/gkehub.viewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/gkeonprem.admin
dengan:
PROJECT_ID
adalah project host fleet. Untuk cluster dibuat menggunakanbmctl
, ini adalah project yang Anda konfigurasi digkeConnect
dari file konfigurasi cluster pengguna. Sebagai 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
Admin dan cluster pengguna yang dibuat dengan menggunakan alat standar (
konsol, gcloud CLI, atau Terraform)
terdaftar secara otomatis di GKE On-Prem API, yang memungkinkan Anda menjalankan
tugas manajemen siklus proses di konsol. Di Google Distributed Cloud
1.16 dan yang lebih tinggi, saat Anda membuat cluster pengguna dan admin menggunakan bmctl
, keduanya
terdaftar di GKE On-Prem API secara default. Jika Anda perlu mendaftarkan cluster di
GKE On-Prem API, ikuti langkah-langkah di
Konfigurasikan cluster yang akan dikelola dengan GKE On-Prem API.
Menyiapkan autentikasi identitas Google
Agar pengguna dapat login ke cluster menggunakan identitas Google mereka, Anda harus lakukan konfigurasi berikut ini:
Pengguna memerlukan peran Identity and Access Management (IAM) tertentu agar dapat melihat dan berinteraksi dengan cluster di konsol pada Cluster GKE kami.
Pengguna harus ditambahkan ke role-based access control (RBAC) Kubernetes kebijakan yang dibuat oleh gateway koneksi harus mengakses server Kubernetes API cluster menggunakan Hubungkan Agen.
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 untuk pengguna di setiap . Akun Google Anda ditambahkan sebagai administrator dengan akses penuh ke cluster pengguna dalam kasus berikut:
Anda telah membuat cluster pengguna di konsol.
Anda telah membuat cluster pengguna menggunakan gcloud CLI, dan Akun Google ditentukan dalam flag
--admin-users
di cluster {i>create<i}.Anda membuat cluster pengguna menggunakan Terraform dan Akun Google Anda yang ditentukan di kolom
authorization.admin_users.username
.Anda membuat cluster pengguna menggunakan
bmctl
dan mengonfigurasi Akun Google Anda di clusterSecurity.authorization.clusterAdmin.gcpAccounts.
Anda dapat menambahkan orang lain sebagai administrator setelah cluster dibuat. Anda dapat menggunakan
salah satu cara berikut untuk memberikan akses administratif ke cluster. Dua
perintah gcloud
yang berbeda disediakan.
Perintah
gcloud ... generate-gateway-rbac
harus dijalankan di admin Anda karena perintah ini memerlukan akses ke file konfigurasi dan konteks (yang biasanya hanya ada di workstation admin Anda). Tujuan Perintahgenerate-gateway-rbac
memungkinkan Anda menyesuaikan RBAC kebijakan, tetapi alamat email pengguna tidak akan ditampilkan sebagai administrator di bagian Cluster Details di konsol.Perintah
gcloud ... update
dapat dijalankan di workstation admin Anda atau komputer apa pun yang memiliki akses ke GKE On-Prem API.
Perhatikan bahwa jika Anda membuat cluster admin di Konsol Google Cloud, Anda
diberi akses hanya baca ke cluster. Jika Anda ingin diberi
Peran clusterrole/cluster-admin
, seseorang dengan peran tersebut harus ditambahkan
Anda menggunakan perintah gcloud ... generate-gateway-rbac
.
generate-gateway-rbac
Untuk menerapkan kebijakan RBAC kepada pengguna, lakukan langkah-langkah berikut pada admin Anda workstation:
Jalankan perintah berikut untuk mengupdate komponen (jika diperlukan):
gcloud components update
Membuat dan menerapkan kebijakan RBAC ke cluster untuk pengguna dan layanan akun:
gcloud container fleet memberships generate-gateway-rbac \ --membership=MEMBERSHIP_NAME \ --role=ROLE \ --users=USERS \ --project=PROJECT_ID \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT \ --apply
Ganti kode berikut:
- MEMBERSHIP_NAME: nama yang digunakan untuk merepresentasikan secara unik cluster di armadanya. Di Google Distributed Cloud, nama keanggotaan dan nama cluster sama.
- ROLE: peran Kubernetes yang ingin Anda berikan kepada pengguna di
gugus ini. Untuk memberi pengguna akses penuh ke setiap resource di cluster
di semua namespace, tentukan
clusterrole/cluster-admin
. Untuk menyediakan akses hanya baca, tentukanclusterrole/view
. Untuk membatasi akses, buat 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
comma separated list. Contoh:
--users=222larabrown@gmail.com,test-acct@test-project.iam.gserviceaccount.com
. - PROJECT_ID: project ID dari project host fleet.
- KUBECONFIG_PATH: jalur lokal file kubeconfig Anda yang berisi entri untuk cluster.
KUBECONFIG_CONTEXT: konteks cluster seperti yang terlihat di file {i>kubeconfig<i}. Anda bisa mendapatkan konteks saat ini dari command line dengan menjalankan
kubectl config current-context
. Baik Anda menggunakan konteks atau tidak, pastikan bahwa kode itu berfungsi untuk mengakses cluster dengan menjalankan perintah seperti:kubectl get namespaces \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT
Setelah menjalankan
gcloud container fleet memberships generate-gateway-rbac
, Anda melihat sesuatu seperti berikut di akhir {i>output<i}, yang terpotong 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 gateway.
Untuk detail selengkapnya tentang perintah
generate-gateway-rbac
, lihat Panduan referensi gcloud CLI.
update
Jalankan perintah berikut untuk mengupdate komponen:
gcloud components update
Untuk setiap pengguna yang perlu diberi
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 di perintah karena perintah tersebut menimpa pemberian izin dengan pengguna yang Anda tentukan dalam perintah.gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --admin-users YOUR_GOOGLE_ACCOUNT \ --admin-users ADMIN_GOOGLE_ACCOUNT_1 \
Selain memberikan peran clusterrole/cluster-admin
Kubernetes,
memberikan kebijakan RBAC yang dibutuhkan pengguna untuk mengakses cluster
melalui Connect gateway.
Bmctl
Untuk menerapkan kebijakan RBAC kepada pengguna, lakukan langkah-langkah berikut pada admin Anda workstation:
Tambahkan
clusterSecurity.authorization
ke file konfigurasi cluster Anda. Tentukan alamat email Anda dan alamat email pengguna lain yang perlu mengelola cluster. Misalnya:... clusterSecurity: authorization: clusterAdmin: gcpAccounts: [alex@example.com,hao@example.com,sasha@example.com] ...
Update cluster:
bmctl update cluster \ -c CLUSTER_NAME \ --kubeconfig=KUBECONFIG
Buat perubahan berikut:
- Ganti CLUSTER_NAME dengan nama cluster yang Anda ingin memperbarui.
- Jika cluster adalah cluster yang dikelola sendiri (seperti admin atau mandiri cluster), ganti KUBECONFIG dengan jalur ke cluster {i>kubeconfig<i}. Jika cluster adalah cluster pengguna, ganti KUBECONFIG dengan jalur ke kubeconfig cluster admin .
Konsol
Untuk menerapkan kebijakan RBAC kepada pengguna, lakukan langkah-langkah berikut di konsol:
Di konsol, buka Ringkasan cluster Google Kubernetes Engine kami.
Pilih project Google Cloud tempat cluster pengguna berada.
Dalam daftar cluster, klik nama cluster, lalu klik Lihat detail di panel Detail.
Di bagian Otorisasi, klik kolom Pengguna admin dan masukkan alamat email setiap pengguna.
Jika Anda selesai menambahkan pengguna, klik Selesai.
Informasi selengkapnya
- Ringkasan pengelolaan perangkat
- Bekerja dengan cluster dari Konsol Google Cloud
- Ringkasan Connect
- Ringkasan Connect Agent