Membuat cluster admin menggunakan konsol Google Cloud

Gunakan konsol Google Cloud untuk membuat cluster admin bagi software Google Distributed Cloud khusus untuk VMware agar dapat menggunakan antarmuka pengguna grafis untuk panduan terstruktur. Anda juga dapat membuat cluster admin menggunakan gkectl atau Google Cloud console.

Sebelum memulai

  • Pastikan Anda telah menyiapkan dan dapat login ke workstation admin seperti yang dijelaskan dalam artikel Membuat workstation admin.

  • Pastikan file kunci JSON untuk akun layanan ada di workstation admin Anda.

  • Tinjau dokumen perencanaan alamat IP. Pastikan Anda memiliki cukup alamat IP yang tersedia untuk tiga node bidang kontrol dan VIP bidang kontrol. Jika Anda berencana membuat cluster pengguna kubeception, Anda harus memiliki cukup alamat IP yang tersedia untuk node bidang kontrol cluster pengguna tersebut.

  • Tinjau ringkasan load balancing dan tinjau kembali keputusan Anda tentang jenis load balancer yang ingin Anda gunakan. Untuk load balancer manual, Anda harus menyiapkan load balancer sebelum membuat cluster admin.

  • Jika Anda menggunakan gkectl untuk membuat cluster admin, tentukan apakah Anda ingin menggunakan registry publik atau pribadi untuk komponen Google Distributed Cloud. Untuk mengetahui informasi tentang cara menggunakan registry Docker pribadi, lihat privateRegistry. Baik Terraform maupun konsol Google Cloud tidak mendukung penggunaan registry Docker pribadi untuk komponen sistem.

  • Tentukan jenis sistem operasi yang ingin Anda jalankan di node cluster admin.

  • Jika organisasi Anda mewajibkan traffic keluar melewati server proxy, pastikan untuk mengizinkan API yang diperlukan dan alamat Artifact Registry.

  • Di versi 1.29 dan yang lebih baru, pemeriksaan pra-penerbangan sisi server diaktifkan secara default. Pemeriksaan pra-penerbangan sisi server memerlukan aturan firewall tambahan. Di Firewall rules for admin clusters, telusuri "Preflight checks" dan pastikan semua aturan firewall yang diperlukan telah dikonfigurasi. Pemeriksaan pra-penerbangan sisi server dijalankan di cluster bootstrap, bukan secara lokal di workstation admin.

Ringkasan prosedur

Sebelum membuat cluster admin, Anda harus menjalankan perintah gkectl register bootstrap di workstation admin. Perintah ini men-deploy cluster Kubernetes di Docker (kind) di workstation admin. Cluster bootstrap ini menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin. Saat Anda membuat cluster admin, pengontrol di cluster bootstrap akan menyediakan node, menjalankan pemeriksaan pendahuluan, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap akan otomatis dihapus setelah cluster admin berhasil dibuat.

Berikut adalah langkah-langkah umum untuk membuat cluster admin menggunakan konsol:

  1. Di konsol, Anda memasukkan informasi yang diperlukan oleh gkectl register bootstrap. Konsol menampilkan perintah gkectl register bootstrap dengan informasi yang Anda masukkan. Perintah yang ditampilkan juga menyertakan flag untuk jalur yang perlu Anda tentukan sebelum menjalankan perintah.

  2. Di workstation admin, Anda menjalankan gkectl register bootstrap untuk membuat cluster bootstrap. Setelah perintah selesai membuat cluster bootstrap, output akan memberi tahu Anda untuk menyelesaikan konfigurasi cluster admin. Proses terus berjalan hingga cluster admin dibuat.

  3. Anda akan kembali ke konsol untuk menyelesaikan pengisian informasi yang diperlukan untuk membuat cluster. Selama pembuatan cluster, perintah gkectl register bootstrap akan menampilkan informasi progres dan menulis log di workstation admin Anda. Saat cluster admin dibuat, cluster bootstrap akan otomatis dihapus.

