Membuat cluster admin

Halaman ini menunjukkan cara membuat cluster admin untuk Google Distributed Cloud. Cluster admin mengelola cluster pengguna yang menjalankan beban kerja Anda. Jika Anda ingin menggunakan domain topologi, lihat Membuat cluster admin untuk digunakan dengan domain topologi.

Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE Enterprise umum.

Untuk mengetahui detail selengkapnya tentang cluster admin, lihat ringkasan penginstalan.

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 untuk tiga node bidang kontrol dan VIP bidang kontrol. Jika berencana membuat cluster pengguna kubeception, Anda harus memiliki cukup alamat IP yang tersedia untuk node panel kontrol cluster pengguna tersebut.

  • Tinjau ringkasan load balancing dan tinjau kembali keputusan Anda tentang jenis load balancer yang ingin digunakan. 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. 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 untuk melewati server proxy, pastikan untuk mencantumkan dalam daftar yang diizinkan API yang diperlukan dan alamat Artifact Registry.

  • Pada 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 Aturan firewall untuk cluster admin, telusuri "Pemeriksaan pra-penerbangan" dan pastikan semua aturan firewall yang diperlukan telah dikonfigurasi. Pemeriksaan pra-penerbangan sisi server dijalankan di cluster bootstrap, bukan secara lokal di workstation admin.

Membuat cluster admin dengan alat pilihan Anda

Bagian ini menjelaskan langkah-langkah untuk membuat cluster admin menggunakan gkectl, Terraform, dan konsol Google Cloud . Untuk informasi yang membantu Anda memilih alat dan batasan pada beberapa alat, lihat Memilih alat untuk mengelola siklus proses cluster.

gkectl

Secara default di versi 1.32 dan yang lebih tinggi, cluster baru yang dibuat menggunakan gkectl dibuat dengan cluster lanjutan diaktifkan. Pastikan untuk meninjau Perbedaan saat menjalankan cluster lanjutan. Jika tidak ingin mengaktifkan cluster lanjutan, Anda harus menetapkan enableAdvancedCluster ke false dalam file konfigurasi.

Ringkasan prosedur

Berikut adalah langkah-langkah utama yang diperlukan dalam membuat cluster admin:

  1. Isi file konfigurasi Anda.
    Tentukan detail untuk cluster admin baru Anda dengan menyelesaikan dan memvalidasi file konfigurasi cluster admin, file konfigurasi kredensial, dan mungkin file blok IP.
  2. Impor image OS ke vSphere, dan kirim image container ke registry pribadi jika berlaku.
    Jalankan gkectl prepare.
  3. Buat cluster admin.
    Gunakan gkectl untuk membuat cluster admin baru seperti yang ditentukan dalam file konfigurasi yang telah selesai. Saat membuat cluster admin, Google Distributed Cloud akan men-deploy cluster Kubernetes in Docker (kind) untuk menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin untuk sementara. Cluster sementara ini disebut cluster bootstrap. Cluster pengguna dibuat dan diupgrade oleh admin pengelolanya tanpa menggunakan cluster bootstrap.
  4. Pastikan cluster admin Anda berjalan.
    Gunakan kubectl untuk melihat node cluster Anda.

Di akhir prosedur ini, Anda akan memiliki cluster admin yang berjalan yang dapat Anda gunakan untuk membuat dan mengelola cluster pengguna.

Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan beberapa perintah gkectl, seperti "Validation Category: GCP - [UNKNOWN] GCP service: [Stackdriver] could not get GCP services". Untuk menghindari error ini, tambahkan parameter --skip-validation-gcp ke perintah Anda.

Mengisi file konfigurasi

  • Pastikan workstation admin Anda memiliki versi gkectl yang diperlukan. Biasanya, Anda menggunakan versi gkectl yang sama dengan versi yang akan digunakan saat membuat cluster. Anda menentukan versi cluster di kolom gkeOnPremVersion dalam file konfigurasi cluster. Aturan versi berikut diterapkan selama pembuatan cluster:

    • Versi minor gkectl tidak boleh lebih rendah dari versi minor untuk cluster. Misalnya, membuat cluster 1.30 menggunakan gkectl versi 1.29 tidak diizinkan. Versi patch tidak penting. Misalnya, Anda dapat menggunakan gkectl versi 1.29.0-gke.1456 untuk membuat cluster dengan versi patch yang lebih tinggi, seperti 1.29.1000-gke.94.

    • Versi minor gkectl tidak boleh lebih dari dua versi minor lebih tinggi dari versi cluster. Misalnya, jika Anda membuat cluster 1.28, versi gkectl dapat berupa 1.29 atau 1.30. Namun, Anda tidak dapat menggunakan gkectl versi 1.31 karena tiga versi minor lebih tinggi dari versi cluster.

    Jika diperlukan, lihat Mendownload gkectl untuk mendapatkan versi gkectl yang didukung.

