Mengelola cluster dari konsol Google Cloud

Dokumen ini menjelaskan cara membuat cluster yang dibuat dengan Google Distributed Cloud untuk VMware yang tersedia untuk dikelola di Konsol Google Cloud. Hal ini mencakup pengelolaan dasar seperti login ke cluster dan melihat workload mereka, serta cara mengaktifkan pengelolaan siklus proses cluster Anda dapat mengupgrade, mengupdate, dan menghapus cluster.

Anggota armada dan konsol

Semua cluster Google Distributed Cloud harus merupakan anggota fleet—cara terpadu untuk melihat serta mengelola banyak cluster dan workload mereka. Setiap fleet cluster dikaitkan dengan project host perangkat.

Di Google Distributed Cloud, cluster admin didaftarkan ke fleet pada saat pembuatan dengan menentukan project host fleet Anda di bagian gkeConnect file konfigurasi cluster Anda. Google Distributed Cloud menggunakan informasi itu untuk mendaftarkan cluster Anda ke project fleet yang ditentukan. Jika pendaftaran gagal, Anda dapat mencoba mendaftar lagi dengan menjalankan gkectl update credentials register.

Perhatikan bahwa saat mencoba mendaftar lagi, Anda tidak perlu memperbarui kunci akun layanan connect-register. Dengan kata lain, Anda dapat terus menggunakan layanan pendaftaran terhubung asli Anda menggunakan akun layanan. Untuk informasi selengkapnya tentang perintah tersebut, lihat Mengubah kunci akun layanan.

Di Google Distributed Cloud, cluster pengguna didaftarkan ke fleet pada saat pembuatan waktu:

  • Saat membuat cluster pengguna menggunakan gkectl, Anda menentukan project host fleet di bagian gkeConnect pada file konfigurasi cluster. Google Distributed Cloud menggunakan informasi tersebut untuk mendaftarkan cluster Anda ke project fleet tertentu.

  • Saat Anda membuat cluster pengguna menggunakan fitur standar ( konsol, Google Cloud CLI atau Terraform). otomatis menjadi anggota fleet dalam project yang Anda tentukan.

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 tempat Anda dapat mengelola Google Distributed Cloud dari konsol bergantung pada hal berikut:

  • Jika telah menyiapkan autentikasi, Anda dapat login ke cluster Anda dan lihat workload serta detail lainnya.

  • Jika Anda memiliki mengaktifkan pengelolaan siklus proses cluster untuk cluster tersebut, Anda juga bisa mengupgrade, mengupdate, atau menghapus cluster pengguna dengan 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 Ringkasan cluster Google Kubernetes Engine 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:

  1. Di konsol, buka Ringkasan cluster Google Kubernetes Engine kami.

    Buka cluster GKE

  2. Pilih project Google Cloud.

    • Jika vm Google Distributed Cloud ditampilkan di Type , cluster dikelola oleh GKE On-Prem API.

    • Jika Eksternal ditampilkan di kolom Jenis, berarti cluster tidak dapat ditampilkan. dan dikelola oleh GKE On-Prem API.

    Daftar cluster GKE Enterprise

Untuk melihat detail selengkapnya tentang cluster, pengguna harus login dan melakukan autentikasi ke gugus ini. Untuk melakukannya, Anda harus:

Menyiapkan autentikasi

Seperti dijelaskan sebelumnya, semua cluster fleet muncul di GKE dan Daftar cluster GKE Enterprise di konsol. Namun, untuk lihat detail selengkapnya seperti node dan workload (serta untuk menjalankan siklus proses cluster pengelolaan tugas jika fitur ini diaktifkan), pengguna harus {i>login<i} 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, 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 tetapi Anda harus mengkonfigurasi otentikasi untuk pengguna lain.

    Login dengan identitas Google adalah pendekatan paling sederhana untuk autentikasi di konsol Anda, terutama jika Anda mencoba Google Distributed Cloud dengan penginstalan minimal, dan seperti yang telah kami jelaskan cara mengaturnya secara lebih rinci di bawah Menyiapkan autentikasi identitas Google.

  • OpenID Connect (OIDC): Opsi ini memungkinkan pengguna 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:

  • 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). Peran IAM ini tidak diperlukan penting, metode otentikasi mana 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 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/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/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 Peran roles/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 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 dibuat menggunakan gkectl, ini adalah project yang Anda konfigurasi di gkeConnect 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 format user:emailID, misalnya: user:alice@example.com

Mengaktifkan pengelolaan siklus proses cluster di konsol

Cluster pengguna yang dibuat menggunakan alat standar (konsol, platform gcloud CLI, atau Terraform) terdaftar secara otomatis di GKE On-Prem API, dan memungkinkan Anda menjalankan tugas pengelolaan siklus proses cluster di konsol. Jika Anda ingin mengaktifkan fitur ini untuk cluster yang dibuat menggunakan gkectl, ikuti langkah-langkah dalam Konfigurasikan cluster pengguna untuk dikelola dengan GKE On-Prem API. Jika pengelolaan siklus proses cluster diaktifkan, Anda dapat melakukan tugas berikut dari konsol:

Menyiapkan autentikasi identitas Google

Agar pengguna dapat login ke cluster menggunakan identitas Google mereka, Anda harus lakukan konfigurasi berikut ini:

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 Anda menggunakan alat standar untuk membuat cluster pengguna, Anda mungkin sudah diberi kebijakan RBAC yang sesuai yang memberi Anda kebijakan administratif penuh akses ke cluster. 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 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.

Cluster pengguna yang dibuat menggunakan gkectl tidak memberi Anda kebijakan RBAC untuk mengelola cluster menggunakan konsol. Anda harus menambahkan diri sendiri setelah cluster dibuat. Tidak peduli alat mana yang Anda gunakan untuk membuat Anda dapat menambahkan orang lain sebagai administrator setelah cluster dibuat.

Anda dapat menggunakan salah satu cara berikut untuk memberikan akses administratif ke . Tersedia dua perintah gcloud yang berbeda.

  • 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 Perintah generate-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.

generate-gateway-rbac

  1. Hubungkan ke workstation admin Anda.

  2. Jalankan perintah berikut untuk mengupdate komponen:

    gcloud components update
    
  3. 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=FLEET_HOST_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 . Untuk memberi pengguna akses penuh ke setiap resource dalam cluster di semua namespace, tentukan clusterrole/cluster-admin. Untuk menyediakan akses hanya baca, tentukan clusterrole/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 comma separated list. 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 akan disimpan.
    • 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 sederhana 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 Hubungkan gateway.

    Untuk detail selengkapnya tentang perintah generate-gateway-rbac, lihat Panduan referensi gcloud CLI.

update

  1. Jalankan perintah berikut untuk mengupdate komponen:

    gcloud components update
    
  2. 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 vmware 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.

Konsol

Untuk menerapkan kebijakan RBAC kepada pengguna, lakukan langkah-langkah berikut di konsol:

  1. Di konsol, buka Ringkasan cluster Google Kubernetes Engine kami.

    Buka cluster GKE

  2. Pilih project Google Cloud tempat cluster pengguna berada.

  3. Pada daftar cluster, klik nama cluster untuk menampilkan detailnya.

  4. Di bagian Otorisasi, klik tombol edit Pengguna admin.

  5. Masukkan alamat email pengguna yang ingin ditambahkan sebagai admin cluster di panel Edit otorisasi. Untuk menambahkan pengguna admin tambahan, klik Tambahkan pengguna admin.

  6. Setelah selesai menambahkan pengguna, klik Simpan perubahan.

Informasi selengkapnya