Mulai mengonfigurasi cluster

  1. Di konsol, buka halaman Create a cluster on VMware.

    Buka Membuat cluster di VMware

  2. Pilih Google Cloud project tempat Anda ingin membuat cluster.

    Saat Anda membuat cluster bootstrap di bagian berikutnya, ID project yang dipilih akan ditampilkan dalam perintah gkectl register bootstrap di flag --project-id.

  3. Pastikan Buat cluster admin dipilih.

  4. Klik Berikutnya: Instal lingkungan bootstrap.

Menginstal lingkungan bootstrap

Di bagian ini, Anda akan memasukkan informasi yang diperlukan oleh perintah gkectl register bootstrap. Saat Anda memasukkan nilai di kolom UI, konsol akan menyalin nilai ke tanda yang sesuai untuk perintah gkectl register bootstrap yang ditampilkan di bagian Bootstrap environment from admin workstation di bagian bawah halaman.

Dasar-dasar lingkungan Bootstrap

  1. Masukkan Name untuk cluster admin. Konsol menggunakan nama cluster sebagai nilai untuk tanda --target-cluster-name dalam perintah gkectl register bootstrap yang ditampilkan di bagian bawah halaman. Nama memiliki panjang maksimum 20 karakter.

  2. Di kolom LokasiGoogle Cloud API, pilih Google Cloud region dari daftar. Setelan ini menentukan region tempat API dan layanan berikut berjalan:

    • GKE On-Prem API (gkeonprem.googleapis.com)
    • Layanan armada (gkehub.googleapis.com)
    • Layanan Connect (gkeconnect.googleapis.com)

    Setelan ini juga mengontrol region tempat item berikut disimpan:

    • Metadata cluster yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
    • Data Cloud Logging dan Cloud Monitoring dari komponen sistem
    • Log Audit Admin yang dibuat oleh Cloud Audit Logs

    Kolom Google Cloud API Location sesuai dengan tanda --location dalam perintah gkectl register bootstrap.

  3. Di kolom Admin cluster version, masukkan versi yang akan digunakan untuk membuat cluster. Versi yang Anda pilih di sini harus cocok dengan versi paket yang Anda tentukan dalam tanda --bundle-path di perintah gkectl register bootstrap.

Konfigurasi vCenter

Jika Anda menggunakan gkeadm untuk membuat workstation admin, buka file konfigurasi workstation admin agar Anda dapat menyalin nilai dari bagian vCenter ke kolom di konsol. Perhatikan bahwa file konfigurasi cluster admin yang dihasilkan juga berisi informasi ini.

Sebagian besar kolom di bagian ini tidak dapat diubah. Lihat bagian vCenter dalam referensi file konfigurasi cluster admin jika Anda perlu mengetahui apakah suatu kolom dapat diubah atau tidak.

  1. Di kolom Address, masukkan alamat vCenter Server.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.credentials.address.

    • Kolom Address sesuai dengan flag --vcenter-address dalam perintah gkectl register bootstrap.

  2. Di kolom Datacenter, masukkan nama pusat data vCenter Anda.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.datacenter.

    • Kolom Datacenter sesuai dengan tanda --vcenter-datacenter dalam perintah gkectl register bootstrap.

  3. Di kolom Cluster Name, masukkan nama cluster vCenter Anda.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.cluster.

    • Kolom Nama Cluster sesuai dengan flag --vcenter-cluster di perintah gkectl register bootstrap.

  4. Di kolom Resource pool, masukkan nama atau jalur kumpulan resource vCenter Anda.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.resourcePool.

    • Kolom Resource pool sesuai dengan flag --vcenter-resource-pool dalam perintah gkectl register bootstrap.

  5. Konfigurasi opsi penyimpanan dengan memasukkan salah satu opsi berikut:

    • Kolom Datastore: Masukkan nama datastore vCenter Anda. Nilai yang Anda tentukan harus berupa nama, bukan jalur. Jika Anda perlu memasukkan jalur, masukkan di kolom Folder.

      • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.datastore.

      • Kolom Datastore sesuai dengan flag --vcenter-datastore dalam perintah gkectl register bootstrap.

    • Kolom Nama kebijakan penyimpanan: Masukkan nama kebijakan penyimpanan VM untuk node cluster. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kebijakan penyimpanan.

      • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.storagePolicyName.

      • Kolom Storage policy name sesuai dengan flag --vcenter-storage-policy dalam perintah gkectl register bootstrap.

    Anda harus memasukkan nilai di kolom Datastore atau Nama Kebijakan Penyimpanan, tetapi tidak keduanya.

  6. Atau, di kolom Folder, masukkan nama folder vCenter tempat VM cluster Anda akan berada.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.folder.

    • Kolom Folder sesuai dengan tanda --vcenter-folder dalam perintah gkectl register bootstrap.

  7. Di kolom Network, masukkan nama jaringan vCenter Anda.

    • File konfigurasi workstation admin: Gunakan nilai dari kolom vCenter.network.

    • Kolom Network sesuai dengan flag --vcenter-network dalam perintah gkectl register bootstrap.

  8. Di kolom CA certificate path, masukkan jalur ke sertifikat CA root untuk vCenter Server Anda.

    • Jika Anda menggunakan gkeadm untuk membuat workstation admin, gkeadm menyalin file sertifikat CA yang Anda miliki secara lokal ke workstation admin Anda.

    • Kolom CA certificate path sesuai dengan --vcenter-ca-cert-path dalam perintah gkectl register bootstrap.