Jika Anda menggunakan gkeadm untuk membuat workstation admin, file tersebut akan menghasilkan file konfigurasi bernama admin-cluster.yaml.

Jika Anda tidak menggunakan gkeadm untuk membuat workstation admin, buat admin-cluster.yaml dengan menjalankan perintah ini di workstation admin:

gkectl create-config admin

File konfigurasi ini digunakan untuk membuat cluster admin.

Pelajari file konfigurasi dengan memindai dokumen file konfigurasi cluster admin. Sebaiknya biarkan dokumen ini tetap terbuka di tab atau jendela terpisah, karena Anda akan merujuknya saat menyelesaikan langkah-langkah berikut.

name

Jika Anda ingin menentukan nama untuk cluster admin, isi kolom name.

bundlePath

Paket adalah file ZIP yang berisi komponen cluster. Alat ini disertakan dengan workstation admin. Kolom ini sudah diisi untuk Anda.

vCenter

Kolom di bagian ini sudah diisi dengan nilai yang Anda masukkan saat membuat workstation admin.

enableAdvancedCluster

Jika Anda ingin mengaktifkan fitur cluster lanjutan pratinjau, tetapkan enableAdvancedCluster ke true.

Perhatikan batasan berikut pada pratinjau cluster lanjutan:

  • Anda dapat mengaktifkan cluster lanjutan pada waktu pembuatan cluster hanya untuk cluster 1.31 baru.
  • Setelah cluster lanjutan diaktifkan, Anda tidak akan dapat mengupgrade cluster ke versi 1.32. Hanya aktifkan cluster lanjutan di lingkungan pengujian.

network

Isi bagian network.controlPlaneIPBlock dan bagian network.hostConfig. Tetapkan juga adminMaster.replicas ke 3.

Kolom network.podCIDR dan network.serviceCIDR telah diisi otomatis dengan nilai yang dapat Anda biarkan tidak berubah, kecuali jika bertentangan dengan alamat yang sudah digunakan di jaringan Anda. Kubernetes menggunakan rentang ini untuk menetapkan alamat IP ke Pod dan Service di cluster Anda.

Isi kolom lainnya di bagian jaringan file konfigurasi sesuai kebutuhan.

loadBalancer

Siapkan VIP untuk server Kubernetes API cluster admin Anda. Berikan VIP Anda sebagai nilai untuk loadBalancer.vips.controlPlaneVIP

Untuk mengetahui informasi selengkapnya, lihat VIP di subnet cluster admin.

Tentukan jenis load balancing yang ingin Anda gunakan. Opsinya adalah:

  • Load balancing MetalLB yang dipaketkan. Tetapkan loadBalancer.kind ke "MetalLB".

  • Load balancing manual. Tetapkan loadBalancer.kind ke "ManualLB", dan hapus bagian manualLB.

Untuk mengetahui informasi selengkapnya tentang opsi load balancing, lihat Ringkasan load balancing.

antiAffinityGroups

Tetapkan antiAffinityGroups.enabled ke true atau false sesuai preferensi Anda.

Gunakan kolom ini untuk menentukan apakah Anda ingin Google Distributed Cloud membuat aturan anti-afinitas Distributed Resource Scheduler (DRS) VMware untuk node cluster admin, sehingga node tersebut tersebar di setidaknya tiga host fisik di pusat data Anda.

adminMaster

Jika Anda ingin menentukan CPU dan memori untuk node platform kontrol cluster admin, isi kolom cpus dan memoryMB di bagian adminMaster.

Cluster admin harus memiliki tiga node bidang kontrol. Tetapkan kolom replicas di bagian adminMaster ke 3.

proxy

Jika jaringan yang akan memiliki node cluster admin Anda berada di belakang server proxy, isi bagian proxy.

privateRegistry

Tentukan tempat Anda ingin menyimpan image container untuk komponen Google Distributed Cloud. Opsinya adalah:

  • Artifact Registry

  • Registry Docker pribadi Anda sendiri.

    Jika Anda ingin menggunakan registry pribadi Anda sendiri, isi bagian privateRegistry.

componentAccessServiceAccountKeyPath

Google Distributed Cloud menggunakan akun layanan akses komponen Anda untuk mendownload komponen cluster dari Artifact Registry. Kolom ini menyimpan jalur file kunci JSON untuk akun layanan akses komponen Anda.

Kolom ini sudah diisi untuk Anda.

gkeConnect

Daftarkan cluster admin Anda ke Google Cloud fleet dengan mengisi bagian gkeConnect. Jika Anda menyertakan bagian stackdriver dan cloudAuditLogging dalam file konfigurasi, ID di gkeConnect.projectID harus sama dengan ID yang ditetapkan di stackdriver.projectID dan cloudAuditLogging.projectID. Jika project ID tidak sama, pembuatan cluster akan gagal.

