Ini adalah bagian kedua dari panduan yang memandu Anda dalam melakukan penginstalan kecil bukti konsep GKE di VMware. Bagian pertama adalah Menyiapkan infrastruktur minimal, yang menunjukkan cara merencanakan alamat IP serta menyiapkan infrastruktur vSphere dan Google Cloud yang diperlukan untuk deployment. Dokumen ini dibuat berdasarkan penyiapan dan perencanaan yang Anda lakukan di bagian sebelumnya, serta menunjukkan cara membuat workstation admin, cluster admin, dan cluster pengguna di lingkungan vSphere, menggunakan template sederhana yang dapat Anda isi di sini pada dokumen ini. Kemudian, Anda dapat melanjutkan ke tahap men-deploy aplikasi.
Seperti penyiapan infrastruktur dari penginstalan sederhana ini, cluster yang Anda siapkan menggunakan dokumen ini mungkin tidak cocok dengan kebutuhan produksi dan kasus penggunaan sebenarnya. Untuk mengetahui informasi selengkapnya, praktik terbaik, dan petunjuk penginstalan produksi, lihat panduan penginstalan.
Sebelum memulai
Pastikan Anda telah menyiapkan lingkungan vSphere dan Google Cloud seperti yang dijelaskan dalam artikel Menyiapkan infrastruktur minimal.
Jika ingin menggunakan Terraform untuk membuat cluster pengguna, Anda memerlukan Terraform di workstation admin Anda atau di komputer lain.
Ringkasan prosedur
Berikut adalah langkah-langkah utama yang diperlukan dalam penyiapan ini:
Login ke Google Cloud CLI dengan akun yang memiliki izin yang diperlukan untuk membuat akun layanan.
Kumpulkan informasi yang Anda perlukan untuk mengonfigurasi GKE di VMware, termasuk nama pengguna dan sandi vCenter, serta alamat IP yang Anda siapkan di bagian sebelumnya.
Buat workstation admin dengan resource dan alat yang Anda perlukan untuk membuat cluster admin dan pengguna, termasuk akun layanan tambahan yang Anda perlukan untuk menyelesaikan penyiapan.
Buat cluster admin untuk mengelola dan memperbarui cluster pengguna Anda.
Buat cluster pengguna untuk menjalankan beban kerja Anda.
1. Login ke Google Cloud CLI
Penyiapan GKE di VMware memerlukan beberapa
akun layanan
dengan izin yang berbeda. Meskipun Anda harus
membuat akun layanan akses komponen
secara manual, alat command line gkeadm
dapat membuat dan mengonfigurasi akun
yang tersisa untuk Anda sebagai bagian dari pembuatan workstation admin. Namun, untuk melakukannya, Anda harus login ke Google Cloud CLI dengan akun yang memiliki izin yang diperlukan untuk membuat dan mengonfigurasi akun layanan, karena gkeadm
menggunakan properti account
gcloud CLI Anda saat ini ketika melakukan penyiapan ini.
Login ke gcloud CLI. Anda dapat menggunakan Akun Google apa pun, tetapi akun tersebut harus memiliki izin yang diperlukan. Jika telah mengikuti bagian sebelumnya dari panduan ini, Anda mungkin sudah login dengan akun yang sesuai untuk membuat akun layanan akses komponen.
gcloud auth login
Pastikan properti
account
gcloud CLI ditetapkan dengan benar:gcloud config list
Output menunjukkan nilai properti
account
SDK Anda. Contoh:[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Pastikan Anda sudah menginstal komponen gcloud CLI terbaru:
gcloud components update
Bergantung pada cara penginstalan gcloud CLI, Anda mungkin melihat pesan berikut: "Anda tidak dapat melakukan tindakan ini karena pengelola komponen Google Cloud CLI dinonaktifkan untuk penginstalan ini. Anda dapat menjalankan perintah berikut untuk memperoleh hasil yang sama dengan penginstalan ini:" Ikuti petunjuk untuk menyalin dan menempelkan perintah guna mengupdate komponen.
2. Mengumpulkan informasi
Gunakan informasi yang Anda siapkan dalam Menyiapkan infrastruktur minimal untuk mengedit placeholder dalam tabel berikut:
Detail vSphere | |
---|---|
Nama pengguna akun vCenter Anda | USERNAME |
Sandi akun vCenter Anda | PASSWORD |
Alamat Server vCenter Anda | ADDRESS |
Jalur ke sertifikat CA root untuk Server vCenter Anda, di komputer yang akan digunakan untuk membuat workstation admin | CA_CERT_PATH |
Nama pusat data vSphere Anda | DATA_CENTER |
Nama cluster vSphere Anda | VSPHERE_CLUSTER |
Nama atau jalur kumpulan resource vSphere Anda. Untuk mengetahui informasi selengkapnya, lihat vcenter.resourcePool. | RESOURCE_POOL |
Nama datastore vSphere Anda | DATASTORE |
Nama jaringan vSphere Anda | NETWORK |
Alamat IP | |
Satu alamat IP untuk workstation admin | ADMIN_WS_IP |
Empat alamat IP untuk node cluster admin Anda. Ini mencakup alamat untuk node tambahan yang bisa digunakan selama upgrade dan update. |
ADMIN_NODE_IP_1 ADMIN_NODE_IP_2 ADMIN_NODE_IP_3 ADMIN_NODE_IP_4 |
Alamat IP untuk node bidang kontrol di cluster pengguna. |
USER_CONTROL_PLANE_NODE_IP |
Empat alamat IP untuk node cluster pengguna Anda. Ini mencakup alamat untuk node tambahan yang bisa digunakan selama upgrade dan update. |
USER_NODE_IP_1 USER_NODE_IP_2 USER_NODE_IP_3 USER_NODE_IP_4 |
Alamat IP virtual (VIP) untuk server Kubernetes API cluster admin | ADMIN_CONTROL_PLANE_VIP |
VIP untuk server Kubernetes API cluster pengguna | USER_CONTROL_PLANE_VIP |
VIP Ingress untuk cluster pengguna | USER_INGRESS_VIP |
Dua VIP untuk Layanan dari jenis LoadBalancer di cluster pengguna Anda. |
SERVICE_VIP_1 SERVICE_VIP_2 |
Alamat IP server DNS yang dapat dijangkau dari workstation admin dan node cluster Anda | DNS_SERVER_IP |
Alamat IP server NTP yang dapat dijangkau dari workstation admin dan node cluster Anda | NTP_SERVER_IP |
Alamat IP gateway default untuk subnet yang memiliki workstation admin dan node cluster Anda | DEFAULT_GATEWAY_IP |
Netmask untuk subnet yang memiliki workstation admin dan node
cluster Contoh: 255.255.255.0 |
NETMASK |
Jika jaringan Anda berada di belakang server proxy, berarti URL server proxy tersebut. Untuk mengetahui informasi lebih lanjut, lihat proxy. Isi secara manual di file konfigurasi workstation admin Anda jika diperlukan. | PROXY_URL |
Rentang CIDR untuk Layanan dan Pod | |
Cluster admin dan cluster pengguna masing-masing memerlukan rentang CIDR untuk Layanan dan rentang CIDR untuk Pod. Gunakan nilai yang telah terisi otomatis berikut, kecuali jika Anda perlu mengubahnya untuk menghindari tumpang-tindih dengan elemen lain di jaringan Anda: | |
Rentang CIDR untuk Layanan di cluster admin | 10.96.232.0/24 |
Rentang CIDR untuk Pod di cluster admin | 192.168.0.0/16 |
Rentang CIDR untuk Layanan di cluster pengguna | 10.96.0.0/20 |
Rentang CIDR untuk Pod di cluster pengguna | 192.168.0.0/16 |
Detail Google Cloud | |
ID project Cloud pilihan Anda | PROJECT_ID |
Jalur ke file kunci JSON untuk akun layanan akses komponen yang Anda siapkan di bagian sebelumnya, pada komputer yang akan digunakan untuk membuat cluster admin. | COMPONENT_ACCESS_SA_KEY_PATH |
Alamat email yang terkait dengan akun Google Cloud Anda. Misalnya: alex@example.com . |
GOOGLE_ACCOUNT_EMAIL |
3. Membuat workstation admin
Sebelum dapat membuat cluster, Anda harus membuat workstation admin, lalu menghubungkannya menggunakan SSH. Workstation admin adalah VM mandiri dengan alat dan resource yang diperlukan untuk membuat cluster GKE Enterprise di lingkungan vSphere Anda. Anda menggunakan alat command line gkeadm
untuk membuat
workstation admin.
Download gkeadm
Download gkeadm
ke direktori Anda saat ini:
gsutil cp gs://gke-on-prem-release/gkeadm/1.16.6-gke.40/linux/gkeadm ./ chmod +x gkeadm
Anda memerlukan versi gkeadm
(yang juga merupakan versi GKE di VMware)
untuk membuat file konfigurasi cluster pengguna dan admin. Untuk memeriksa versi
gkeadm
, jalankan perintah berikut:
./gkeadm version
Contoh output berikut menunjukkan versi.
gkeadm 1.16.7 (1.16.6-gke.40)
Meskipun Anda dapat
mendownload gkeadm
versi lain,
panduan ini mengasumsikan bahwa Anda menginstal 1.16.6-gke.40,
dan menggunakan versi tersebut di semua perintah dan file konfigurasi.
Membuat file kredensial
Buat dan simpan file bernama credential.yaml
di direktori Anda saat ini yang berisi kode berikut:
apiVersion: v1 kind: CredentialFile items: - name: vCenter username: "USERNAME" password: "PASSWORD"
Membuat file konfigurasi workstation admin
Buat dan simpan file bernama admin-ws-config.yaml
, sekali lagi di direktori Anda saat ini, dengan konten berikut:
gcp: componentAccessServiceAccountKeyPath: "COMPONENT_ACCESS_SA_KEY_PATH" vCenter: credentials: address: "ADDRESS" fileRef: path: "credential.yaml" entry: "vCenter" datacenter: "DATA_CENTER" datastore: "DATASTORE" cluster: "VSPHERE_CLUSTER" network: "NETWORK" resourcePool: "RESOURCE_POOL" caCertPath: "CA_CERT_PATH" proxyUrl: "" adminWorkstation: name: "minimal-installation-admin-workstation" cpus: 4 memoryMB: 8192 diskGB: 50 dataDiskName: gke-on-prem-admin-workstation-data-disk/minimal-installation-data-disk.vmdk dataDiskMB: 512 network: ipAllocationMode: "static" hostConfig: ip: "ADMIN_WS_IP" gateway: "DEFAULT_GATEWAY_IP" netmask: "NETMASK" dns: - "DNS_SERVER_IP" proxyUrl: "" ntpServer: ntp.ubuntu.com
Membuat workstation admin
Buat workstation admin menggunakan perintah berikut:
./gkeadm create admin-workstation --auto-create-service-accounts
Dengan menjalankan perintah ini:
- Membuat workstation admin
- Membuat akun layanan tambahan yang diperlukan untuk penginstalan secara otomatis
- Membuat file konfigurasi template untuk cluster pengguna dan admin Anda
Output-nya memberikan informasi mendetail tentang pembuatan workstation admin dan perintah yang dapat Anda gunakan untuk mendapatkan koneksi SSH ke workstation admin:
... Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49 ********************************************************************
Untuk mengetahui informasi selengkapnya tentang cara membuat workstation admin, lihat Membuat workstation admin.
Menghubungkan ke workstation admin
Gunakan perintah yang ditampilkan dalam output sebelumnya untuk mendapatkan koneksi SSH ke workstation admin Anda. Contoh:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
Jika Anda perlu menemukan perintah ini lagi, gkeadm
akan menghasilkan file bernama gke-admin-ws-...
di direktori pada komputer lokal tempat Anda menjalankan gkeadm create admin-workstation
.
File ini berisi detail tentang workstation admin Anda, termasuk perintah SSH.
Lihat file yang dibuat
Di workstation admin, cantumkan file di direktori utama:
ls -1
Output harus mencakup:
admin-cluster.yaml
, file konfigurasi template untuk membuat cluster admin.user-cluster.yaml
, file konfigurasi template untuk membuat cluster pengguna Anda.- File sertifikat vCenter yang Anda tentukan di konfigurasi workstation admin
- File
credential.yaml
yang Anda tentukan di konfigurasi workstation admin. - File kunci JSON untuk dua akun layanan yang dibuat
gkeadm
untuk Anda: akun layanan koneksi-daftar dan akun layanan pemantauan logging, serta file kunci untuk akun layanan akses komponen yang Anda buat sebelumnya.
Contoh:
admin-cluster.yaml admin-ws-config.yaml sa-key.json connect-register-sa-2203040617.json credential.yaml log-mon-sa-2203040617.json logs vc01-cert.pem user-cluster.yaml
Anda harus menentukan beberapa nama file ini di file konfigurasi untuk membuat cluster. Gunakan nama file sebagai nilai untuk placeholder dalam tabel berikut:
Hubungkan nama file kunci akun layanan Contoh: connect-register-sa-2203040617.json |
CONNECT_REGISTER_SA_KEY_PATH |
Nama file kunci akun layanan pemantauan logging Contoh: log-mon-sa-2203040617.json |
LOG_MON_SA_KEY_PATH |
Nama file kunci akun layanan akses komponen Contoh: sa-key.json |
COMPONENT_ACCESS_SA_KEY_FILE |
Nama file sertifikat vCenter Contoh: vc01-cert.pem |
CA_CERT_FILE |
4. Membuat cluster admin
Setelah memiliki workstation admin yang dikonfigurasi dengan vCenter dan detail lainnya, Anda dapat menggunakannya untuk membuat cluster admin di lingkungan vSphere. Pastikan Anda memiliki koneksi SSH ke workstation admin, seperti yang dijelaskan sebelumnya, sebelum memulai langkah ini. Semua perintah berikut dijalankan di workstation admin.
Membuat file blok IP cluster admin
Buat dan simpan file bernama admin-ipblock.yaml
di direktori yang sama dengan admin-cluster.yaml
di workstation admin Anda, dengan konten berikut:
blocks: - netmask: "NETMASK" gateway: "DEFAULT_GATEWAY_IP" ips: - ip: "ADMIN_NODE_IP_1" hostname: "admin-vm-1" - ip: "ADMIN_NODE_IP_2" hostname: "admin-vm-2" - ip: "ADMIN_NODE_IP_3" hostname: "admin-vm-3" - ip: "ADMIN_NODE_IP_4" hostname: "admin-vm-4"
Kolom ips
adalah array alamat IP dan nama host. Ini adalah alamat
IP dan nama host yang akan ditetapkan GKE di VMware ke
node cluster admin Anda.
File blok IP juga menentukan subnet mask dan gateway default untuk node cluster admin.
Membuat file konfigurasi cluster admin
Buka admin-cluster.yaml
dan ganti konten dengan kode berikut:
apiVersion: v1 kind: AdminCluster name: "minimal-installation-admin-cluster" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.16.6-gke.40-full.tgz" vCenter: address: "ADDRESS" datacenter: "DATA_CENTER" cluster: "VSPHERE_CLUSTER" resourcePool: "RESOURCE_POOL" datastore: "DATASTORE" caCertPath: "CA_CERT_FILE" credentials: fileRef: path: "credential.yaml" entry: "vCenter" dataDisk: "data-disks/minimal-installation-admin-disk.vmdk" network: hostConfig: dnsServers: - "DNS_SERVER_IP" ntpServers: - "NTP_SERVER_IP" ipMode: type: "static" ipBlockFilePath: admin-ipblock.yaml serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "NETWORK" loadBalancer: vips: controlPlaneVIP: "ADMIN_CONTROL_PLANE_VIP" kind: "MetalLB" antiAffinityGroups: enabled: false componentAccessServiceAccountKeyPath: "COMPONENT_ACCESS_SA_KEY_FILE" gkeConnect: projectID: "PROJECT_ID" registerServiceAccountKeyPath: "CONNECT_REGISTER_SA_KEY_PATH" stackdriver: projectID: "PROJECT_ID" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "LOG_MON_SA_KEY_PATH" disableVsphereResourceMetrics: false
Memvalidasi file konfigurasi cluster admin
Pastikan file konfigurasi cluster admin Anda valid dan dapat digunakan untuk pembuatan cluster:
gkectl check-config --config admin-cluster.yaml
Mengimpor image OS ke vSphere
Jalankan gkectl prepare
dengan file konfigurasi yang sudah selesai untuk mengimpor image OS node ke vSphere:
gkectl prepare --config admin-cluster.yaml --skip-validation-all
Menjalankan perintah ini akan mengimpor image ke vSphere dan menandainya sebagai template VM, termasuk image untuk cluster admin Anda.
Perintah ini memerlukan waktu beberapa menit untuk ditampilkan.
Membuat cluster admin
Buat cluster admin:
gkectl create admin --config admin-cluster.yaml
Lanjutkan pembuatan cluster admin setelah kegagalan
Jika pembuatan cluster admin gagal atau dibatalkan, Anda dapat menjalankan perintah create
lagi:
gkectl create admin --config admin-cluster.yaml
Menemukan file kubeconfig cluster admin
Perintah gkectl create admin
membuat file kubeconfig bernama kubeconfig
di direktori saat ini. Anda akan memerlukan file kubeconfig ini
nanti untuk berinteraksi dengan cluster admin.
Memastikan cluster admin Anda berjalan
Pastikan cluster admin Anda berjalan:
kubectl get nodes --kubeconfig kubeconfig
Output menunjukkan node cluster admin. Contoh:
gke-admin-master-hdn4z Ready control-plane,master ... gke-admin-node-7f46cc8c47-g7w2c Ready ... gke-admin-node-7f46cc8c47-kwlrs Ready ...
Aktifkan otorisasi RBAC
Untuk memberi akun pengguna Anda peran clusterrole/cluster-admin
Kubernetes di cluster, jalankan perintah berikut:
gcloud container fleet memberships generate-gateway-rbac \ --membership=minimal-installation-admin-cluster \ --role=clusterrole/cluster-admin \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=PROJECT_ID \ --kubeconfig=kubeconfig \ --context=minimal-installation-admin-cluster \ --apply
Output perintah ini mirip dengan berikut ini, yang dipotong agar mudah dibaca:
Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: kubeconfig, context: minimal-installation-admin-cluster Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.
Di antara fitur lainnya, kebijakan RBAC memungkinkan Anda login ke cluster di Konsol Google Cloud menggunakan Google Identity Anda untuk melihat detail cluster selengkapnya.
Pendaftaran otomatis di GKE On-Prem API
Karena GKE On-Prem API diaktifkan di project Anda, cluster akan otomatis didaftarkan di GKE On-Prem API. Dengan mendaftarkan cluster admin di GKE On-Prem API, Anda dapat menggunakan alat standar, yaitu Google Cloud Console, Google Cloud CLI, atau Terraform, untuk membuat, mengupgrade, memperbarui, dan menghapus cluster pengguna yang dikelola oleh cluster admin. Dengan mendaftarkan cluster, Anda juga dapat menjalankan perintah gcloud
untuk mendapatkan informasi tentang cluster Anda.
5. Membuat cluster pengguna
Bagian ini menjelaskan langkah-langkah untuk membuat cluster pengguna menggunakan konsol, gkectl
, Terraform, atau gcloud CLI.
gkectl
Pastikan Anda memiliki koneksi SSH ke workstation admin, seperti yang dijelaskan sebelumnya, sebelum memulai prosedur ini. Semua perintah berikut dijalankan di workstation admin.
Membuat file blok IP cluster pengguna
Buat file bernama
user-ipblock.yaml
.Salin dan tempel konten berikut ke
user-ipblock.yaml
dan simpan file tersebut:blocks: - netmask: "NETMASK" gateway: "DEFAULT_GATEWAY_IP" ips: - ip: "USER_NODE_IP_1" hostname: "user-vm-1" - ip: "USER_NODE_IP_2" hostname: "user-vm-2" - ip: "USER_NODE_IP_3" hostname: "user-vm-3" - ip: "USER_NODE_IP_4" hostname: "user-vm-4"
Membuat file konfigurasi cluster pengguna
Buat file bernama
user-cluster.yaml
dalam direktori yang sama denganuser-ipblock.yaml
.Salin dan tempel konten berikut ke
user-cluster.yaml
dan simpan file tersebut:
apiVersion: v1 kind: UserCluster name: "minimal-installation-user-cluster" gkeOnPremVersion: "1.16.6-gke.40" enableControlplaneV2: true network: hostConfig: dnsServers: - "DNS_SERVER_IP" ntpServers: - "NTP_SERVER_IP" ipMode: type: "static" ipBlockFilePath: "user-ipblock.yaml" serviceCIDR: "10.96.0.0/20" podCIDR: "192.168.0.0/16" controlPlaneIPBlock: netmask: "NETMASK" gateway: "DEFAULT_GATEWAY_IP" ips: - ip: "USER_CONTROL_PLANE_NODE_IP" hostname: "cp-vm-1" loadBalancer: vips: controlPlaneVIP: "USER_CONTROL_PLANE_VIP" ingressVIP: "USER_INGRESS_VIP" kind: "MetalLB" metalLB: addressPools: - name: "uc-address-pool" addresses: - "USER_INGRESS_VIP/32" - "SERVICE_VIP_1/32" - "SERVICE_VIP_2/32" enableDataplaneV2: true nodePools: - name: "uc-node-pool" cpus: 4 memoryMB: 8192 replicas: 3 enableLoadBalancer: true antiAffinityGroups: enabled: false gkeConnect: projectID: "PROJECT_ID" registerServiceAccountKeyPath: "CONNECT_REGISTER_SA_KEY_PATH" stackdriver: projectID: "PROJECT_ID" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "LOG_MON_SA_KEY_PATH" disableVsphereResourceMetrics: false autoRepair: enabled: true
Memvalidasi konfigurasi dan membuat cluster
Pastikan file konfigurasi cluster pengguna Anda valid dan dapat digunakan untuk pembuatan cluster:
gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
Buat cluster pengguna:
gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
Pembuatan cluster memerlukan waktu sekitar 30 menit.
Menemukan file kubeconfig cluster pengguna
Perintah gkectl create cluster
membuat file kubeconfig bernama USER_CLUSTER_NAME-kubeconfig
di direktori saat ini. Anda akan memerlukan file
kubeconfig ini nanti untuk berinteraksi dengan cluster pengguna.
Memastikan cluster pengguna berjalan
Pastikan cluster pengguna Anda berjalan:
kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG
Ganti USER_CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster pengguna Anda.
Output menunjukkan node cluster pengguna. Contoh:
cp-vm-1 Ready control-plane,master user-vm-1 Ready user-vm-2 Ready user-vm-3 Ready
Aktifkan otorisasi RBAC
Untuk memberi akun pengguna Anda peran clusterrole/cluster-admin
Kubernetes di cluster, jalankan perintah berikut:
gcloud container fleet memberships generate-gateway-rbac \ --membership=minimal-installation-user-cluster \ --role=clusterrole/cluster-admin \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=PROJECT_ID \ --kubeconfig=USER_CLUSTER_KUBECONFIG \ --context=minimal-installation-user-cluster \ --apply
Output perintah ini mirip dengan berikut ini, yang dipotong agar mudah dibaca:
Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: kubeconfig, context: minimal-installation-admin-cluster Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.
Di antara fitur lainnya, kebijakan RBAC memungkinkan Anda login ke cluster di Konsol Google Cloud menggunakan Google Identity Anda untuk melihat detail cluster selengkapnya.
Pendaftaran otomatis di GKE On-Prem API
Karena GKE On-Prem API diaktifkan di project Anda, cluster akan otomatis didaftarkan di GKE On-Prem API. Dengan begitu, Anda dapat menggunakan konsol atau gcloud CLI untuk melihat detail cluster dan mengelola siklus proses cluster. Misalnya, Anda dapat menjalankan perintah gcloud
untuk mendapatkan informasi tentang cluster pengguna Anda.
Konsol
Di konsol Google Cloud, buka halaman Create a GKE on VMware cluster.
Pilih project Google Cloud tempat Anda ingin membuat cluster. Project yang dipilih juga digunakan sebagai project host fleet. Project ini harus sama dengan tempat cluster admin terdaftar. Setelah dibuat, cluster pengguna akan otomatis didaftarkan ke fleet project yang dipilih.
Bagian berikut akan memandu Anda dalam mengonfigurasi cluster pengguna.
Prasyarat
Pahami informasi yang ada di halaman Prasyarat.
Di bagian bawah halaman, klik Berikutnya.
Dasar-dasar cluster
Untuk Name, masukkan nama cluster pengguna: misalnya,
minimal-installation-user-cluster
.Untuk Admin cluster, pilih minimal-installation-admin-cluster.
Untuk kolom GCP API Location, pilih us-central1.
Untuk Version, pilih 1.16.6-gke.40.
Anda tidak perlu membuka bagian Otorisasi atau bagian konfigurasi vCenter.
Klik Next.
Bidang Kontrol
Di bagian Control bidang node IPs, untuk Gateway, masukkan DEFAULT_GATEWAY_IP.
Untuk Subnet mask, masukkan NETMASK.
Di bagian IP addresses, untuk IP address 1, masukkan USER_CONTROL_PLANE_NODE_IP. Biarkan Hostname 1 kosong.
Klik Next.
Networking
Di bagian ini, Anda akan menentukan alamat IP untuk node, Pod, dan Layanan cluster. Cluster pengguna harus memiliki satu alamat IP untuk setiap node dan alamat IP tambahan untuk node sementara yang diperlukan selama upgrade cluster, update, dan perbaikan otomatis. Untuk mengetahui informasi selengkapnya, lihat Berapa banyak alamat IP yang diperlukan cluster pengguna?.
Di bagian IP node pekerja, untuk mode IP, pastikan Static dipilih.
Untuk Gateway, masukkan DEFAULT_GATEWAY_IP.
Untuk Subnet mask, masukkan NETMASK.
Pada Alamat IP, masukkan alamat berikut:
- USER_NODE_IP_1
- USER_NODE_IP_2
- USER_NODE_IP_3
- USER_NODE_IP_4
Biarkan kolom Hostname kosong.
Untuk Service CIDR, masukkan 10.96.0.0/20. Untuk Pod CIDR, masukkan 192.168.0.0/16.
Untuk DNS Server 1, masukkan DNS_SERVER_IP.
Untuk NTP Server 1, masukkan NTP_SERVER_IP.
Biarkan DNS search domain kosong.
Klik Next.
Load balancer
Untuk Load balancer type, pilih Bundled with MetalLB.
Di bagian Address pool, gunakan nama default.
Di bagian IP addresses, untuk IP address range 1, masukkan USER_INGRESS_VIP/32.
Klik Tambahkan rentang alamat IP. Untuk rentang alamat IP 1, masukkan SERVICE_VIP_1/32
Klik Tambahkan rentang alamat IP. Untuk rentang alamat IP 2, masukkan SERVICE_VIP_2/32
Untuk Penetapan alamat IP, pilih Otomatis.
Biarkan Hindari alamat IP yang berisi bug tidak dicentang.
Di bagian Virtual IPs, untuk Control bidang VIP, masukkan USER_CONTROL_PLANE_VIP. VIP Ingress sudah diisi.
Klik Lanjutkan.
Fitur
Biarkan semua nilai default.
Klik Next.
Kumpulan node
Biarkan semua nilai default.
Klik Verifikasi dan Selesaikan untuk membuat cluster pengguna. Perlu waktu 15 menit atau lebih untuk membuat cluster pengguna. Konsol menampilkan pesan status saat memverifikasi setelan dan membuat cluster di pusat data Anda.
Jika terjadi error saat memverifikasi setelan, konsol akan menampilkan pesan error yang seharusnya cukup jelas agar Anda dapat memperbaiki masalah konfigurasi, lalu mencoba membuat cluster lagi.
Untuk mengetahui informasi selengkapnya tentang kemungkinan error dan cara memperbaikinya, lihat Memecahkan masalah pembuatan cluster pengguna di Konsol Google Cloud.
Terraform
Bagian ini menunjukkan cara membuat cluster pengguna dan kumpulan node menggunakan Terraform. Untuk informasi selengkapnya dan contoh lainnya, lihat referensi berikut:
Membuat direktori dan file baru dalam direktori tersebut. Nama file harus memiliki ekstensi
.tf
. Dalam panduan ini, file tersebut disebutmain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Verifikasi resource Terraform cluster pengguna:
Contoh resource Terraform berikut diisi dengan nilai yang Anda masukkan dalam tabel perencanaan di bagian sebelumnya.
resource "google_gkeonprem_vmware_cluster" "cluster-basic" { name = "minimal-installation-user-cluster" project = "PROJECT_ID" location = "us-central1" admin_cluster_membership = "projects/PROJECT_ID/locations/global/memberships/minimal-installation-admin-cluster" description = "User cluster config with MetalLB, static IPs, and Controlplane V2" enable_control_plane_v2 = "true" on_prem_version = "1.16.6-gke.40" control_plane_node { cpus = 4 memory = 8192 replicas = 1 } network_config { service_address_cidr_blocks = ["10.96.0.0/20"] pod_address_cidr_blocks = ["192.168.0.0/16"] host_config { dns_servers = ["DNS_SERVER_IP"] ntp_servers = ["NTP_SERVER_IP"] } static_ip_config { ip_blocks { netmask = "NETMASK" gateway = "DEFAULT_GATEWAY_IP" ips { ip = "USER_NODE_IP_1" hostname = "user-vm-1" } ips { ip = "USER_NODE_IP_2" hostname = "user-vm-2" } ips { ip = "USER_NODE_IP_3" hostname = "user-vm-3" } ips { ip = "USER_NODE_IP_4" hostname = "user-vm-4" } } } control_plane_v2_config { control_plane_ip_block { netmask = "NETMASK" gateway = "DEFAULT_GATEWAY_IP" ips { ip = "USER_CONTROL_PLANE_NODE_IP" hostname = "cp-vm-1" } } } } load_balancer { vip_config { control_plane_vip = "USER_CONTROL_PLANE_VIP" ingress_vip = "USER_INGRESS_VIP" } metal_lb_config { address_pools { pool = "uc-address-pool" manual_assign = "true" addresses = ["USER_INGRESS_VIP/32", "SERVICE_VIP_1/32", "SERVICE_VIP_2/32"] } } } authorization { admin_users { username = "GOOGLE_ACCOUNT_EMAIL" } } provider = google-beta } resource "google_gkeonprem_vmware_node_pool" "my-node-pool-1" { name = "uc-node-pool" project = "PROJECT_ID" vmware_cluster = "minimal-installation-user-cluster" location = "us-central1" config { replicas = 3 image_type = "ubuntu_containerd" enable_load_balancer = "true" } depends_on = [ google_gkeonprem_vmware_cluster.cluster-basic ] provider = google-beta }
Salin resource Terraform ke
main.tf
dan simpan file tersebut.Lakukan inisialisasi dan buat paket Terraform:
terraform init
Terraform menginstal semua library yang diperlukan, seperti penyedia Google Cloud.
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan paket Terraform untuk membuat cluster pengguna:
terraform apply
Saat diminta, masukkan
yes
.Perlu waktu sekitar 15 menit (atau lebih bergantung pada jaringan Anda) untuk membuat cluster pengguna dan kumpulan node dasar.
gcloud
Membuat cluster:
gcloud container vmware clusters create minimal-installation-user-cluster \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/minimal-installation-admin-cluster \ --location=us-central1 \ --version=1.16.6-gke.40 \ --admin-users=GOOGLE_ACCOUNT_EMAIL \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --metal-lb-config-address-pools='pool=uc-address-pool,avoid-buggy-ips=False,manual-assign=False,addresses=USER_INGRESS_VIP/32;SERVICE_VIP_1/32;SERVICE_VIP_2/32' \ --control-plane-vip=USER_CONTROL_PLANE_VIP \ --ingress-vip=USER_INGRESS_VIP \ --static-ip-config-ip-blocks='gateway=DEFAULT_GATEWAY_IP,netmask=NETMASK,ips=USER_NODE_IP_1;USER_NODE_IP_2;USER_NODE_IP_3;USER_NODE_IP_4' \ --dns-servers=DNS_SERVER_IP \ --ntp-servers=NTP_SERVER_IP \ --enable-control-plane-v2 \ --enable-dataplane-v2 \ --control-plane-ip-block='gateway=DEFAULT_GATEWAY_IP,netmask=NETMASK,ips=USER_CONTROL_PLANE_NODE_IP'
Output dari perintah ini mirip dengan berikut ini:
Waiting for operation [projects/example-project-12345/locations/us-central1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dalam contoh output, string operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
adalah OPERATION_ID
dari operasi yang berjalan lama. Anda dapat mengetahui status operasi dengan perintah berikut:
gcloud container vmware operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=us-central1
Untuk mengetahui informasi selengkapnya, baca artikel gcloud container vmware operations.
Perlu waktu 15 menit atau lebih untuk membuat cluster pengguna. Anda dapat melihat cluster tersebut di Konsol Google Cloud di halaman Cluster Anthos.
Buat kumpulan node:
gcloud container vmware node-pools create uc-node-pool \ --cluster=minimal-installation-user-cluster \ --project=PROJECT_ID \ --location=us-central1 \ --image-type=ubuntu_containerd \ --boot-disk-size=40 \ --cpus=4 \ --memory=8192 \ --replicas=3 \ --enable-load-balancer
Langkah selanjutnya
Anda kini telah menyelesaikan penginstalan minimal GKE di VMware ini. Sebagai tindak lanjut opsional, Anda dapat melihat cara kerja penginstalan dengan men-deploy aplikasi.