Mendapatkan sertifikat CA

Setelah membuat cluster bootstrap, Anda harus memberikan sertifikat CA vCenter dalam format PEM di kolom CA certificate data di halaman Cluster basics. Jalankan perintah berikut untuk menampilkan sertifikat:

cat CA_CERT_PATH

Ganti CA_CERT_PATH dengan jalur ke sertifikat CA root untuk vCenter Server Anda. Jika Anda menjalankan perintah ini secara lokal, gunakan jalur di vCenter.caCertPath dalam file konfigurasi workstation admin Anda.

Salin seluruh sertifikat ke editor teks agar Anda siap menempelkannya di kolom CA certificate data di halaman Cluster basics setelah cluster bootstrap dibuat.

Melakukan bootstrap lingkungan dari workstation admin

Saat Anda menjalankan perintah gkectl register bootstrap, Anda akan diminta memasukkan nama pengguna dan sandi akun vCenter. Pastikan Anda memiliki kredensial yang tersedia. Jika Anda menggunakan gkeadm untuk membuat workstation admin, nama pengguna dan sandi ada di file credential.yaml.

  1. Scroll ke bagian Bootstrap environment from admin workstation untuk menampilkan perintah gkectl register bootstrap.

    Biarkan halaman ini terbuka saat Anda membuka workstation admin untuk membuat cluster bootstrap.

  2. Salin dan tempel perintah gkectl register bootstrap ke editor teks agar Anda dapat menentukan nilai untuk flag berikut:

        ./gkectl register bootstrap \
          ...
          --bundle-path=BUNDLE_PATH \
          ...
          --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \
          --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \
          --stackdriver-service-account-key-path=LOG_MON_SA_PATH \
          --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \
          --admin-kubeconfig-out=KUBECONFIG_NAME
    

    Ganti yang berikut dengan jalur workstation admin:

    • BUNDLE_PATH: jalur ke file paket. Jika Anda menggunakan gkeadm untuk membuat workstation admin, file paket terletak di /var/lib/gke/bundles/. Nama file bergantung pada versi Google Distributed Cloud, misalnya, gke-onprem-vsphere-1.31.0-gke.889-full.tgz.
    • COMPONENT_ACCESS_SA_PATH: jalur ke file kunci untuk akun layanan akses komponen.
    • CONNECT_REGISTER_SA_PATH: jalur ke file kunci untuk akun layanan connect-register.
    • LOG_MON_SA_PATH: jalur ke file kunci untuk akun layanan logging-monitoring.
    • CLOUD_AUDIT_SA_PATH: jalur ke akun layanan pencatatan audit. Jika Anda tidak membuat akun layanan logging audit, tentukan jalur ke file kunci untuk akun layanan logging-monitoring.
    • KUBECONFIG_NAME: nama untuk file kubeconfig yang dibuat oleh perintah gkectl register bootstrap. Jika Anda tidak menentukan tanda ini, perintah akan membuat file dengan nama kubeconfig di direktori kerja saat ini. Jika ada file kubeconfig, perintah akan menimpa file tersebut.

    Selain itu, jika Anda menggunakan gkeadm untuk membuat workstation admin, gkectl akan didownload ke direktori /usr/bin/. Dalam hal ini, hapus ./ dari awal perintah karena gkectl tidak ada di direktori kerja saat ini.

  3. Gunakan SSH untuk terhubung ke workstation admin Anda.

  4. Salin perintah dan tempelkan di jendela terminal pada workstation admin Anda.

  5. Saat diminta, masukkan (atau salin dan tempel) nama pengguna vCenter. Nama pengguna tidak ditampilkan kembali di layar.

  6. Saat diminta, masukkan (atau salin dan tempel) sandi vCenter. Sandi tidak ditampilkan kembali di layar.