Di versi 1.28 dan yang lebih baru, Anda dapat menentukan region tempat layanan Fleet dan Connect berjalan di gkeConnect.location secara opsional. Jika Anda tidak menyertakan kolom ini, cluster akan menggunakan instance global layanan ini.

Jika Anda menyertakan gkeConnect.location, region yang Anda tentukan harus sama dengan region yang dikonfigurasi di cloudAuditLogging.clusterLocation, stackdriver.clusterLocation, dan gkeOnPremAPI.location. Jika region tidak sama, pembuatan cluster akan gagal.

gkeOnPremAPI

Jika GKE On-Prem API diaktifkan di projectGoogle Cloud , semua cluster dalam project akan terdaftar di GKE On-Prem API secara otomatis di region yang dikonfigurasi di stackdriver.clusterLocation. Region gkeOnPremAPI.location harus sama dengan region yang ditentukan dalam cloudAuditLogging.clusterLocation, gkeConnect.location, dan stackdriver.clusterLocation. Jika region tidak sama, pembuatan cluster akan gagal.

  • Jika Anda ingin mendaftarkan semua cluster dalam project di GKE On-Prem API, pastikan untuk melakukan langkah-langkah di bagian Sebelum memulai untuk mengaktifkan dan menggunakan GKE On-Prem API dalam project.

  • Jika Anda tidak ingin mendaftarkan cluster di GKE On-Prem API, sertakan bagian ini dan tetapkan gkeOnPremAPI.enabled ke false. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkan gkeonprem.googleapis.com (nama layanan untuk GKE On-Prem API) dalam project. Untuk mengetahui petunjuknya, lihat Menonaktifkan layanan.

stackdriver

Jika Anda ingin mengaktifkan Cloud Logging dan Cloud Monitoring untuk cluster, isi bagian stackdriver.

Bagian ini wajib diisi secara default. Artinya, jika Anda tidak mengisi bagian ini, Anda harus menyertakan flag --skip-validation-stackdriver saat menjalankan gkectl create admin.

Perhatikan persyaratan berikut:

  • Jika mengaktifkan cluster lanjutan, Anda harus menentukan jalur yang sama di cloudAuditLogging.serviceAccountKeyPath dan stackdriver.serviceAccountKeyPath.

  • ID di stackdriver.projectID harus sama dengan ID di gkeConnect.projectID dan cloudAuditLogging.projectID.

  • Region Google Cloud yang ditetapkan di stackdriver.clusterLocation harus sama dengan region yang ditetapkan di cloudAuditLogging.clusterLocation dan gkeConnect.location. Selain itu, jika gkeOnPremAPI.enabled adalah true, region yang sama harus ditetapkan di gkeOnPremAPI.location.

Jika project ID dan region tidak sama, pembuatan cluster akan gagal.

cloudAuditLogging

Jika Anda ingin mengintegrasikan log audit dari server Kubernetes API cluster dengan Cloud Audit Logs, isi bagian cloudAuditLogging.

Perhatikan persyaratan berikut:

  • Jika mengaktifkan cluster lanjutan, Anda harus menentukan jalur yang sama di cloudAuditLogging.serviceAccountKeyPath dan stackdriver.serviceAccountKeyPath.

  • ID di cloudAuditLogging.projectID harus sama dengan ID di gkeConnect.projectID dan stackdriver.projectID.

  • Region Google Cloud yang ditetapkan di cloudAuditLogging.clusterLocation harus sama dengan region yang ditetapkan di stackdriver.clusterLocation dan gkeConnect.location (jika kolom disertakan dalam file konfigurasi Anda). Selain itu, jika gkeOnPremAPI.enabled adalah true, region yang sama harus ditetapkan di gkeOnPremAPI.location.

Jika project ID dan region tidak sama, pembuatan cluster akan gagal.

clusterBackup

Jika Anda ingin mengaktifkan pencadangan cluster admin, tetapkan clusterBackup.datastore ke datastore vSphere tempat Anda ingin menyimpan cadangan cluster.

Jika Anda mengaktifkan cluster lanjutan, hapus bagian ini. Mencadangkan cluster admin ke datastore vSphere tidak didukung.

autoRepair

Jika Anda ingin mengaktifkan perbaikan node otomatis untuk cluster admin, tetapkan autoRepair.enabled ke true.

secretsEncryption

Jika Anda ingin mengaktifkan enkripsi Secret yang selalu aktif, isi bagian secretsEncryption.

Jika Anda mengaktifkan cluster lanjutan, tetapkan secretsEncryption.enabled ke false. Enkripsi Secrets yang selalu aktif tidak didukung.

osImageType

Tentukan jenis image OS yang ingin Anda gunakan untuk node cluster admin, dan isi bagian osImageType sesuai kebutuhan.

Jika Anda mengaktifkan cluster lanjutan, tetapkan osImageType ke ubuntu_cgroupv2 atau ubuntu_containerd.

Contoh file konfigurasi yang diisi

Berikut adalah contoh file konfigurasi cluster admin yang terisi. Konfigurasi ini mengaktifkan beberapa, tetapi tidak semua, fitur yang tersedia.

vc-01-admin-cluster.yaml

apiVersion: v1
kind: AdminCluster
name: "gke-admin-01"
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.28.0-gke.1-full.tgz"
vCenter:
  address: "vc01.example"
  datacenter: "vc-01"
  cluster: "vc01-workloads-1"
  resourcePool: "vc-01-pool-1"
  datastore: "vc01-datastore-1"
  caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem""
  credentials:
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"
  vCenter:
    networkName: "vc01-net-1"
  controlPlaneIPBlock:
    netmask: "255.255.248.0"
    gateway: "21.0.143.254"
    ips:
    - ip: "21.0.140.226"
      hostname: "admin-cp-vm-1"
    - ip: "21.0.141.48"
      hostname: "admin-cp-vm-2"
    - ip: "21.0.141.65"
      hostname: "admin-cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.59"
  kind: "MetalLB"
antiAffinityGroups:
  enabled: true
adminMaster:
  cpus: 4
  memoryMB: 16384
  replicas: 3
componentAccessServiceAccountKeyPath: "sa-key.json"
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false
clusterBackup:
  datastore: "vc-01-datastore-bu"
autoRepair:
  enabled: true
osImageType: "ubuntu_containerd"

Memvalidasi file konfigurasi

Setelah Anda mengisi file konfigurasi cluster admin, jalankan gkectl check-config untuk memverifikasi bahwa file tersebut valid:

gkectl check-config --config ADMIN_CLUSTER_CONFIG

Ganti ADMIN_CLUSTER_CONFIG dengan jalur file konfigurasi cluster admin Anda.

Jika perintah menampilkan pesan kegagalan, perbaiki masalahnya dan validasi file lagi.

Jika Anda ingin melewati validasi yang lebih memakan waktu, teruskan flag --fast. Untuk melewati validasi satu per satu, gunakan flag --skip-validation-xxx. Untuk mempelajari perintah check-config lebih lanjut, lihat Menjalankan pemeriksaan pra-penerbangan.

Mendapatkan OS image

Jalankan gkectl prepare untuk melakukan inisialisasi lingkungan vSphere:

gkectl prepare --config ADMIN_CLUSTER_CONFIG

Perintah gkectl prepare melakukan tugas persiapan berikut:

  • Mengimpor image OS ke vSphere dan menandainya sebagai template VM.

  • Jika Anda menggunakan registry Docker pribadi, kirim image container ke registry Anda.

  • Secara opsional, memvalidasi pengesahan build image container, sehingga memverifikasi bahwa image telah dibuat dan ditandatangani oleh Google serta siap untuk di-deploy.

Membuat cluster admin

Buat cluster admin:

gkectl create admin --config ADMIN_CLUSTER_CONFIG

Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan beberapa perintah gkectl, seperti "Validation Category: GCP - [UNKNOWN] GCP service: [Stackdriver] could not get GCP services". Untuk menghindari error ini, tambahkan parameter --skip-validation-gcp ke perintah Anda.

Melanjutkan pembuatan cluster admin setelah kegagalan

Jika pembuatan cluster admin gagal atau dibatalkan, Anda dapat menjalankan perintah create lagi:

gkectl create admin --config ADMIN_CLUSTER_CONFIG

Menemukan file kubeconfig cluster admin

Perintah gkectl create admin akan membuat file kubeconfig bernama kubeconfig di direktori saat ini. Anda akan memerlukan file kubeconfig ini nanti untuk berinteraksi dengan cluster admin.

File kubeconfig berisi nama cluster admin Anda. Untuk melihat nama cluster, Anda dapat menjalankan:

kubectl config get-clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Output menampilkan nama cluster. Contoh:

NAME
gke-admin-tqk8x

Jika ingin, Anda dapat mengubah nama dan lokasi file kubeconfig.

Mengelola file checkpoint.yaml

Bagian ini hanya berlaku untuk cluster admin non-HA. File checkpoint.yaml tidak digunakan untuk pembuatan cluster admin HA.

Saat Anda menjalankan perintah gkectl create admin untuk membuat cluster admin, perintah tersebut akan membuat file checkpoint di folder datastore yang sama dengan disk data cluster admin. Secara default, file ini memiliki nama DATA_DISK_NAME‑checkpoint.yaml. Jika panjang DATA_DISK_NAME lebih besar dari atau sama dengan 245 karakter, maka, karena batas vSphere pada panjang nama file, namanya adalah DATA_DISK_NAME.yaml.