Perintah ini menjalankan banyak validasi. Setelah gkectl berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut, yang dipangkas agar mudah dibaca:

Running workstation validations
- Validation Category: Workstation
    - [SUCCESS] Workstation OS
    - [SUCCESS] Workstation Hardware
    - [SUCCESS] Workstation Package
    - [SUCCESS] Workstation NTP
    - [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -

Proses terus berjalan hingga cluster admin dibuat.

Jika Anda keluar dari perintah gkectl register bootstrap sebelum cluster admin dibuat, pembuatan cluster admin akan gagal, dan Anda harus menghapus cluster bootstrap menggunakan perintah berikut:

gkectl delete bootstrap \
    --target-cluster-name=ADMIN_CLUSTER_NAME \
    --project-id=PROJECT_ID \
    --location=REGION \
     --register-service-account-key-path=CONNECT_REGISTER_SA_PATH

Selesaikan konfigurasi cluster admin

Kembali ke konsol dan lakukan langkah-langkah berikut:

  1. Di halaman Install bootstrap environment, klik Check Connection.

    Jika berhasil, konsol akan menampilkan Connection established.

    Koneksi ke cluster bootstrap harus dibuat sebelum Anda melanjutkan. Jika koneksi tidak dibuat, periksa argumen yang Anda tentukan untuk perintah gkectl register bootstrap:

    • Pastikan nilai untuk --target-cluster-name cocok dengan Nama cluster admin yang ditampilkan di bagian Dasar-dasar lingkungan bootstrap.

    • Pastikan nilai untuk --project-id cocok dengan ID project yang Anda pilih di konsol.

    Jika Anda perlu mengubah nama cluster bootstrap, project ID, atau nilai flag lainnya, lakukan hal berikut:

    1. Masukkan Ctrl-C untuk keluar dari gkectl register bootstrap.
    2. Hapus cluster bootstrap:

      gkectl delete bootstrap \
        --target-cluster-name=ADMIN_CLUSTER_NAME \
        --project-id=PROJECT_ID \
        --location=REGION \
        --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
      
    3. Jalankan kembali perintah gkectl register bootstrap.

  2. Klik Next: Cluster basics untuk mulai mengonfigurasi cluster admin.

Dasar-dasar cluster

  1. Di kolom Data sertifikat CA, salin dan tempel seluruh sertifikat CA vCenter dalam format PEM seperti yang dijelaskan sebelumnya di bagian Mendapatkan sertifikat CA.

  2. Di bagian Otorisasi, masukkan alamat email pengguna yang ingin Anda beri peran clusterrole/view Kubernetes hanya baca. Perhatikan bahwa alamat email Anda otomatis ditambahkan. Kebijakan role-based access control (RBAC) yang diterapkan memungkinkan pengguna menjalankan perintah hanya baca melalui gateway koneksi.

  3. Klik Next Control Plane.

Bidang kontrol

  1. Tinjau setelan default di bagian Control plane dan ubah setelan tersebut sesuai kebutuhan.

  2. Di bagian Control plane node IPs, masukkan alamat IP di kolom berikut:

    • Gateway: Alamat IP gateway default untuk subnet yang memiliki node cluster Anda.

    • Netmask: Netmask untuk subnet yang memiliki node cluster Anda.

    • Alamat IP: Masukkan alamat IP dan secara opsional, nama host untuk tiga node bidang kontrol.

  3. Klik Berikutnya: Jaringan.

Jaringan

Di bagian ini, Anda akan menentukan informasi jaringan yang diperlukan untuk membuat cluster admin.

  1. Di bagian CIDR Layanan dan Pod, terima nilai default untuk rentang alamat IP Layanan dan Pod Kubernetes, atau masukkan rentang alamat CIDR yang berbeda.

    • CIDR Layanan: Rentang terkecil yang mungkin: /24. Rentang terbesar yang mungkin: /12.

    • CIDR Pod: Rentang terkecil yang mungkin: /18. Rentang terbesar yang memungkinkan: /8`.

  2. Di bagian Host config, tentukan server NTP, server DNS, dan opsionalnya domain penelusuran DNS yang digunakan oleh VM yang merupakan node cluster Anda. Setelah cluster dibuat, Anda tidak dapat mengubah nilai ini.

  3. Klik Berikutnya: Load balancer.

Load balancer

Di bagian ini, Anda memilih jenis load balancer yang akan digunakan. Untuk informasi tambahan, lihat Ringkasan load balancing.

  1. Dalam daftar Load balancer type, pilih load balancer:

    • Disertakan dengan MetalLB: Load balancer MetalLB disertakan dengan dan memerlukan lebih sedikit konfigurasi daripada load balancing manual. Komponen MetalLB berjalan di node cluster Anda, sehingga Anda tidak perlu membuat VM terpisah untuk load balancer.

    • Manual: Anda dapat menggunakan load balancer pilihan Anda selama Anda menyiapkannya sebelum membuat cluster. Dengan load balancer apa pun yang Anda siapkan secara manual, Anda harus mengonfigurasi pemetaan antara IP virtual (VIP), alamat node, dan nilai nodePort.

  2. Di kolom Control plane VIP, masukkan VIP yang akan digunakan untuk traffic yang dikirim ke server Kubernetes API.

  3. Klik Verifikasi dan Buat.

    Konsol menampilkan pesan status saat memverifikasi setelan dan membuat cluster di pusat data Anda.

    Jika ada masalah dengan konfigurasi, konsol akan menampilkan pesan error yang cukup jelas bagi Anda untuk memperbaiki masalah konfigurasi dan mencoba lagi membuat cluster.

Detail tentang proses pembuatan cluster ditampilkan di workstation admin Anda. Jika pemeriksaan pra-penerbangan berhasil, Anda akan melihat tampilan seperti berikut:

[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK
[2023-03-22 23:15:47+0000] Writing kubeconfig file
[2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig
[2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster.
[2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK
[2023-03-22 23:20:17+0000] Please run
[2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes
[2023-03-22 23:20:17+0000] to get cluster nodes status.
[2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK
[2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK
[2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK
[2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster
[2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK
[2023-03-22 23:27:41+0000] Flushing logs... OK
[2023-03-22 23:27:41+0000] Deleting membership... OK
[2023-03-22 23:27:42+0000] Deleting bootstrap cluster.

Menghubungkan ke cluster admin

Perintah gkectl register bootstrap membuat file kubeconfig untuk cluster admin di workstation admin Anda. Jika Anda tidak menentukan tanda --admin-kubeconfig-out saat menjalankan gkectl register bootstrap, perintah akan membuat file kubeconfig bernama kubeconfig di direktori tempat Anda menjalankan perintah.

Anda perlu membatasi akses ke kubeconfig ini karena berisi kredensial autentikasi untuk cluster.

Selain itu, Anda dapat menjalankan perintah kubectl hanya baca melalui gateway koneksi.

  1. Jalankan perintah berikut di komputer yang memiliki gcloud CLI untuk mendapatkan entri kubeconfig yang dapat mengakses cluster melalui gateway koneksi.

    gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID
    

    Outputnya mirip dengan hal berikut ini:

    Starting to build Gateway kubeconfig...
    Current project_id: PROJECT_ID
    A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
    
  2. Sekarang Anda dapat menjalankan perintah kubectl hanya baca melalui gateway koneksi, seperti berikut:

    kubectl get pods -A
    

    Jika Anda memerlukan hak istimewa administratif penuh untuk cluster admin, lihat Menyiapkan gateway koneksi.