File ini berisi status dan kredensial cluster admin, serta digunakan untuk upgrade mendatang. Jangan hapus file ini kecuali jika Anda mengikuti proses untuk menghapus cluster admin.

Jika telah mengaktifkan enkripsi VM di instance vCenter Server, Anda harus memiliki hak istimewa Cryptographic operations.Direct Access sebelum membuat atau mengupgrade cluster admin. Jika tidak, checkpoint tidak akan diupload. Jika tidak dapat memperoleh hak istimewa ini, Anda dapat menonaktifkan upload file checkpoint menggunakan flag tersembunyi --disable-checkpoint saat menjalankan perintah yang relevan.

File checkpoint.yaml otomatis diperbarui saat Anda menjalankan perintah gkectl upgrade admin, atau saat Anda menjalankan perintah gkectl update yang memengaruhi cluster admin.

Memverifikasi bahwa cluster admin Anda berjalan

Pastikan cluster admin Anda berjalan:

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster admin Anda.

Output menampilkan node cluster admin. Contoh:

admin-cp-vm-1   Ready    control-plane,master   ...
admin-cp-vm-2   Ready    control-plane,master   ...
admin-cp-vm-3   Ready    control-plane,master   ...

Mencadangkan file

Sebaiknya cadangkan file kubeconfig cluster admin Anda. Artinya, salin file kubeconfig dari workstation admin ke lokasi lain. Kemudian, jika Anda kehilangan akses ke workstation admin, atau jika file kubeconfig di workstation admin Anda tidak sengaja dihapus, Anda masih memiliki akses ke cluster admin.

Sebaiknya Anda juga mencadangkan kunci SSH pribadi untuk cluster admin. Kemudian, jika Anda kehilangan akses ke cluster admin, Anda masih dapat menggunakan SSH untuk terhubung ke node cluster admin. Dengan begitu, Anda dapat memecahkan masalah dan menginvestigasi masalah terkait konektivitas ke cluster admin.

Ekstrak kunci SSH dari cluster admin ke file bernama admin-cluster-ssh-key:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get secrets -n kube-system sshkeys \
    -o jsonpath='{.data.vsphere_tmp}' | base64 -d > admin-cluster-ssh-key

Sekarang Anda dapat mencadangkan admin-cluster-ssh-key ke lokasi lain pilihan Anda.

Kebijakan RBAC

Saat Anda mengisi bagian gkeConnect dalam file konfigurasi cluster admin, cluster akan terdaftar ke armada Anda selama pembuatan atau pembaruan. Untuk mengaktifkan fungsi pengelolaan armada, Google Cloud men-deploy agen Connect dan membuat akun layanan Google yang mewakili project tempat cluster didaftarkan. Agen Connect membuat koneksi dengan akun layanan untuk menangani permintaan ke server Kubernetes API cluster. Hal ini memungkinkan akses ke fitur pengelolaan cluster dan beban kerja di Google Cloud, termasuk akses ke Google Cloud konsol, yang memungkinkan Anda berinteraksi dengan cluster.

Server Kubernetes API cluster admin harus dapat memberikan otorisasi permintaan dari agen Connect. Untuk memastikannya, kebijakan kontrol akses berbasis peran (RBAC) berikut dikonfigurasi di akun layanan:

  • Kebijakan peniruan identitas yang memberikan otorisasi kepada agen Connect untuk mengirim permintaan ke server Kubernetes API atas nama akun layanan.

  • Kebijakan izin yang menentukan operasi yang diizinkan di resource Kubernetes lainnya.

Akun layanan dan kebijakan RBAC diperlukan agar Anda dapat mengelola siklus proses cluster pengguna di konsol Google Cloud .

Terraform

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 pra-penerbangan, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap otomatis dihapus setelah cluster admin berhasil dibuat.

Berikut adalah langkah-langkah tingkat tinggi untuk membuat cluster admin menggunakan Terraform:

  1. Isi file konfigurasi Anda.
    Gunakan resource google_gkeonprem_vmware_admin_cluster dan contoh yang mengikuti untuk membuat file konfigurasi main.tf.
  2. Buat cluster bootstrap.
    Jalankan gkectl register bootstrap untuk membuat cluster bootstrap. Saat perintah selesai membuat cluster bootstrap, output akan memberi tahu Anda untuk menyelesaikan konfigurasi cluster admin. Proses ini terus berjalan hingga cluster admin dibuat.
  3. Buat cluster admin.
    Di jendela terminal lain atau di komputer lain yang memiliki akses ke GKE On-Prem API, jalankan perintah terraform untuk membuat cluster admin baru seperti yang ditentukan dalam file konfigurasi main.tf yang telah Anda selesaikan.

Mengisi file konfigurasi

Contoh berikut menunjukkan cara membuat cluster admin ketersediaan tinggi (HA) dengan tiga node kontrol-plane dengan MetalLB. Di versi 1.28 dan yang lebih baru, cluster admin baru harus memiliki ketersediaan tinggi. Karena persyaratan ini, Anda harus menetapkan control_plane_node.replicas ke 3. Untuk informasi selengkapnya dan contoh lainnya, lihat dokumentasi referensi google_gkeonprem_vmware_admin_cluster.

Isi variabel placeholder dalam contoh berikut, lalu salin dan tempel ke main.tf. Jika Anda menggunakan gkeadm untuk membuat workstation admin, buka file konfigurasi workstation admin agar Anda dapat menyalin nilai dari bagian vCenter ke variabel placeholder yang sesuai.

resource "google_gkeonprem_vmware_admin_cluster" "admin-cluster-metallb" {
  provider = google-beta
  name = "ADMIN_CLUSTER_NAME"
  project = "PROJECT_ID"
  location = "REGION"
  description = "DESCRIPTION"
  bootstrap_cluster_membership = "projects/PROJECT_ID/locations/REGION/memberships/bootstrap-ADMIN_CLUSTER_NAME"
  on_prem_version = "VERSION"
  image_type = "IMAGE_TYPE"
  vcenter {
    address = "VCENTER_ADDRESS"
    datacenter = "DATA_CENTER"
    cluster = "VCENTER_CLUSTER"
    resource_pool = "RESOURCE_POOL"
    datastore = "DATASTORE"
    ca_cert_data = "CA_CERT_DATA"
  }
  network_config {
    service_address_cidr_blocks = ["10.96.232.0/24"]
    pod_address_cidr_blocks = ["192.168.0.0/16"]
    vcenter_network = "NETWORK"
    dhcp_ip_config {
      enabled = true
    }
    host_config {
      dns_servers = ["DNS_SERVERS"]
      ntp_servers = ["NTP_SERVERS"]
    }
    ha_control_plane_config {
      control_plane_ip_block {
        gateway = "GATEWAY"
        netmask = "NETMASK"
        ips {
          hostname = "CONTROL_PLANE_HOST_1"
          ip       = "CONTROL_PLANE_NODE_IP_1"
        }
        ips {
          hostname = "CONTROL_PLANE_HOST_2"
          ip       = "CONTROL_PLANE_NODE_IP_2"
        }
        ips {
          hostname = "CONTROL_PLANE_HOST_3"
          ip       = "CONTROL_PLANE_NODE_IP_3"
        }
      }
    }
  }
  control_plane_node {
     cpus = NUM_CPUS
     memory = MEMORY
     replicas = 3
  }
  load_balancer {
    vip_config {
      control_plane_vip = "CONTROL_PLANE_VIP"
    }
    metal_lb_config {
      enabled = true
    }
  }
}

Ganti kode berikut:

  • ADMIN_CLUSTER_NAME: nama untuk cluster admin. Nama memiliki panjang maksimum 20 karakter.

  • PROJECT_ID: Google Cloud project ID.

  • REGION: Google Cloud region tempat GKE On-Prem API (gkeonprem.googleapis.com), layanan Fleet (gkehub.googleapis.com), dan layanan Connect (gkeconnect.googleapis.com) berjalan. Tentukan us-west1 atau wilayah yang didukung lainnya.

    Kolom location sesuai dengan flag --location dalam perintah gkectl register bootstrap.

  • DESCRIPTION: deskripsi cluster admin.

  • VERSION: versi Google Distributed Cloud untuk cluster. Pembuatan cluster menggunakan Terraform hanya didukung pada versi 1.28 dan yang lebih baru. Versi yang Anda tentukan di sini harus cocok dengan versi paket yang Anda tentukan dalam flag --bundle-path dalam perintah gkectl register bootstrap. Untuk mengetahui daftar versi, lihat versi Google Distributed Cloud.

  • IMAGE_TYPE: jenis image OS yang akan dijalankan di node cluster admin Anda. Tentukan salah satu dari berikut ini: "ubuntu_containerd", "cos", "ubuntu_cgv2", atau "cos_cgv2".

  • VCENTER_ADDRESS: Alamat Server vCenter.

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

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

  • DATA_CENTER: nama pusat data vCenter Anda.

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

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

  • VCENTER_CLUSTER: nama cluster vCenter Anda.

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

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

  • RESOURCE_POOL: nama atau jalur kumpulan resource vCenter Anda.

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

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

  • DATASTORE: nama datastore vCenter Anda. Nilai yang Anda tentukan harus berupa nama, bukan jalur. Jika Anda perlu memasukkan jalur, tambahkan kolom berikut: folder = "FOLDER"

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

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

    Jika Anda ingin menggunakan kebijakan penyimpanan VM untuk node cluster, hapus kolom vcenter.datastore dan tambahkan vcenter.storage_policy_name. Selain itu, tambahkan flag --vcenter-storage-policy ke perintah gkectl register bootstrap. Anda harus menentukan nilai untuk vcenter.datastore atau vcenter.storage_policy_name, tetapi tidak keduanya.

  • FOLDER: nama folder vCenter tempat VM cluster Anda akan berada. Jika Anda tidak menggunakan folder, hapus kolom ini.

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

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

  • CA_CERT_DATA: masukkan sertifikat CA vCenter dalam format PEM. Untuk mendapatkan data sertifikat CA:

    1. Jalankan perintah berikut:

      cat CA_CERT_PATH_LOCAL |  tr '\n' '\\n'
      

      Ganti CA_CERT_PATH_LOCAL dengan jalur ke sertifikat CA root untuk Server vCenter Anda. Jika menggunakan gkeadm untuk membuat workstation admin, Anda dapat menggunakan nilai dari kolom caCertPath dalam file konfigurasi workstation admin, yang merupakan jalur di komputer lokal Anda. gkeadm menyalin file sertifikat CA ke workstation admin Anda. Anda harus menentukan jalur workstation admin dalam flag --vcenter-ca-cert-path dalam perintah gkectl register bootstrap.

    2. Salin sertifikat yang dihasilkan dari perintah sebelumnya dan tempelkan ke editor teks. Ganti semua instance karakter garis miring terbalik (\\) menjadi karakter baris baru (\n).

    3. Salin sertifikat yang diubah dan tempelkan ke variabel placeholder CA_CERT_DATA.

  • NETWORK: masukkan nama jaringan vCenter Anda.

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

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

  • GATEWAY: alamat IP gateway default untuk subnet yang memiliki node cluster bidang kontrol Anda.

  • NETMASK: netmask untuk subnet yang memiliki node cluster bidang kontrol Anda.

  • DNS_SERVERS: alamat IP server DNS.

  • NTP_SERVERS: alamat IP server waktu (NTP).

  • Masukkan alamat IP dan secara opsional, nama host untuk tiga node bidang kontrol di bagian control_plane_ip_block.ips. Jika Anda tidak memasukkan nama host, hapus kolom hostname dari konfigurasi.

  • NUM_CPUS : jumlah vCPU untuk setiap node bidang kontrol dalam cluster admin. Minimal 4.

  • MEMORY: jumlah memori mebibyte untuk setiap node bidang kontrol di cluster admin. Harus minimal 8192, tetapi kami menyarankan 16384.

  • CONTROL_PLANE_VIP: alamat IP yang telah Anda pilih untuk dikonfigurasi di load balancer untuk server Kubernetes API cluster admin.

Memverifikasi file konfigurasi dan rencana

Di direktori tempat main.tf berada, jalankan perintah berikut:

  1. Lakukan inisialisasi Terraform:

    terraform init
    

    Terraform menginstal library yang diperlukan, seperti penyedia Google Cloud . Perbaiki error di maint.tf jika perlu.

  2. Buat rencana Terraform:

    terraform plan -out tfplan
    

    Tinjau konfigurasi dan buat perubahan jika diperlukan.

Sebelum menerapkan rencana, Anda harus membuat cluster bootstrap terlebih dahulu seperti yang dijelaskan di bagian berikutnya.

Membuat cluster bootstrap

Saat Anda menjalankan perintah gkectl register bootstrap, perintah ini akan meminta 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 dalam file credential.yaml.

  1. Login ke workstation admin menggunakan SSH.

  2. Lakukan autentikasi dengan Google Cloud CLI:

    gcloud auth login
    
  3. Jalankan perintah berikut untuk membuat cluster bootstrap. Banyak nilai flag yang sama seperti di kolom main.tf. Namun, perhatikan bahwa perintah ini memerlukan nilai tambahan yang harus Anda tentukan dalam variabel placeholder yang disediakan.

    gkectl register bootstrap \
        --target-cluster-name=ADMIN_CLUSTER_NAME \
        --project-id=PROJECT_ID \
        --location=REGION \
        --vcenter-address=VCENTER_ADDRESS \
        --vcenter-datacenter=DATA_CENTER \
        --vcenter-cluster=VCENTER_CLUSTER \
        --vcenter-resource-pool=RESOURCE_POOL \
        --vcenter-datastore=DATASTORE \
        --vcenter-network=NETWORK \
        --vcenter-ca-cert-path=CA_CERT_PATH \
        --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
    

    Ganti kode berikut dengan jalur workstation admin:

    • CA_CERT_PATH: jalur ke root certificate CA untuk Server vCenter Anda.
    • BUNDLE_PATH: jalur ke file paket. Jika Anda menggunakan gkeadm untuk membuat workstation admin, file paket akan berada 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 pemantauan logging.
    • CLOUD_AUDIT_SA_PATH: jalur ke akun layanan logging audit. Jika Anda tidak membuat akun layanan logging audit, tentukan jalur ke file kunci untuk akun layanan pemantauan logging.

    Ubah perintah sesuai kebutuhan untuk flag berikut:

    • Jika Anda menentukan folder di main.tf, tambahkan tanda berikut: --vcenter-folder=FOLDER
    • Jika Anda menentukan kebijakan penyimpanan VM di main.tf, hapus --vcenter-datastore dan tambahkan flag berikut: --vcenter-storage-policy-name=STORAGE_POLICY_NAME

    Jika menambahkan flag, pastikan Anda menambahkan karakter garis miring terbalik lanjutan command line (\).

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

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

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

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 ini akan 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

Membuat cluster admin

Terapkan rencana Terraform untuk membuat cluster admin:

terraform apply "tfplan"

Perlu waktu sekitar 15 menit atau lebih untuk membuat cluster admin. Anda dapat melihat cluster di konsol Google Cloud di halaman cluster GKE.

Konsol

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 pra-penerbangan, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap otomatis dihapus setelah cluster admin berhasil dibuat.

Berikut adalah langkah-langkah tingkat tinggi untuk membuat cluster admin menggunakan konsol:

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

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

  3. Anda akan kembali ke konsol untuk menyelesaikan memasukkan informasi yang diperlukan untuk membuat cluster. Selama pembuatan cluster, perintah gkectl register bootstrap akan menghasilkan 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 berikut, ID project yang dipilih akan ditampilkan dalam perintah gkectl register bootstrap di flag --project-id.

  3. Pastikan Create an admin cluster dipilih.

  4. Klik Berikutnya: Instal lingkungan bootstrap.

Menginstal lingkungan bootstrap

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

Dasar-dasar lingkungan bootstrap

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

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

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

    Setelan ini juga mengontrol region tempat hal 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 flag --bundle-path dalam 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 kolom dapat diubah atau tidak dapat diubah.

  1. Di kolom Address, masukkan alamat Server vCenter.

    • 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 data center vCenter Anda.

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

    • Kolom Datacenter sesuai dengan flag --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 dalam perintah gkectl register bootstrap.

  4. Di kolom Resource pool, masukkan nama atau jalur resource pool 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. Konfigurasikan 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 kolom Storage Policy Name, 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 flag --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 Jaringan sesuai dengan flag --vcenter-network dalam perintah gkectl register bootstrap.

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

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

    • 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 Data sertifikat CA di halaman Dasar-dasar cluster. Jalankan perintah berikut untuk menampilkan sertifikat:

cat CA_CERT_PATH

Ganti CA_CERT_PATH dengan jalur ke sertifikat CA root untuk Server vCenter 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 sehingga Anda siap untuk 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, perintah ini akan meminta 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 dalam 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
    

    Ganti kode berikut dengan jalur workstation admin:

    • BUNDLE_PATH: jalur ke file paket. Jika Anda menggunakan gkeadm untuk membuat workstation admin, file paket akan berada 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 pemantauan logging.
    • CLOUD_AUDIT_SA_PATH: jalur ke akun layanan logging audit. Jika Anda tidak membuat akun layanan logging audit, tentukan jalur ke file kunci untuk akun layanan pemantauan logging.

    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 dalam direktori kerja saat ini.

  3. Gunakan SSH untuk terhubung ke workstation admin Anda.

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

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

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

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

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 ini akan 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 Koneksi dibuat.

    Koneksi ke cluster bootstrap harus dibuat sebelum Anda melanjutkan. Jika koneksi tidak dibuat, periksa argumen yang Anda tentukan ke 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 tindakan 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 Berikutnya: Dasar-dasar cluster untuk mulai mengonfigurasi cluster admin.

Dasar-dasar cluster

  1. Di kolom CA certificate data, salin dan tempel seluruh sertifikat vCenter CA 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 kontrol akses berbasis peran (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 Service and Pod CIDRs, terima nilai default untuk rentang alamat IP Service dan Pod Kubernetes, atau masukkan rentang alamat CIDR yang berbeda.

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

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

  2. Di bagian Host config, tentukan server NTP, server DNS, dan secara opsional 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:

    • Dipaketkan dengan MetalLB: Load balancer MetalLB dipaketkan dengan dan memerlukan lebih sedikit konfigurasi daripada load balancing manual. Komponen MetalLB berjalan di node cluster, 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 VIP bidang kontrol, 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 untuk membuat cluster.

Detail tentang proses pembuatan cluster ditampilkan di workstation admin Anda. Jika pemeriksaan pra-penerbangan lulus, 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 akan membuat file kubeconfig untuk cluster admin di workstation admin Anda. Direktori tempat kubeconfig berada dan nama file didasarkan pada nama cluster admin sebagai berikut:

gkectl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig

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 connect.

    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:

    kubectl get pods -A
    

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

Pemecahan masalah

Lihat Memecahkan masalah pembuatan dan upgrade cluster.

Langkah berikutnya

Membuat cluster pengguna