Di Google Distributed Cloud, workload Anda dijalankan di satu atau beberapa cluster pengguna. Ini dokumen yang menunjukkan cara membuat cluster pengguna. Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contohnya yang kami rujuk dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise yang umum.
Ada beberapa alat yang dapat Anda gunakan untuk membuat cluster pengguna:
gkectl
- Konsol Google Cloud
Google Cloud CLI
- Terraform
Tiga alat ini (konsol, gcloud CLI, dan Terraform) adalah klien dari API On-Prem GKE.
Untuk panduan mengenai alat mana yang mungkin ingin Anda gunakan, lihat Memilih alat untuk mengelola siklus proses cluster.
Sebelum memulai
Jika belum melakukannya, siapkan resource Google Cloud Anda sebagai yang dijelaskan dalam dokumen ini:
Saat Anda menyiapkan project host perangkat, ingatlah pilihan alat Anda, karena jika Anda telah memilih salah satu Anda dapat mengaktifkan klien GKE On-Prem API. Untuk mengetahui daftar API, lihat Aktifkan API di project host fleet Anda.
Sebelum membuat cluster pengguna, Anda harus memiliki cluster admin untuk mengelola cluster pengguna. Jika Anda belum melakukannya, buat workstation admin dan cluster admin.
Tentukan versi cluster pengguna yang ingin Anda instal. Jika Anda membuat cluster pengguna, Anda biasanya menginstal versi yang cocok versi cluster admin. Tapi Anda dapat menginstal {i>patch<i} yang lebih baru serta pada versi 1.28 dan yang lebih baru, cluster pengguna dapat berisi hingga 2 cluster minor. versi yang lebih tinggi dari cluster adminnya.
Sebaiknya aktifkan Controlplane V2. Ketika Pesawat Kontrol V2 diaktifkan, bidang kontrol untuk cluster pengguna berjalan di satu atau beberapa node di cluster pengguna itu sendiri. Jika Anda berencana menginstal versi 1.30 atau yang lebih tinggi versi terakhir, Controlplane V2 diperlukan. Alternatifnya adalah dengan membuat pengguna yang menggunakan kubeception. Dalam kasus kubeception, bidang kontrol untuk cluster pengguna berjalan pada satu atau beberapa node di cluster admin.
Ulas Dokumen perencanaan alamat IP, dan pastikan Anda menyediakan alamat IP yang cukup.
Meninjau ringkasan load balancing dan kunjungi kembali keputusan Anda tentang jenis load balancer yang ingin digunakan. Anda dapat menggunakan load balancer MetalLB yang dipaketkan, atau mengonfigurasi load balancer pilihan Anda. Untuk load balancing manual, Anda harus menyiapkan load balancer sebelum membuat cluster pengguna.
Pikirkan tentang berapa banyak kumpulan node yang Anda perlukan dan sistem operasi yang ingin dijalankan di setiap kumpulan Anda.
Pikirkan apakah Anda ingin menggunakan Cluster vSphere untuk cluster admin dan cluster pengguna, dan apakah Anda ingin menggunakan jaringan pusat data. Juga pikirkan apakah Anda ingin menggunakan contoh yang terpisah dari Server vCenter.
Pada versi 1.29 dan yang lebih tinggi, pemeriksaan preflight sisi server diaktifkan oleh secara default. Pemeriksaan preflight sisi server memerlukan aturan firewall tambahan. Di beberapa Aturan firewall untuk cluster admin, telusuri "Pemeriksaan preflight" dan memastikan semua aturan {i>firewall<i} yang diperlukan dikonfigurasi.
Dengan pemeriksaan preflight sisi server, saat Anda membuat cluster pengguna menggunakan
gkectl
, pemeriksaan preflight dijalankan di cluster admin, bukan di secara lokal di workstation admin. Pemeriksaan preflight sisi server juga dijalankan jika Anda menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform untuk membuat cluster pengguna.
Membuat cluster pengguna
Gkectl
Ringkasan prosedur
Berikut adalah langkah utama yang diperlukan dalam penggunaan gkectl
untuk membuat cluster pengguna:
- Menghubungkan ke workstation admin
- Workstation admin adalah mesin yang memiliki alat yang diperlukan untuk membuat cluster pengguna.
- Mengisi file konfigurasi Anda
- Tentukan detail untuk cluster baru Anda dengan melengkapi cluster pengguna file konfigurasi, file konfigurasi kredensial, dan mungkin blok IP .
- (Opsional) Impor OS image ke vSphere, dan kirim image container ke registry pribadi jika berlaku.
- Jalankan
gkectl prepare
.
- Membuat cluster pengguna
- Jalankan
gkectl create cluster
untuk membuat cluster seperti yang ditentukan di file konfigurasi.
- Memastikan cluster pengguna Anda sudah berjalan
- Gunakan
kubectl
untuk melihat node cluster Anda.
Di akhir prosedur ini, Anda akan memiliki cluster pengguna yang berjalan di mana Anda dapat men-deploy workload Anda.
Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan
Perintah gkectl
, seperti "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Untuk menghindari kesalahan ini, tambahkan
parameter --skip-validation-gcp
ke perintah Anda.
Mengisi file konfigurasi Anda
Lakukan langkah-langkah ini di workstation admin Anda.
Saat gkeadm
membuat workstation admin Anda, workstation tersebut membuat file konfigurasi
bernama user-cluster.yaml
. File konfigurasi ini digunakan untuk membuat
.
Pahami file konfigurasi dengan memindai file konfigurasi cluster pengguna dokumen. Anda mungkin ingin menyimpan dokumen ini terbuka di tab atau jendela terpisah, karena Anda akan menjadikannya referensi saat menyelesaikan langkah-langkah berikut.
name
Setel
name
menjadi nama pilihan Anda untuk cluster pengguna.
gkeOnPremVersion
Kolom ini sudah diisi untuk Anda. File ini menentukan versi
Google Distributed Cloud. Misalnya, 1.30.0-gke.1930
.
enableControlplaneV2
Untuk membuat cluster pengguna yang mengaktifkan Controlplane V2, setel
enableControlplaneV2
ke true
.
Ketika Controlplane V2 diaktifkan, bidang kontrol untuk cluster pengguna akan berjalan di dalam cluster pengguna itu sendiri. Sebaiknya aktifkan Pesawat Kontrol V2.
kubeception
Jika Anda menetapkan kolom ini ke false
, cluster akan menggunakan
kubecetption.
Dengan kubeception, bidang kontrol untuk cluster pengguna berjalan pada node di
ke cluster admin.
Untuk cluster kubeception:
Tetapkan
enableControlplaneV2
kefalse
.Jangan isi bagian
controlPlaneIPBlock
.Tentukan alamat IP untuk node bidang kontrol dari cluster pengguna di File blok IP cluster admin.
enableDataplaneV2
Setel
enableDataplaneV2
ke true
.
vCenter
Nilai yang Anda tetapkan di bagian vCenter
pada
file konfigurasi cluster admin
bersifat global. Artinya, setelan tersebut berlaku untuk cluster admin Anda dan pengguna terkaitnya
klaster.
Untuk setiap cluster pengguna yang Anda buat, Anda memiliki opsi untuk mengganti beberapa
nilai vCenter
global.
Untuk mengganti salah satu nilai vCenter
global, isi kolom yang relevan
bidang di
vCenter
di file konfigurasi cluster pengguna Anda.
Secara khusus, Anda mungkin ingin menggunakan cluster vSphere terpisah untuk admin cluster pengguna dan cluster, dan Anda mungkin ingin menggunakan pusat data terpisah untuk cluster admin dan cluster pengguna Anda.
Menggunakan satu pusat data dan satu cluster vSphere
Opsi defaultnya adalah menggunakan satu pusat data dan satu cluster vSphere untuk
cluster admin dan cluster pengguna. Untuk opsi ini, jangan tetapkan
vCenter
nilai dalam file konfigurasi cluster pengguna. Nilai vCenter
akan diwarisi dari cluster admin.
Menggunakan cluster vSphere terpisah
Jika Anda ingin membuat cluster pengguna
yang berada di cluster vSphere sendiri,
menentukan nilai untuk vCenter.cluster
di file konfigurasi cluster pengguna.
Jika cluster admin dan cluster pengguna Anda berada di cluster vSphere terpisah, cluster tersebut dapat berada di pusat data yang sama atau pusat data yang berbeda.
Menggunakan pusat data vSphere terpisah
Cluster pengguna dan cluster admin dapat berada di lokasi yang berbeda pusat data kami. Dalam hal ini, cluster tersebut juga berada di cluster vSphere terpisah.
Jika Anda menentukan vCenter.datacenter
di file konfigurasi cluster pengguna,
Anda juga harus menentukan:
vCenter.networkName
- Berupa
vCenter.datastore
atauvCenter.storagePolicyName
- Berupa
vCenter.cluster
atauvCenter.resourcePool
Menggunakan akun vCenter terpisah
Sebuah cluster pengguna dapat menggunakan akun vCenter yang berbeda, dengan
vCenter.credentials
, dari cluster admin. Akun vCenter untuk
cluster admin memerlukan akses ke pusat data cluster admin, sedangkan vCenter
untuk cluster pengguna yang hanya memerlukan akses ke pusat data cluster pengguna.
Menggunakan server vCenter terpisah
Dalam situasi tertentu, sebaiknya buat cluster pengguna yang menggunakan cluster {i>instance <i}dari Server vCenter. Yaitu, cluster admin dan pengguna terkait cluster menggunakan instance Server vCenter yang berbeda.
Misalnya, di lokasi edge, Anda mungkin ingin memiliki komputer menjalankan Server vCenter dan satu atau beberapa komputer fisik yang menjalankan ESXi. Anda dapat lalu gunakan {i>instance<i} lokal vCenter Server Anda untuk membuat objek vSphere seperti pusat data, cluster, kumpulan resource, datastore, dan folder.
Isi seluruh
vCenter
di file konfigurasi cluster pengguna Anda. Secara khusus, tentukan nilai
untuk vCenter.address
yang berbeda dengan alamat Server vCenter yang
yang ditentukan di file konfigurasi cluster admin. Contoh:
vCenter: address: "vc-edge.example" datacenter: "vc-edge" cluster: "vc-edge-workloads" resourcePool: "vc-edge-pool datastore: "vc-edge-datastore caCertPath: "/usr/local/google/home/me/certs/edge-cacert.pem" credentials: fileRef: path: "credential.yaml" entry: "vCenter-edge" folder: "edge-vm-folder"
Isi juga
network.vCenter.networkName
kolom tersebut.
network
Tentukan cara worker node mendapatkan alamat IP mereka. Opsi adalah:
Dari server DHCP yang telah Anda siapkan sebelumnya. Setel
network.ipMode.type
ke"dhcp"
.Dari daftar alamat IP statis yang Anda berikan. Setel
network.ipMode.type
ke"static"
, lalu buat File blok IP yang menyediakan alamat IP statis. Untuk contoh file blok IP, lihat Contoh file konfigurasi yang terisi.
Jika Anda telah memutuskan untuk menggunakan alamat IP statis untuk worker node Anda, isi
network.ipMode.ipBlockFilePath
kolom tersebut.
Node bidang kontrol untuk cluster pengguna Anda harus mendapatkan alamat IP dari sebuah
daftar alamat statis yang Anda berikan. Hal ini berlaku meskipun pekerja Anda
{i>node<i} mendapatkan alamat mereka
dari server DHCP. Untuk menentukan alamat IP statis pada
{i>node<i} bidang kontrol, isi
network.controlPlaneIPBlock
bagian. Jika Anda menginginkan cluster pengguna dengan ketersediaan tinggi (HA), tentukan tiga alamat IP
untuk alamat internal dan eksternal. Jika tidak, tentukan satu alamat IP.
Tentukan server DNS dan NTP dengan mengisi bagian hostConfig
. DNS ini
dan server NTP adalah untuk
node bidang kontrol. Jika Anda menggunakan IP statis
untuk node pekerja Anda, maka server DNS dan NTP ini juga untuk
node pekerja.
Tujuan network.podCIDR dan network.serviceCIDR memiliki nilai yang terisi otomatis dan tidak dapat diubah kecuali jika nilainya bertentangan dengan alamat yang sudah digunakan di jaringan Anda. Kubernetes menggunakan untuk menetapkan alamat IP ke Pod dan Service di cluster Anda.
Terlepas dari apakah Anda mengandalkan server DHCP atau menentukan daftar IP statis alamat IP eksternal, Anda harus menyediakan alamat IP yang cukup untuk cluster pengguna. Untuk penjelasan mengenai berapa banyak alamat IP yang Anda butuhkan, lihat Rencanakan alamat IP Anda.
loadBalancer
Menyisihkan VIP untuk server Kubernetes API cluster pengguna Anda. Sisihkan
VIP lain untuk layanan masuk cluster pengguna Anda. Berikan VIP Anda sebagai
nilai untuk
loadBalancer.vips.controlPlaneVIP
dan
loadBalancer.vips.ingressVIP
Memutuskan jenis load balancing yang ingin Anda gunakan. Opsinya adalah:
Load balancing paket MetalLB. Setel
loadBalancer.kind
ke"MetalLB"
. Isi jugaloadBalancer.metalLB.addressPools
dan setelenableLoadBalancer
ketrue
untuk minimal satu node Anda Google Cloud. Untuk informasi selengkapnya, lihat Paket load balancing dengan MetalLB.Load balancing manual. Setel
loadBalancer.kind
ke"ManualLB"
, dan isi tindakanmanualLB
bagian. Untuk informasi selengkapnya, lihat Load balancing manual.
Untuk mengetahui informasi selengkapnya tentang opsi load balancing, lihat Ringkasan load balancing.
advancedNetworking
Jika Anda berencana membuat
gateway NAT keluar, disetel
advancedNetworking
ke true
.
multipleNetworkInterfaces
Tentukan apakah Anda ingin mengonfigurasi beberapa antarmuka jaringan untuk Pod, dan tetapkan multipleNetworkInterfaces sebagaimana mestinya.
storage
Jika Anda ingin menonaktifkan penyebaran komponen CSI vSphere, setel
storage.vSphereCSIDisabled
ke true
.
masterNode
Di kolom
masterNode
, Anda dapat menentukan berapa banyak node bidang kontrol yang Anda inginkan untuk pengguna
{i>cluster <i}: satu atau tiga. Anda juga dapat menentukan datastore untuk bidang kontrol
node dan apakah Anda ingin mengaktifkan pengubahan ukuran otomatis untuk bidang kontrol
node.
Ingat, Anda telah menentukan alamat IP untuk node bidang kontrol di
network.controlPlaneIPBlock
bagian.
nodePools
Kumpulan node adalah sekelompok node dalam sebuah cluster yang semuanya memiliki konfigurasi Anda. Misalnya, node dalam satu kumpulan dapat menjalankan Windows dan jika node di kumpulan lain dapat menjalankan Linux.
Anda harus menentukan setidaknya satu kumpulan node dengan mengisi
nodePools
bagian.
Untuk informasi selengkapnya, lihat Node pool dan Membuat dan mengelola kumpulan node.
antiAffinityGroups
Setel
antiAffinityGroups.enabled
ke true
atau false
.
Kolom ini menentukan apakah Google Distributed Cloud membuat Distributed Resource Scheduler aturan anti-afinitas (DRS) untuk node pekerja Anda, sehingga menyebabkannya tersebar di setidaknya tiga {i>host<i} fisik di pusat data Anda.
stackdriver
Jika Anda ingin mengaktifkan
Cloud Logging dan Cloud Monitoring
untuk cluster Anda, isi
stackdriver
bagian.
Bagian ini wajib ada secara default. Artinya, jika Anda tidak
mengisi bagian ini,
Anda harus menyertakan flag --skip-validation-stackdriver
saat menjalankan
gkectl create cluster
.
Perhatikan persyaratan berikut untuk cluster baru:
ID di
stackdriver.projectID
harus sama dengan ID digkeConnect.projectID
dancloudAuditLogging.projectID
.Region Google Cloud yang ditetapkan di
stackdriver.clusterLocation
harus sama sebagai region yang ditetapkan dalamcloudAuditLogging.clusterLocation
dangkeConnect.location
(jika kolom disertakan dalam file konfigurasi Anda.) Selain itu, jikagkeOnPremAPI.enabled
adalahtrue
, region yang sama harus ditetapkan digkeOnPremAPI.location
.
Jika project ID dan region tidak sama, pembuatan cluster akan gagal.
gkeConnect
Cluster pengguna Anda harus terdaftar ke fleet Google Cloud.
Isilah
gkeConnect
untuk menentukan
project host fleet
dan akun layanan terkait. ID pada gkeConnect.projectID
harus berupa
sama dengan ID yang ditetapkan di stackdriver.projectID
dan
cloudAuditLogging.projectID
. Jika project ID tidak sama, pembuatan cluster
gagal.
Di 1.28 dan yang lebih baru, Anda dapat secara opsional menentukan wilayah tempat Armada dan
Menghubungkan layanan yang berjalan di gkeConnect.location
. Jika Anda tidak menyertakan kolom ini,
cluster menggunakan instance global layanan ini.
Jika Anda menyertakan gkeConnect.location
dalam file konfigurasi, region tersebut
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
Pada versi 1.16 dan yang lebih baru, jika GKE On-Prem API diaktifkan di
di project Google Cloud, semua cluster dalam project
terdaftar di GKE On-Prem API
secara otomatis di region yang dikonfigurasi di stackdriver.clusterLocation
.
Region gkeOnPremAPI.location
harus sama dengan region yang ditentukan di
cloudAuditLogging.clusterLocation
, gkeConnect.location
(jika kolomnya adalah
disertakan dalam file konfigurasi Anda), dan stackdriver.clusterLocation
.
Jika Anda ingin mendaftarkan semua cluster dalam project di GKE On-Prem API, pastikan untuk melakukan langkah-langkah dalam Sebelum memulai mengaktifkan dan menggunakan GKE On-Prem API di project.
Jika Anda tidak ingin mendaftarkan cluster di GKE On-Prem API, sertakan bagian ini dan menyetel
gkeOnPremAPI.enabled
kefalse
. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkangkeonprem.googleapis.com
(nama layanan untuk GKE On-Prem API) di awal proyek. Untuk mengetahui petunjuknya, lihat Menonaktifkan layanan.
usageMetering
Jika ingin mengaktifkan pengukuran penggunaan untuk cluster Anda, isi kolom
usageMetering
bagian.
cloudAuditLogging
Jika Anda ingin mengintegrasikan log audit dari Kubernetes API cluster Anda
server dengan
Cloud Audit Logs, isi bagian
cloudAuditLogging
bagian.
Perhatikan persyaratan berikut untuk cluster baru:
ID di
cloudAuditLogging.projectID
harus sama dengan ID digkeConnect.projectID
danstackdriver.projectID
.Region di
cloudAuditLogging.clusterLocation
harus sama dengan region region yang ditetapkan digkeConnect.location
(jika kolom disertakan dalam file konfigurasi) danstackdriver.clusterLocation
. Selain itu, jikagkeOnPremAPI.enabled
adalahtrue
, region yang sama harus ditetapkan digkeOnPremAPI.location
.
Jika project ID dan region tidak sama, pembuatan cluster akan gagal.
Contoh file konfigurasi yang terisi
Berikut adalah contoh file blok IP dan file konfigurasi cluster pengguna;
user-ipblock.yaml
blocks: - netmask: 255.255.255.0 gateway: 172.16.21.1 ips: - ip: 172.16.21.2 hostname: worker-vm-1 - ip: 172.16.21.3 hostname: worker-vm-2 - ip: 172.16.21.4 hostname: worker-vm-3 - ip: 172.16.21.5 hostname: worker-vm-4
user-cluster.yaml
cat user-cluster.yaml apiVersion: v1 kind: UserCluster name: "my-user-cluster" gkeOnPremVersion: 1.30.0-gke.1930 enableControlplaneV2: true enableDataplaneV2: true network: hostConfig: dnsServers: - "203.0.113.2" - "198.51.100.2" ntpServers: - "216.239.35.4" ipMode: type: "static" ipBlockFilePath: "user-ipblock.yaml" serviceCIDR: 10.96.0.0/20 podCIDR: 192.168.0.0/16 controlPlaneIPBlock: netmask: "255.255.255.0" gateway: "172.16.21.1" ips: - ip: "172.16.21.6" hostname: "cp-vm-1" - ip: "172.16.21.7" hostname: "cp-vm-2" - ip: "172.16.21.8" hostname: "cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" ingressVIP: "172.16.21.30" kind: MetalLB metalLB: addressPools: - name: "address-pool-1" addresses: - "172.16.21.30-172.16.21.39" masterNode: cpus: 4 memoryMB: 8192 replicas: 3 nodePools: - name: "worker-node-pool" cpus: 4 memoryMB: 8192 replicas: 3 enableLoadBalancer: true antiAffinityGroups: enabled: true gkeConnect: projectID: "my-project-123" location: "us-central1" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" autoRepair: enabled: true
Berikut adalah hal-hal penting yang perlu dipahami dalam contoh sebelumnya:
Alamat IP statis untuk worker node ditentukan dalam blok IP . File blok IP memiliki empat alamat meskipun hanya ada tiga node pekerja. Alamat IP tambahan diperlukan selama upgrade, update, dan perbaikan mobil.
Server DNS dan NTP ditentukan di bagian
hostConfig
. Di sini contoh, server DNS dan NTP ini adalah untuk node bidang kontrol dan node pekerja. Hal ini terjadi karena node pekerja memiliki alamat IP statis. Jika node pekerja adalah untuk mendapatkan alamat IP mereka dari server DHCP, kemudian Server DNS dan NTP hanya untuk {i>node<i} bidang kontrol.Alamat IP statis untuk tiga node bidang kontrol ditetapkan dalam Bagian
network.controlPlaneIPBlock
dari file konfigurasi cluster pengguna. Tidak diperlukan alamat IP tambahan dalam blok ini.Controlplane V2 diaktifkan.
Kolom
masterNode.replicas
disetel ke3
, sehingga cluster akan memiliki bidang kontrol ketersediaan tinggi.VIP bidang kontrol dan VIP masuk berada di VLAN yang sama dengan node pekerja dan node bidang kontrol.
VIP yang disisihkan untuk Layanan jenis LoadBalancer ditentukan dalam bagian
loadBalancer.metalLB.addressPools
dari cluster pengguna file konfigurasi Anda. VIP ini berada di VLAN yang sama dengan node pekerja dan node bidang kontrol. Kumpulan VIP yang ditentukan di bagian ini harus menyertakan VIP masuk dan tidak boleh menyertakan VIP bidang kontrol.File konfigurasi cluster pengguna tidak menyertakan bagian
vCenter
. Namun cluster pengguna menggunakan resource vSphere yang sama dengan cluster admin.
Memvalidasi file konfigurasi
Setelah mengisi file konfigurasi cluster pengguna, jalankan
gkectl check-config
untuk memverifikasi bahwa file tersebut valid:
gkectl check-config --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig untuk cluster admin Anda
USER_CLUSTER_CONFIG: jalur konfigurasi cluster pengguna Anda file
Jika perintah menampilkan pesan kegagalan, perbaiki masalahnya dan validasi kembali lagi.
Jika Anda ingin melewati validasi yang lebih memakan waktu, teruskan flag --fast
.
Untuk melewati validasi individual, gunakan tanda --skip-validation-xxx
. Kepada
pelajari perintah check-config
lebih lanjut. Lihat
Menjalankan pemeriksaan preflight.
3. (Opsional) Impor OS image ke vSphere, dan kirim image container ke registry pribadi
Jalankan gkectl prepare
jika salah satu kondisi berikut terpenuhi:
Cluster pengguna Anda berada di pusat data vSphere yang berbeda dengan admin Anda .
Cluster pengguna Anda memiliki Server vCenter yang berbeda dari cluster admin Anda.
Cluster pengguna Anda menggunakan container registry pribadi yang berbeda dengan registry pribadi yang digunakan oleh cluster admin Anda.
gkectl prepare --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --bundle-path BUNDLE \ --user-cluster-config USER_CLUSTER_CONFIG
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG: jalur kubeconfig cluster admin Anda file
BUNDLE: jalur file paket. File ini ada di admin Anda workstation di
/var/lib/gke/bundles/
. Contoh:/var/lib/gke/bundles/gke-onprem-vsphere-1.30.0-gke.1930-full.tgz
USER_CLUSTER_CONFIG: jalur konfigurasi cluster pengguna Anda file
4. Membuat cluster pengguna
Buat cluster pengguna:
gkectl create cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan
Perintah gkectl
, seperti "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Untuk menghindari kesalahan ini, tambahkan
parameter --skip-validation-gcp
ke perintah Anda.
Menemukan file kubeconfig cluster pengguna
Perintah gkectl create cluster
membuat file kubeconfig bernama
USER_CLUSTER_NAME-kubeconfig
dalam direktori saat ini. Anda akan membutuhkannya
file {i>kubeconfig<i} untuk berinteraksi
dengan cluster pengguna Anda.
File kubeconfig berisi nama cluster pengguna Anda. Untuk melihat cluster Anda dapat menjalankan:
kubectl config get-clusters --kubeconfig USER_CLUSTER_KUBECONFIG
Output akan menampilkan nama cluster. Contoh:
NAME my-user-cluster
Jika mau, Anda dapat mengubah nama dan lokasi file {i>kubeconfig<i} Anda.
5. Memastikan cluster pengguna Anda sudah berjalan
Pastikan cluster pengguna Anda berjalan:
kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG
Ganti USER_CLUSTER_KUBECONFIG dengan jalur cluster pengguna Anda {i>kubeconfig<i}.
Output menunjukkan node cluster pengguna. Contoh:
cp-vm-1 Ready control-plane,master 18m cp-vm-2 Ready control-plane,master 18m cp-vm-3 Ready control-plane,master 18m worker-vm-1 Ready 6m7s worker-vm-2 Ready 6m6s worker-vm-3 Ready 6m14s
Konsol
Mulai
Di konsol Google Cloud, buka Create a Google Distributed Cloud cluster.
Pilih project Google Cloud tempat Anda ingin membuat cluster. Project yang dipilih juga digunakan sebagai project host fleet. Ini harus project yang sama tempat cluster admin didaftarkan. Setelah pengguna dibuat, cluster akan otomatis didaftarkan ke cluster yang dipilih armada proyek Anda.
Dasar-dasar cluster
Masukkan informasi dasar tentang cluster.
Masukkan Nama untuk cluster pengguna.
Pada Admin cluster, pilih cluster admin dari daftar. Jika Anda tidak menentukan nama untuk cluster admin saat membuat namanya, nama akan dibuat dalam bentuk
gke-admin-[HASH]
. Jika Anda tidak mengenali nama cluster admin, jalankan perintah berikut di komputer admin:KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG kubectl get OnPremAdminCluster -n kube-system -o=jsonpath='{.items[0].metadata.name}'
Jika cluster admin yang ingin Anda gunakan tidak ditampilkan, lihat bagian pemecahan masalah Cluster admin tidak ditampilkan di menu drop-down Dasar-dasar cluster.
Di kolom GCP API Location, pilih region Google Cloud dari dalam daftar. Setelan ini menentukan wilayah tempat API dan layanan menjalankan:
- GKE On-Prem API (
gkeonprem.googleapis.com
) - Layanan armada (
gkehub.googleapis.com
) - Hubungkan layanan (
gkeconnect.googleapis.com
)
Setelan ini juga mengontrol region tempat hal berikut disimpan:
- Metadata cluster pengguna yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
- GKE On-Prem API (
Pilih versi Google Distributed Cloud untuk cluster pengguna Anda.
Sebagai pembuat cluster, Anda diberi hak istimewa admin cluster . Atau, masukkan alamat email pengguna lain yang akan mengelola cluster di kolom Cluster admin user pada Otorisasi.
Saat cluster dibuat, GKE On-Prem API menerapkan Kubernetes kebijakan role-based access control (RBAC) ke cluster untuk memberi Anda dan peran
clusterrole/cluster-admin
Kubernetes kepada pengguna admin lain, yang memberikan akses penuh ke setiap resource di cluster di semua namespace.Klik Berikutnya untuk membuka bagian Bidang kontrol.
Bidang Kontrol
Semua kolom di bagian Bidang kontrol ditetapkan dengan nilai default. Tinjau setelan default dan jika perlu, ubah sesuai kebutuhan.
Di kolom Control-plane node vCPUs, masukkan jumlah vCPU (minimum 4) untuk setiap node bidang kontrol untuk cluster pengguna.
Di kolom Control-plane node memory, masukkan ukuran memori dalam MiB (minimal 8192 dan harus kelipatan 4) pada setiap bidang kontrol untuk cluster pengguna.
Di bagian Node bidang kontrol, pilih jumlah node bidang kontrol untuk cluster pengguna Anda. Misalnya, Anda dapat memilih 1 node bidang kontrol untuk lingkungan pengembangan dan 3 bidang kontrol untuk lingkungan produksi dengan ketersediaan tinggi (HA).
Pilih Pengubahan ukuran node otomatis (opsional). Mengubah ukuran berarti bahwa Resource memori dan vCPU yang ditetapkan ke node akan disesuaikan secara otomatis. Jika diaktifkan, node bidang kontrol untuk cluster pengguna akan diubah ukurannya sesuai dengan jumlah worker node di cluster pengguna. Jadi saat Anda menambahkan lebih banyak node pekerja ke cluster pengguna, node bidang kontrol bertambah besar.
Atau, pilih Aktifkan bidang kontrol v2. Mengaktifkan Controlplane V2 berarti bidang kontrol untuk cluster pengguna berjalan pada satu atau beberapa node di cluster pengguna itu sendiri dan bukan di cluster admin (disebut sebagai kubeception).
Saat Anda memilih Aktifkan bidang kontrol v2, node bidang kontrol IPs akan ditampilkan. Masukkan alamat IP untuk gateway, {i>subnet mask<i}, dan alamat IP untuk simpul bidang kontrol.
Ketika Controlplane V2 diaktifkan, bidang vCPU dan memori berlaku untuk node bidang kontrol di cluster pengguna. Jumlah node ditentukan dengan jumlah alamat IP yang Anda masukkan. Ketika Pesawat Kontrol V2 tidak diaktifkan, vCPU, memori, dan jumlah kolom node bidang kontrol berlaku ke node di cluster admin. Pastikan Anda menyisihkan cukup alamat IP untuk cluster admin Anda.
Klik Berikutnya untuk membuka bagian Jaringan.
Jaringan
Di bagian ini, Anda akan menentukan alamat IP untuk node cluster, Pod, dan Layanan Google. Sebuah cluster pengguna harus memiliki satu alamat IP untuk setiap node dan sebuah alamat IP tambahan untuk node sementara yang diperlukan selama cluster upgrade, update, dan perbaikan mobil. Untuk informasi selengkapnya, lihat Berapa banyak alamat IP yang diperlukan cluster pengguna?.
Di bagian Node IPs, pilih IP mode untuk cluster pengguna. Pilih salah satu opsi berikut:
DHCP: Pilih DHCP jika Anda ingin node cluster mendapatkan IP-nya dari server DHCP.
Static: Pilih Static jika Anda ingin memberikan alamat IP statis untuk node cluster, atau jika ingin menyiapkan load balancing manual.
Jika Anda memilih DHCP, lanjutkan ke langkah berikutnya untuk menentukan CID Layanan dan Pod. Untuk mode IP Statis, berikan informasi berikut informasi:
Masukkan alamat IP Gateway untuk cluster pengguna.
Masukkan Subnet mask untuk node cluster pengguna.
Di bagian Alamat IP, masukkan alamat IP. Anda juga bisa memilih nama host untuk node di cluster pengguna. Anda dapat memasukkan alamat IP v4 individu (seperti 192.0.2.1) atau CIDR blok alamat IPv4 (seperti 192.0.2.0/24).
Jika Anda memasukkan blok CIDR, jangan masukkan nama host.
Jika Anda memasukkan alamat IP individu, Anda dapat memasukkan nama host. Jika Anda tidak memasukkan nama host, Google Distributed Cloud akan menggunakan dari vSphere sebagai nama {i>host<i}.
Klik + Tambahkan Alamat IP sesuai kebutuhan untuk memasukkan alamat IP lainnya.
Di bagian CID dalam Layanan dan Pod, konsol menyediakan hal berikut rentang alamat IP untuk Pod dan Layanan Kubernetes:
- CIDR Layanan: 10.96.0.0/20
- CIDR pod: 192.168.0.0/16
Jika Anda memilih untuk memasukkan rentang alamat sendiri, lihat Alamat IP untuk Pod dan Service untuk praktik terbaik.
Jika memilih Static IP mode atau Enable control field v2, tentukan informasi berikut di bagian Konfigurasi host:
- Masukkan alamat IP server DNS.
- Masukkan alamat IP server NTP.
- Atau, masukkan domain penelusuran DNS.
Klik Berikutnya untuk membuka bagian Load balancer.
Load balancer
Pilih load balancer yang akan disiapkan untuk cluster Anda. Lihat Ringkasan load balancer untuk informasi selengkapnya.
Pilih Jenis load balancer dari daftar.
Sepaket dengan MetalLB
Mengonfigurasi load balancing yang dipaketkan dengan MetalLB. Anda dapat menggunakan MetalLB untuk hanya jika cluster admin Anda menggunakan SeeSaw atau MetalLB. Ini memerlukan konfigurasi minimal. MetalLB berjalan langsung di node cluster dan tidak memerlukan VM tambahan. Untuk mengetahui informasi selengkapnya tentang manfaat penggunaan MetalLB dan perbandingannya dengan beban lainnya opsi balancing, lihat Paket load balancing dengan MetalLB.Di bagian Address pool, konfigurasikan setidaknya satu kumpulan alamat, sebagai berikut:
Masukkan nama untuk kumpulan alamat.
Masukkan rentang alamat IP yang berisi VIP masuk di Notasi CIDR (mis. 192.0.2.0/26) atau notasi rentang (misalnya, 192.0.2.64-192.0.2.72). Untuk menentukan satu alamat IP dalam kumpulan, gunakan /32 dalam notasi CIDR (mis. 192.0.2.1/32).
Jika alamat IP untuk Layanan Anda jenis
LoadBalancer
bukan dalam rentang alamat IP yang sama dengan VIP masuk, klik + Tambahkan Rentang Alamat IP dan masukkan rentang alamat yang lain.Alamat IP di setiap kumpulan tidak boleh tumpang-tindih, dan harus sama yang sama sebagai node cluster.
Di bagian Assignment of IP addresses, pilih salah satu opsi berikut:
Otomatis: Pilih opsi ini jika Anda ingin pengontrol MetalLB otomatis menetapkan alamat IP dari kumpulan alamat ke Layanan dari jenis
LoadBalancer
Manual: Pilih opsi ini jika Anda ingin menggunakan alamat dari kumpulan data guna menentukan alamat secara manual untuk jenis Layanan
LoadBalancer
Klik Hindari alamat IP yang berisi bug jika ingin menggunakan pengontrol MetalLB untuk tidak menggunakan alamat dari kumpulan yang berakhiran .0 atau .255. Hal ini dapat menghindari masalah perangkat konsumen yang memiliki bug keliru menjatuhkan lalu lintas data ke alamat IP khusus tersebut.
Jika sudah selesai, klik Selesai.
Jika perlu, klik Tambahkan Kumpulan Alamat.
Di bagian Virtual IPs, masukkan berikut ini:
VIP bidang kontrol: Alamat IP tujuan yang akan digunakan untuk traffic dikirim ke Server Kubernetes API dari cluster pengguna. Server Kubernetes API untuk cluster pengguna berjalan pada node di cluster admin. Alamat IP ini harus sama domain L2 sebagai node cluster admin. Jangan tambahkan alamat ini di Bagian Kumpulan alamat.
VIP Ingress: Alamat IP yang akan dikonfigurasi di load balancer untuk proxy masuknya. Anda harus menambahkannya ke kumpulan alamat di Bagian Kumpulan alamat.
Klik Lanjutkan.
F5 BIG-IP
Anda dapat menggunakan F5 BIG-IP untuk cluster pengguna hanya jika cluster admin Anda menggunakan F5 BIG-IP. Pastikan untuk menginstal dan mengkonfigurasi F5 BIG-IP ADC sebelum mengintegrasikan dengan Google Distributed Cloud.Nama pengguna dan {i>password<i} F5 diwarisi dari ke cluster admin.
Di bagian Virtual IPs, masukkan berikut ini:
VIP bidang kontrol: Alamat IP tujuan yang akan digunakan untuk traffic dikirim ke Server Kubernetes API.
VIP Ingress: Alamat IP yang akan dikonfigurasi di load balancer untuk proxy masuknya.
Di kolom Address, masukkan alamat load balancer F5 BIG-IP Anda.
Di kolom Partition, masukkan nama partisi BIG-IP yang telah Anda yang dibuat untuk cluster pengguna Anda.
Di kolom nama kumpulan sNAT, masukkan nama kumpulan SNAT Anda, jika berlaku.
Klik Lanjutkan.
Manual
Anda dapat menggunakan load balancer manual untuk ke cluster pengguna hanya jika cluster admin Anda menggunakan load balancer manual. Di Google Distributed Cloud, server Kubernetes API dan proxy masuk masing-masing diekspos oleh Kubernetes Jenis layananLoadBalancer
. Pilih nilai nodePort
Anda sendiri di
30000 - 32767 untuk Layanan ini. Untuk proxy masuk, pilih
Nilai nodePort
untuk traffic HTTP dan HTTPS. Lihat
Mengaktifkan mode load balancing manual
untuk informasi selengkapnya.
Di bagian Virtual IPs, masukkan berikut ini:
VIP bidang kontrol: Alamat IP tujuan yang akan digunakan untuk traffic dikirim ke Server Kubernetes API.
VIP Ingress: Alamat IP yang akan dikonfigurasi di load balancer untuk proxy masuknya.
Di kolom Control-plan node port, masukkan nilai
nodePort
untuk di Kubernetes API.Di kolom Port node HTTP masuk, masukkan nilai
nodePort
untuk traffic HTTP ke proxy masuk.Di kolom Port node HTTPS masuk, masukkan nilai
nodePort
untuk traffic HTTPS ke proxy masuk.Di kolom Konnectivity server node port, masukkan nilai
nodePort
untuk server Konnektivitas.Klik Lanjutkan.
Fitur
Bagian ini menampilkan fitur dan operasi yang diaktifkan pada .
Hal-hal berikut diaktifkan secara otomatis dan tidak dapat dinonaktifkan:
Cloud Logging layanan sistem
Cloud Monitoring layanan sistem
Hal-hal berikut diaktifkan secara default, tetapi Anda dapat menonaktifkannya:
Aktifkan driver CSI vSphere: Juga disebut sebagai vSphere Container Storage Plug-in. Driver Container Storage Interface (CSI) berjalan di Cluster Kubernetes di-deploy di vSphere untuk menyediakan volume persisten di Penyimpanan vSphere. Untuk informasi selengkapnya, lihat Menggunakan driver Antarmuka Penyimpanan Container vSphere.
Aktifkan grup anti-afinitas: VMware Distributed Resource Scheduler (DRS) aturan anti-afinitas otomatis dibuat untuk node cluster pengguna, menyebabkan mereka tersebar di setidaknya 3 {i>host<i} fisik di data Anda tengah. Pastikan lingkungan vSphere Anda memenuhi persyaratan.
Klik Berikutnya untuk mengonfigurasi kumpulan node
Kumpulan node
Cluster Anda akan dibuat dengan minimal satu kumpulan node. Kumpulan node adalah template untuk grup worker node yang dibuat dalam cluster ini. Untuk informasi selengkapnya, lihat Membuat dan mengelola kumpulan node .
Di bagian Default kumpulan node, selesaikan langkah-langkah berikut:
- Masukkan Nama kumpulan node atau setujui "default-pool" sebagai namanya.
- Masukkan jumlah vCPUs untuk setiap node dalam kumpulan (minimum 4 per pekerja cluster pengguna).
- Masukkan ukuran memory dalam mebibyte (MiB) untuk setiap node dalam kumpulan (minimal 8.192 MiB per node pekerja cluster pengguna dan harus kelipatan 4.)
- Di kolom Nodes, masukkan jumlah node dalam kumpulan (minimal 3). Jika Anda memasukkan alamat IP statis untuk IP Node di bagian Networking, pastikan Anda memasukkan IP yang cukup untuk mengakomodasi node cluster pengguna ini.
- Pilih OS image type: Ubuntu, Ubuntu Containerd, atau COS.
- Masukkan Ukuran boot disk dalam gibibyte (GiB) (minimal 40 GiB).
- Jika Anda menggunakan MetalLB sebagai load balancer, MetalLB harus diaktifkan minimal dalam satu kumpulan node. Anda dapat keluar dari Gunakan kumpulan node ini untuk Load balancing MetalLB dipilih, atau tambahkan node pool lain untuk digunakan MetalLB.
Di bagian Metadata kumpulan node (opsional), jika Anda ingin menambahkan Kubernetes label dan taint, lakukan hal berikut:
- Klik + Add Kubernetes Labels. Masukkan Key dan Nilai untuk label. Ulangi jika perlu.
- Klik + Add Taint. Masukkan Kunci, Nilai, dan Efek untuk taint. Ulangi jika perlu.
Klik Verify and Complete untuk membuat cluster pengguna. Dibutuhkan 15 menit atau lebih untuk membuat cluster pengguna. Konsol menampilkan status saat memverifikasi setelan dan membuat cluster dalam data Anda tengah.
Jika terjadi error saat memverifikasi setelan, konsol akan menampilkan error pesan yang seharusnya cukup jelas bagi Anda untuk memperbaiki masalah konfigurasi dan coba lagi untuk membuat cluster.
Untuk informasi selengkapnya tentang kemungkinan error dan cara memperbaikinya, lihat Memecahkan masalah pembuatan cluster pengguna di Konsol Google Cloud.
gcloud CLI
Gunakan perintah berikut untuk membuat cluster pengguna:
gcloud container vmware clusters create
Setelah membuat cluster, Anda perlu membuat setidaknya satu kumpulan node menggunakan perintah berikut:
gcloud container vmware node-pools create
Sebagian besar flag untuk membuat cluster dan node pool sesuai dengan {i>field<i} pada file konfigurasi cluster pengguna. Untuk membantu Anda memulai, Anda dapat menguji perintah lengkap di contoh.
Mengumpulkan informasi
Kumpulkan beberapa informasi yang Anda perlukan untuk membuat cluster.
Mendapatkan nama dan lokasi keanggotaan fleet cluster admin Anda:
gcloud container fleet memberships list \ --project=FLEET_HOST_PROJECT_ID
Ganti
FLEET_HOST_PROJECT_ID
dengan ID project tempat cluster admin didaftarkan.Outputnya mirip dengan hal berikut ini:
NAME EXTERNAL_ID LOCATION admin-cluster-1 bb7803b4-8438-4b22-859f-4559b4b29072 global admin-cluster-2 ee16ee2b-6ec0-49fc-9413-3c89cbc70854 global admin-cluster-3 fc2b7ef5-39ff-4b63-b919-04c5adc67be4 us-west1
Lokasi menentukan tempat layanan Fleet dan Connect dijalankan. Admin dan klaster yang dibuat sebelum 1.28 ini dikelola oleh Armada global Menghubungkan layanan. Pada 1.28 dan yang lebih tinggi, Anda dapat menentukan
global
atau region Google Cloud saat Anda membuat cluster admin. Anda menentukan region di flag--admin-cluster-membership-location
pada contoh yang mengikutinya.Dapatkan daftar versi yang tersedia:
gcloud container vmware clusters query-version-config \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership-location=ADMIN_CLUSTER_REGION \ --location=REGION
Ganti kode berikut:
ADMIN_CLUSTER_NAME
: Nama cluster admin.FLEET_HOST_PROJECT_ID
: ID project yang cluster admin terdaftar.ADMIN_CLUSTER_REGION
: Cluster admin region keanggotaan fleet. Layanan ini bersifat global atau Google Cloud teritorial Anda. Menggunakan lokasi untuk cluster admin dari output darigcloud container fleet memberships list
.REGION
: Region Google Cloud yang Anda akan digunakan saat Anda membuat cluster pengguna. Ini adalah wilayah yang GKE On-Prem API berjalan dan menyimpan metadatanya.Jika cluster admin terdaftar di GKE On-Prem API, menggunakan region yang sama dengan cluster admin. Untuk mengetahui admin di region cluster, jalankan perintah berikut:
gcloud container vmware admin-clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=-
Jika cluster admin tidak terdaftar di GKE On-Prem API, tentukan
us-west1
atau lainnya wilayah yang didukung. Jika Anda selanjutnya mendaftarkan cluster admin di GKE On-Prem API, menggunakan region yang sama dengan cluster pengguna.
Output
gcloud container vmware clusters query-version-config
perintahnya serupa dengan berikut ini:versions: - isInstalled: true version: 1.28.800-gke.109 - version: 1.29.0-gke.1456 - version: 1.29.100-gke.248 - version: 1.29.200-gke.245 - version: 1.29.300-gke.184
Perintah ini juga menghasilkan penjelasan tentang versi yang bisa Anda gunakan untuk pembuatan atau upgrade cluster pengguna. Versi yang dapat Anda gunakan untuk membuat atau mengupgrade cluster pengguna dianotasi dengan
isInstalled: true
, yang berarti cluster admin memiliki komponen khusus versi yang diperlukan mengelola cluster pengguna versi tersebut. Jika Anda ingin menggunakan versi yang diinstal di cluster admin, lewati ke Examples untuk membuat cluster pengguna.
Instal versi yang lebih tinggi
Cluster admin dapat mengelola cluster pengguna pada berbagai versi. Output
dari perintah query-version-config
mencantumkan versi lain yang dapat Anda gunakan
saat membuat cluster. Jika Anda ingin membuat cluster pengguna yang merupakan
yang lebih tinggi daripada cluster admin, Anda harus mendownload
komponen yang diperlukan oleh cluster admin
untuk mengelola kelompok pengguna versi tersebut,
sebagai berikut:
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --required-platform-version=VERSION
Ganti VERSION
dengan salah satu versi yang tercantum di
output perintah query-version-config
.
Perintah mengunduh versi
komponen yang Anda tentukan di
--required-platform-version
ke cluster admin, lalu men-deploy
komponen-komponennya. Sekarang Anda dapat membuat cluster pengguna dengan
.
Jika Anda menjalankan ulang gcloud container vmware clusters query-version-config
,
versi yang Anda tentukan dianotasi dengan isInstalled: true
.
Contoh
Contoh berikut menunjukkan cara membuat cluster pengguna dengan beban yang berbeda dengan Controlplane V2 yang aktif. Dengan Controlplane V2, bidang kontrol untuk cluster pengguna berjalan pada satu atau beberapa node di cluster pengguna itu sendiri. Rab sebaiknya aktifkan Controlplane V2, dan dalam versi 1.30 dan yang lebih tinggi, cluster pengguna baru diperlukan untuk mengaktifkan Controlplane V2. Untuk informasi opsi load balancing yang tersedia, lihat Ringkasan load balancer.
Sebagian besar contoh menggunakan nilai default untuk mengonfigurasi bidang kontrol node. Jika Anda ingin mengubah setelan default apa pun, sertakan flag yang dijelaskan di bagian Kontrol bidang flag. Jika perlu, Anda dapat ubah beberapa setelan vSphere.
Sebelum menjalankan perintah gcloud
untuk membuat cluster, Anda dapat
sertakan --validate-only
untuk memvalidasi konfigurasi yang Anda tentukan di
flag ke perintah gcloud
. Setelah siap membuat cluster,
menghapus penanda ini dan
menjalankan perintahnya.
Jika Anda mendapatkan error setelah perintah gcloud container vmware clusters create
telah berjalan selama sekitar satu menit atau lebih, periksa apakah cluster tersebut sebagian
dibuat dengan menjalankan perintah berikut:
gcloud container vmware clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=-
Jika cluster tidak tercantum dalam output, perbaiki error dan jalankan kembali
gcloud container vmware clusters create
.
Jika cluster tercantum di output, hapus cluster menggunakan perintah berikut:
gcloud container vmware clusters delete USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --force \ --allow-missing
Kemudian, perbaiki error dan jalankan kembali gcloud container vmware clusters create
.
Setelah cluster berjalan, Anda harus menambahkan node pool sebelum men-deploy workload interaktif, seperti yang dijelaskan dalam Membuat node pool bagian.
LB Logam & DHCP
Contoh ini menunjukkan cara membuat cluster pengguna dengan paket MetalLB load balancer dan menggunakan server DHCP untuk mendapatkan alamat IP untuk worker node.Anda dapat menggunakan MetalLB untuk cluster pengguna hanya jika cluster admin menggunakan MetalLB. Opsi load balancing ini memerlukan sedikit konfigurasi Anda. MetalLB berjalan langsung di node cluster Anda dan tidak dan memerlukan VM tambahan. Untuk informasi selengkapnya tentang manfaat penggunaan MetalLB dan perbandingannya dengan opsi load balancing lainnya, lihat Paket load balancing dengan MetalLB.
Perintah contoh membuat cluster pengguna dengan karakteristik, yang dapat dimodifikasi sesuai kebutuhan untuk lingkungan Anda.
Tanda | Deskripsi |
---|---|
--admin-users |
Memberi Anda dan pengguna lain hak administratif penuh di . |
--enable-control-plane-v2 |
Mengaktifkan Controlplane V2, yang direkomendasikan dan diperlukan dalam versi 1.30 dan yang lebih tinggi. |
--control-plane-ip-block |
Satu alamat IP untuk node bidang kontrol. Untuk membuat
cluster pengguna ketersediaan tinggi (HA), tentukan tiga alamat IP dan
tambahkan flag --replicas=3 . |
--metal-lb-config-address-pools |
Dua kumpulan alamat untuk load balancer MetalLB. Anda memerlukan di
setidaknya satu kumpulan alamat, dan Anda dapat
menentukan lebih banyak jika diperlukan. Sebagai
praktis, contohnya berisi kumpulan alamat dengan nama
"pool-vip-masuk" sebagai pengingat bahwa alamat IP untuk
VIP masuk harus ada di salah satu kumpulan alamat. Anda yang menentukan
CIDR untuk satu alamat IP dengan menambahkan /32 ke
dengan Alamat IP tertentu |
gcloud container vmware clusters create USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership-location=ADMIN_CLUSTER_REGION \ --location=REGION \ --version=VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --admin-users=ANOTHER_EMAIL_ADDRESS \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --metal-lb-config-address-pools='pool=NAME,avoid-buggy-ips=AVOID_BUGGY_IPS,manual-assign=MANUAL_ASSIGN,addresses=IP_ADDRESS_RANGE_1' \ --metal-lb-config-address-pools='pool=ingress-vip-pool,avoid-buggy-ips=False,manual-assign=True,addresses=INGRESS_VIP/32' \ --enable-control-plane-v2 \ --dns-servers=DNS_SERVER_1 \ --ntp-servers=NTP_SERVER_1 \ --control-plane-ip-block 'gateway=CP_GATEWAY,netmask=CP_NETMASK,ips=CP_IP_ADDRESS_1 CP_HOST_1' \ --control-plane-vip=CONTROL_PLANE_VIP \ --ingress-vip=INGRESS_VIP \ --enable-dhcp
Ganti kode berikut:
-
USER_CLUSTER_NAME
: Nama pilihan Anda untuk pengguna . Nama tidak dapat diubah setelah cluster dibuat. Namanya harus:- berisi maksimal 40 karakter
- hanya berisi karakter alfanumerik huruf kecil atau tanda hubung (
-
) - diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
-
FLEET_HOST_PROJECT_ID
: ID project yang Anda tempat cluster akan dibuat. Proyek yang ditentukan juga digunakan sebagai project host fleet Anda. Project ini harus sama dengan project cluster admin terdaftar. Setelah dibuat, cluster pengguna akan otomatis terdaftar ke fleet project yang dipilih. Project host fleet tidak dapat diubah setelah cluster dibuat. -
ADMIN_CLUSTER_NAME
: Nama cluster admin yang mengelola cluster pengguna. Di--admin-cluster-membership
, Anda dapat menggunakan nama cluster yang sepenuhnya ditentukan, yang memiliki format berikut:projects/FLEET_HOST_PROJECT_ID/locations/ADMIN_CLUSTER_REGION/memberships/ADMIN_CLUSTER_NAME
Atau, Anda dapat menetapkan
--admin-cluster-membership
ke nama cluster admin, seperti dalam contoh perintah. Jika Anda hanya menggunakan nama cluster admin, setel project ID cluster admin dengan--admin-cluster-membership-project
dan lokasi dengan--admin-cluster-membership-location
. Cluster admin lokasinya adalahglobal
atau region Google Cloud. Jika Anda perlu menemukan region, jalankangcloud container fleet memberships list
. -
REGION
: Region Google Cloud tempat GKE On-Prem API (gkeonprem.googleapis.com
), layanan Fleet (gkehub.googleapis.com
), dan layanan Connect (gkeconnect.googleapis.com
). Tentukanus-west1
atau lainnya wilayah yang didukung. Region tidak dapat diubah setelah cluster dibuat. Setelan ini menentukan wilayah tempat hal berikut disimpan:- Metadata cluster pengguna yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
-
VERSION
: Versi Google Distributed Cloud untuk cluster pengguna. -
YOUR_EMAIL_ADDRESS
danANOTHER_EMAIL_ADDRESS
: Jika Anda tidak menyertakan flag--admin-users
, sebagai pembuat cluster, secara default, Anda diberi hak istimewa admin cluster. Tapi jika Anda menyertakan--admin-users
untuk menetapkan pengguna lain sebagai administrator, Anda mengganti setelan default dan harus mencantumkan alamat email dan alamat email administrator lainnya. Misalnya, untuk menambahkan dua administrator:--admin-users=sara@example.com \ --admin-users=amal@example.com
Saat cluster dibuat, GKE On-Prem API menerapkan Kubernetes kebijakan role-based access control (RBAC) ke cluster untuk memberi Anda dan peran
clusterrole/cluster-admin
Kubernetes kepada pengguna admin lain, yang memberikan akses penuh ke setiap resource di cluster di semua namespace.
-
SERVICE_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Layanan di cluster Anda. Minimal rentang /24.Contoh:
--service-address-cidr-blocks=10.96.0.0/20
-
POD_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Pod di cluster Anda. Minimal rentang /18.Contoh:
--pod-address-cidr-blocks=192.168.0.0/16
-
--metal-lb-config-address-pools
: Sertakan tanda ini untuk menentukan konfigurasi bagi kumpulan alamat yang akan digunakan oleh load balancer MetalLB. Nilai untuk penanda memiliki atribut format berikut:--metal-lb-config-address-pool 'pool=NAME,avoid-buggy-ips=True|False,manual-assign=True|False,addresses=IP_ADDRESS_RANGE_1;IP_ADDRESS_RANGE_2;...' \
Nilai ini memiliki segmen yang dimulai dengan kata kunci
pool
,avoid-buggy-ip
,manual-assign
, danaddresses
. Pisahkan setiap segmen dengan koma.-
pool
: Nama pilihan Anda untuk kolam renang. -
avoid-buggy-ips
1: Jika Anda menetapkannya keTrue
, pengontrol MetalLB tidak akan menetapkan alamat IP yang diakhiri dengan .0 atau .255 ke Layanan. Hal ini untuk menghindari masalah perangkat konsumen yang bermasalah secara tidak sengaja menurunkan lalu lintas yang dikirim ke alamat IP khusus tersebut. Jika tidak ditetapkan, nilai defaultnya adalahFalse
. -
manual-assign
: Jika Anda tidak ingin pengontrol MetalLB otomatis menetapkan alamat IP dari kumpulan ini ke Layanan, tetapkan keTrue
. Kemudian developer dapat membuat Layanan jenisLoadBalancer
dan menentukan secara manual salah satu alamat dari kumpulan data. Jika tidak ditentukan,manual-assign
akan ditetapkan keFalse
. -
Dalam daftar
addresses
: Setiap alamat harus berupa rentang dalam Notasi CIDR atau format rentang dengan tanda hubung. Untuk menentukan satu alamat IP dalam kumpulan (seperti untuk VIP masuk), gunakan /32 dalam notasi CIDR, misalnya:192.0.2.1/32
.
Perhatikan hal berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
- Spasi kosong tidak diizinkan.
- Pisahkan setiap rentang alamat IP dengan titik koma.
Contoh:
--metal-lb-config-address-pool 'pool=pool1,avoid-buggy-ips=True,manual-assign=True,addresses=10.251.134.80/32;192.168.1.0/26;192.168.1.2-192.168.1.3'
-
-
CONTROL_PLANE_VIP
: Alamat IP yang Anda miliki dipilih untuk dikonfigurasi pada load balancer untuk server Kubernetes API dari cluster pengguna.Contoh:
--control-plane-vip=203.0.113.3
-
INGRESS_VIP
: Alamat IP yang telah Anda pilih lakukan konfigurasi di load balancer untuk proxy masuknya.Contoh:
--ingress-vip=10.251.134.80
Alamat IP untuk VIP masuk harus berada dalam salah satu MetalLB pada kumpulan alamat IP.
--enable-dhcp
: Sertakan--enable-dhcp
jika Anda menginginkan node cluster untuk mendapatkan alamat IP mereka dari server DHCP yang Anda berikan. Larangan sertakan tanda ini jika ingin memberikan alamat IP statis untuk node cluster, atau jika ingin menyiapkan load balancing manual.
LB Logam & IP statis
Contoh ini menunjukkan cara membuat cluster pengguna dengan paket MetalLB load balancer dan menetapkan alamat IP statis ke cluster Anda node pekerja.Anda dapat menggunakan MetalLB untuk cluster pengguna hanya jika cluster admin menggunakan MetalLB. Opsi load balancing ini memerlukan sedikit konfigurasi Anda. MetalLB berjalan langsung di node cluster Anda dan tidak dan memerlukan VM tambahan. Untuk informasi selengkapnya tentang manfaat penggunaan MetalLB dan perbandingannya dengan opsi load balancing lainnya, lihat Paket load balancing dengan MetalLB.
Perintah contoh membuat cluster pengguna dengan karakteristik, yang dapat dimodifikasi sesuai kebutuhan untuk lingkungan Anda.
Tanda | Deskripsi |
---|---|
--admin-users |
Memberi Anda dan pengguna lain hak administratif penuh di . |
--enable-control-plane-v2 |
Mengaktifkan Controlplane V2, yang direkomendasikan dan diperlukan dalam versi 1.30 dan yang lebih tinggi. |
--control-plane-ip-block |
Satu alamat IP untuk node bidang kontrol. Untuk membuat
cluster pengguna ketersediaan tinggi (HA), tentukan tiga alamat IP dan
tambahkan flag --replicas=3 . |
--metal-lb-config-address-pools |
Dua kumpulan alamat untuk load balancer MetalLB. Anda memerlukan di
setidaknya satu kumpulan alamat, dan Anda dapat
menentukan lebih banyak jika diperlukan. Sebagai
praktis, contohnya berisi kumpulan alamat dengan nama
"pool-vip-masuk" sebagai pengingat bahwa alamat IP untuk
VIP masuk harus ada di salah satu kumpulan alamat. Anda yang menentukan
CIDR untuk satu alamat IP dengan menambahkan /32 ke
dengan Alamat IP tertentu |
--static-ip-config-ip-blocks |
Empat alamat IP untuk worker node di cluster. Hal ini mencakup alamat untuk node tambahan yang dapat digunakan selama proses upgrade dan update. Anda dapat menentukan lebih banyak alamat IP jika diperlukan. Nama host adalah opsional. |
gcloud container vmware clusters create USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership-location=ADMIN_CLUSTER_REGION \ --location=REGION \ --version=VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --admin-users=ANOTHER_EMAIL_ADDRESS \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --metal-lb-config-address-pools='pool=NAME,avoid-buggy-ips=AVOID_BUGGY_IPS,manual-assign=MANUAL_ASSIGN,addresses=IP_ADDRESS_RANGE_1' \ --metal-lb-config-address-pools='pool=ingress-vip-pool,avoid-buggy-ips=False,manual-assign=True,addresses=INGRESS_VIP/32' \ --enable-control-plane-v2 \ --control-plane-ip-block 'gateway=CP_GATEWAY,netmask=CP_NETMASK,ips=CP_IP_ADDRESS_1 CP_HOST_1' \ --control-plane-vip=CONTROL_PLANE_VIP \ --ingress-vip=INGRESS_VIP \ --static-ip-config-ip-blocks='gateway=GATEWAY,netmask=NETMASK,ips=IP_ADDRESS_1 HOST_1;IP_ADDRESS_2 HOST_2;IP_ADDRESS_3 HOST_3;IP_ADDRESS_4 HOST_4' \ --dns-servers=DNS_SERVER_1 \ --ntp-servers=NTP_SERVER_1
Ganti kode berikut:
-
USER_CLUSTER_NAME
: Nama pilihan Anda untuk pengguna . Nama tidak dapat diubah setelah cluster dibuat. Namanya harus:- berisi maksimal 40 karakter
- hanya berisi karakter alfanumerik huruf kecil atau tanda hubung (
-
) - diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
-
FLEET_HOST_PROJECT_ID
: ID project yang Anda tempat cluster akan dibuat. Proyek yang ditentukan juga digunakan sebagai project host fleet Anda. Project ini harus sama dengan project cluster admin terdaftar. Setelah dibuat, cluster pengguna akan otomatis terdaftar ke fleet project yang dipilih. Project host fleet tidak dapat diubah setelah cluster dibuat. -
ADMIN_CLUSTER_NAME
: Nama cluster admin yang mengelola cluster pengguna. Di--admin-cluster-membership
, Anda dapat menggunakan nama cluster yang sepenuhnya ditentukan, yang memiliki format berikut:projects/FLEET_HOST_PROJECT_ID/locations/ADMIN_CLUSTER_REGION/memberships/ADMIN_CLUSTER_NAME
Atau, Anda dapat menetapkan
--admin-cluster-membership
ke nama cluster admin, seperti dalam contoh perintah. Jika Anda hanya menggunakan nama cluster admin, setel project ID cluster admin dengan--admin-cluster-membership-project
dan lokasi dengan--admin-cluster-membership-location
. Cluster admin lokasinya adalahglobal
atau region Google Cloud. Jika Anda perlu menemukan region, jalankangcloud container fleet memberships list
. -
REGION
: Region Google Cloud tempat GKE On-Prem API (gkeonprem.googleapis.com
), layanan Fleet (gkehub.googleapis.com
), dan layanan Connect (gkeconnect.googleapis.com
). Tentukanus-west1
atau lainnya wilayah yang didukung. Region tidak dapat diubah setelah cluster dibuat. Setelan ini menentukan wilayah tempat hal berikut disimpan:- Metadata cluster pengguna yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
-
VERSION
: Versi Google Distributed Cloud untuk cluster pengguna. -
YOUR_EMAIL_ADDRESS
danANOTHER_EMAIL_ADDRESS
: Jika Anda tidak menyertakan flag--admin-users
, sebagai pembuat cluster, secara default, Anda diberi hak istimewa admin cluster. Tapi jika Anda menyertakan--admin-users
untuk menetapkan pengguna lain sebagai administrator, Anda mengganti setelan default dan harus mencantumkan alamat email dan alamat email administrator lainnya. Misalnya, untuk menambahkan dua administrator:--admin-users=sara@example.com \ --admin-users=amal@example.com
Saat cluster dibuat, GKE On-Prem API menerapkan Kubernetes kebijakan role-based access control (RBAC) ke cluster untuk memberi Anda dan peran
clusterrole/cluster-admin
Kubernetes kepada pengguna admin lain, yang memberikan akses penuh ke setiap resource di cluster di semua namespace.
-
SERVICE_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Layanan di cluster Anda. Minimal rentang /24.Contoh:
--service-address-cidr-blocks=10.96.0.0/20
-
POD_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Pod di cluster Anda. Minimal rentang /18.Contoh:
--pod-address-cidr-blocks=192.168.0.0/16
-
--metal-lb-config-address-pools
: Sertakan tanda ini untuk menentukan konfigurasi bagi kumpulan alamat yang akan digunakan oleh load balancer MetalLB. Nilai untuk penanda memiliki atribut format berikut:--metal-lb-config-address-pool 'pool=NAME,avoid-buggy-ips=True|False,manual-assign=True|False,addresses=IP_ADDRESS_RANGE_1;IP_ADDRESS_RANGE_2;...' \
Nilai ini memiliki segmen yang dimulai dengan kata kunci
pool
,avoid-buggy-ip
,manual-assign
, danaddresses
. Pisahkan setiap segmen dengan koma.-
pool
: Nama pilihan Anda untuk kolam renang. -
avoid-buggy-ips
1: Jika Anda menetapkannya keTrue
, pengontrol MetalLB tidak akan menetapkan alamat IP yang diakhiri dengan .0 atau .255 ke Layanan. Hal ini untuk menghindari masalah perangkat konsumen yang bermasalah secara tidak sengaja menurunkan lalu lintas yang dikirim ke alamat IP khusus tersebut. Jika tidak ditetapkan, nilai defaultnya adalahFalse
. -
manual-assign
: Jika Anda tidak ingin pengontrol MetalLB otomatis menetapkan alamat IP dari kumpulan ini ke Layanan, tetapkan keTrue
. Kemudian developer dapat membuat Layanan jenisLoadBalancer
dan menentukan secara manual salah satu alamat dari kumpulan data. Jika tidak ditentukan,manual-assign
akan ditetapkan keFalse
. -
Dalam daftar
addresses
: Setiap alamat harus berupa rentang dalam Notasi CIDR atau format rentang dengan tanda hubung. Untuk menentukan satu alamat IP dalam kumpulan (seperti untuk VIP masuk), gunakan /32 dalam notasi CIDR, misalnya:192.0.2.1/32
.
Perhatikan hal berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
- Spasi kosong tidak diizinkan.
- Pisahkan setiap rentang alamat IP dengan titik koma.
Contoh:
--metal-lb-config-address-pool 'pool=pool1,avoid-buggy-ips=True,manual-assign=True,addresses=10.251.134.80/32;192.168.1.0/26;192.168.1.2-192.168.1.3'
-
-
CONTROL_PLANE_VIP
: Alamat IP yang Anda miliki dipilih untuk dikonfigurasi pada load balancer untuk server Kubernetes API dari cluster pengguna.Contoh:
--control-plane-vip=203.0.113.3
-
INGRESS_VIP
: Alamat IP yang telah Anda pilih lakukan konfigurasi di load balancer untuk proxy masuknya.Contoh:
--ingress-vip=10.251.134.80
Alamat IP untuk VIP masuk harus berada dalam salah satu MetalLB pada kumpulan alamat IP.
-
--static-ip-config-ip-blocks
: Menentukan gateway default, subnet mask, dan daftar alamat IP statis untuk worker node di cluster pengguna. Nilai untuk penanda memiliki dalam format berikut:--static-ip-config-ip-blocks 'gateway=GATEWAY,netmask=NETMASK,ips=IP_ADDRESS_1;IP_ADDRESS_2 HOST_2;...'
Nilai ini memiliki segmen yang dimulai dengan kata kunci
gateway
,netmask
, danips
. Pisahkan segmen dengan koma.Perhatikan hal berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
- Spasi kosong tidak diizinkan kecuali di antara alamat IP dan nama host.
Dalam daftar alamat IP:
- Anda dapat menentukan alamat IP individu atau Blok alamat IP CIDR.
- Pisahkan setiap alamat IP atau blok CIDR dengan titik koma.
- Untuk alamat IP individual, Anda dapat secara opsional menentukan nama host setelah alamat IP. Pisahkan alamat IP dan nama host dengan spasi. Ketika Anda tidak menentukan nama {i>host<i}, Google Distributed Cloud menggunakan nama VM dari vSphere sebagai nama host.
- Jika Anda menentukan blok CIDR, jangan tentukan nilai untuk nama host.
Contoh:
--static-ip-config-ip-blocks 'gateway=172.16.23.254,netmask=255.255.252.0,ips=172.16.20.10;172.16.20.11 host2;172.16.20.12/30'
-
DNS_SERVER
: Daftar alamat IP DNS yang dipisahkan koma untuk VM. -
DNS_SEARCH_DOMAIN
: Daftar penelusuran DNS yang dipisahkan koma domain yang akan digunakan oleh {i>host<i}. Domain berikut digunakan sebagai bagian dari daftar penelusuran domain.Contoh:
--dns-search-domains example.com,examplepetstore.com
-
NTP_SERVER
: Daftar IP yang dipisahkan koma alamat server waktu yang akan digunakan oleh VM.
LB manual & IP statis
Contoh ini menunjukkan cara membuat cluster pengguna dengan pemuatan manual dan menetapkan alamat IP statis ke cluster Anda node pekerja.Anda dapat menggunakan load balancer manual untuk cluster pengguna hanya jika admin
menggunakan load balancer manual. Di Google Distributed Cloud,
Server Kubernetes API, proxy masuk, dan layanan add-on untuk log
agregasi yang masing-masing diekspos oleh Service Kubernetes berjenis
LoadBalancer
. Pilih nilai nodePort
Anda sendiri di 30000 - 32767
untuk Layanan ini. Untuk proxy masuk, pilih nilai nodePort
untuk traffic HTTP dan HTTPS. Lihat
Mengaktifkan mode load balancing manual
untuk informasi selengkapnya.
Perintah contoh membuat cluster pengguna dengan karakteristik, yang dapat dimodifikasi sesuai kebutuhan untuk lingkungan Anda.
Tanda | Deskripsi |
---|---|
--admin-users |
Memberi Anda dan pengguna lain hak administratif penuh di . |
--enable-control-plane-v2 |
Mengaktifkan Controlplane V2, yang direkomendasikan dan diperlukan dalam versi 1.30 dan yang lebih tinggi. |
--control-plane-ip-block |
Satu alamat IP untuk node bidang kontrol. Untuk membuat
cluster pengguna ketersediaan tinggi (HA), tentukan tiga alamat IP dan
tambahkan flag --replicas=3 . |
--static-ip-config-ip-blocks |
Empat alamat IP untuk worker node di cluster. Hal ini mencakup alamat untuk node tambahan yang dapat digunakan selama proses upgrade dan update. Anda dapat menentukan lebih banyak alamat IP jika diperlukan. Nama host adalah opsional. |
gcloud container vmware clusters create USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership-location=ADMIN_CLUSTER_REGION \ --location=REGION \ --version=VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --admin-users=ANOTHER_EMAIL_ADDRESS \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --enable-control-plane-v2 \ --control-plane-ip-block 'gateway=CP_GATEWAY,netmask=CP_NETMASK,ips=CP_IP_ADDRESS_1 CP_HOST_1' \ --control-plane-vip=CONTROL_PLANE_VIP \ --ingress-vip=INGRESS_VIP \ --ingress-http-node-port=INGRESS_HTTP_NODE_PORT \ --ingress-https-node-port=INGRESS_HTTPS_NODE_PORT \ --static-ip-config-ip-blocks='gateway=GATEWAY,netmask=NETMASK,ips=IP_ADDRESS_1 HOST_1;IP_ADDRESS_2 HOST_2;IP_ADDRESS_3 HOST_3;IP_ADDRESS_4 HOST_4' \ --dns-servers=DNS_SERVER_1 \ --ntp-servers=NTP_SERVER_1
Ganti kode berikut:
-
USER_CLUSTER_NAME
: Nama pilihan Anda untuk pengguna . Nama tidak dapat diubah setelah cluster dibuat. Namanya harus:- berisi maksimal 40 karakter
- hanya berisi karakter alfanumerik huruf kecil atau tanda hubung (
-
) - diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
-
FLEET_HOST_PROJECT_ID
: ID project yang Anda tempat cluster akan dibuat. Proyek yang ditentukan juga digunakan sebagai project host fleet Anda. Project ini harus sama dengan project cluster admin terdaftar. Setelah dibuat, cluster pengguna akan otomatis terdaftar ke fleet project yang dipilih. Project host fleet tidak dapat diubah setelah cluster dibuat. -
ADMIN_CLUSTER_NAME
: Nama cluster admin yang mengelola cluster pengguna. Di--admin-cluster-membership
, Anda dapat menggunakan nama cluster yang sepenuhnya ditentukan, yang memiliki format berikut:projects/FLEET_HOST_PROJECT_ID/locations/ADMIN_CLUSTER_REGION/memberships/ADMIN_CLUSTER_NAME
Atau, Anda dapat menetapkan
--admin-cluster-membership
ke nama cluster admin, seperti dalam contoh perintah. Jika Anda hanya menggunakan nama cluster admin, setel project ID cluster admin dengan--admin-cluster-membership-project
dan lokasi dengan--admin-cluster-membership-location
. Cluster admin lokasinya adalahglobal
atau region Google Cloud. Jika Anda perlu menemukan region, jalankangcloud container fleet memberships list
. -
REGION
: Region Google Cloud tempat GKE On-Prem API (gkeonprem.googleapis.com
), layanan Fleet (gkehub.googleapis.com
), dan layanan Connect (gkeconnect.googleapis.com
). Tentukanus-west1
atau lainnya wilayah yang didukung. Region tidak dapat diubah setelah cluster dibuat. Setelan ini menentukan wilayah tempat hal berikut disimpan:- Metadata cluster pengguna yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
-
VERSION
: Versi Google Distributed Cloud untuk cluster pengguna. -
YOUR_EMAIL_ADDRESS
danANOTHER_EMAIL_ADDRESS
: Jika Anda tidak menyertakan flag--admin-users
, sebagai pembuat cluster, secara default, Anda diberi hak istimewa admin cluster. Tapi jika Anda menyertakan--admin-users
untuk menetapkan pengguna lain sebagai administrator, Anda mengganti setelan default dan harus mencantumkan alamat email dan alamat email administrator lainnya. Misalnya, untuk menambahkan dua administrator:--admin-users=sara@example.com \ --admin-users=amal@example.com
Saat cluster dibuat, GKE On-Prem API menerapkan Kubernetes kebijakan role-based access control (RBAC) ke cluster untuk memberi Anda dan peran
clusterrole/cluster-admin
Kubernetes kepada pengguna admin lain, yang memberikan akses penuh ke setiap resource di cluster di semua namespace.
-
SERVICE_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Layanan di cluster Anda. Minimal rentang /24.Contoh:
--service-address-cidr-blocks=10.96.0.0/20
-
POD_CIDR_BLOCK
: Rentang alamat IP, dalam CIDR , yang akan digunakan untuk Pod di cluster Anda. Minimal rentang /18.Contoh:
--pod-address-cidr-blocks=192.168.0.0/16
CONTROL_PLANE_VIP
: Alamat IP yang Anda miliki dipilih untuk dikonfigurasi pada load balancer untuk server Kubernetes API dari cluster pengguna.Contoh:
--control-plane-vip=203.0.113.3
INGRESS_VIP
: Alamat IP yang telah Anda pilih melakukan konfigurasi pada load balancer untuk proxy masuknya.Contoh:
--ingress-vip=203.0.113.4
INGRESS_HTTP_NODE_PORT
: NilainodePort
untuk Traffic HTTP ke proxy masuk (seperti30243
).INGRESS_HTTPS_NODE_PORT
: NilainodePort
untuk Traffic HTTPS ke proxy masuk (seperti30879
).
-
--static-ip-config-ip-blocks
: Menentukan gateway default, subnet mask, dan daftar alamat IP statis untuk worker node di cluster pengguna. Nilai untuk penanda memiliki dalam format berikut:--static-ip-config-ip-blocks 'gateway=GATEWAY,netmask=NETMASK,ips=IP_ADDRESS_1;IP_ADDRESS_2 HOST_2;...'
Nilai ini memiliki segmen yang dimulai dengan kata kunci
gateway
,netmask
, danips
. Pisahkan segmen dengan koma.Perhatikan hal berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
- Spasi kosong tidak diizinkan kecuali di antara alamat IP dan nama host.
Dalam daftar alamat IP:
- Anda dapat menentukan alamat IP individu atau Blok alamat IP CIDR.
- Pisahkan setiap alamat IP atau blok CIDR dengan titik koma.
- Untuk alamat IP individual, Anda dapat secara opsional menentukan nama host setelah alamat IP. Pisahkan alamat IP dan nama host dengan spasi. Ketika Anda tidak menentukan nama {i>host<i}, Google Distributed Cloud menggunakan nama VM dari vSphere sebagai nama host.
- Jika Anda menentukan blok CIDR, jangan tentukan nilai untuk nama host.
Contoh:
--static-ip-config-ip-blocks 'gateway=172.16.23.254,netmask=255.255.252.0,ips=172.16.20.10;172.16.20.11 host2;172.16.20.12/30'
-
DNS_SERVER
: Daftar alamat IP DNS yang dipisahkan koma untuk VM. -
DNS_SEARCH_DOMAIN
: Daftar penelusuran DNS yang dipisahkan koma domain yang akan digunakan oleh {i>host<i}. Domain berikut digunakan sebagai bagian dari daftar penelusuran domain.Contoh:
--dns-search-domains example.com,examplepetstore.com
-
NTP_SERVER
: Daftar IP yang dipisahkan koma alamat server waktu yang akan digunakan oleh VM.
Tanda bidang kontrol
Jika Anda ingin menggunakan nilai non-default untuk konfigurasi bidang kontrol, menyertakan satu atau beberapa flag berikut:
--cpus=vCPUS
: Jumlah vCPU (minimal 4) untuk setiap vCPU node bidang kontrol untuk cluster pengguna Anda. Jika tidak ditentukan, opsi adalah 4 vCPU.--memory=MEMORY
: Ukuran memori dalam mebibyte (MiB) untuk setiap bidang kontrol untuk cluster pengguna Anda. Nilai minimumnya adalah 8192 dan itu harus kelipatan 4. Jika tidak ditentukan, defaultnya adalah 8192.--replicas=NODES
: Jumlah node bidang kontrol untuk pada cluster pengguna Anda. Misalnya, Anda dapat memilih 1 node bidang kontrol untuk lingkungan pengembangan dan 3 node bidang kontrol untuk ketersediaan tinggi (HA), yaitu lingkungan produksi.--enable-auto-resize
: Jika Anda ingin mengaktifkan perubahan ukuran otomatis pada node bidang kontrol untuk cluster pengguna, termasuk--enable-auto-resize
. Mengubah ukuran berarti bahwa resource vCPU dan memori yang ditetapkan ke node disesuaikan secara otomatis. Jika diaktifkan, node bidang kontrol untuk pengguna ukuran cluster diubah sesuai dengan jumlah worker node pengguna . Jadi, saat Anda menambahkan lebih banyak node pekerja ke cluster pengguna, node bidang kontrol berukuran bertambah.--enable-control-plane-v2
: Untuk mengaktifkan Controlplane V2, yang kami rekomendasikan, menyertakan penanda ini. Ketika Controlplane V2 diaktifkan, kontrol bidang untuk cluster pengguna yang berjalan di satu atau beberapa node di cluster pengguna itu sendiri. Pada versi 1.30 dan yang lebih tinggi, Controlplane V2 diperlukan.Saat mengaktifkan Controlplane V2, Anda juga harus menentukan tanda berikut:
--dns-servers=DNS_SERVER_1,...
: Tanda yang dipisahkan koma daftar alamat IP server DNS untuk VM.--ntp-servers=NTP_SERVER_1,...
: Tanda yang dipisahkan koma daftar alamat IP server waktu yang akan digunakan oleh VM.--control-plane-ip-block
, yang memiliki format berikut:--control-plane-ip-block 'gateway=CP_GATEWAY,netmask=CP_NETMASK,ips=CP_IP_ADDRESS_1;CP_IP_ADDRESS_2 CP_HOST_2'
Nilai ini memiliki segmen yang dimulai dengan kata kunci
gateway
,netmask
, danips
. Pisahkan segmen dengan koma.Perhatikan hal berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
Spasi kosong tidak diizinkan kecuali antara alamat IP dan nama host.
Dalam daftar alamat IP:
Anda dapat menentukan alamat IP individu atau CIDR alamat IP internalnya.
Pisahkan setiap alamat IP atau blok CIDR dengan titik koma.
Untuk alamat IP individual, Anda dapat menentukan nama host setelah alamat IP. Pisahkan alamat IP dan nama host dengan spasi.
Jika Anda menentukan blok CIDR, jangan tentukan nilai untuk nama host.
Contoh:
--control-plane-ip-block 'gateway=192.168.0.1,netmask=255.0.0.0,ips=192.168.1.1;192.168.1.2 hostname-2;192.168.2.2/28`
Opsional:
--dns-search-domains=DNS_SEARCH_DOMAIN_1,...
: Daftar domain penelusuran DNS yang dipisahkan koma untuk digunakan oleh host. Domain berikut digunakan sebagai bagian dari daftar penelusuran domain.Contoh:
--dns-search-domains example.com,examplepetstore.com
Untuk mengetahui daftar lengkap tanda dan deskripsinya, lihat Referensi gcloud CLI.
Tanda vSphere
Tentukan flag opsional berikut jika diperlukan:
--disable-aag-config
: Jika Anda tidak menyertakan flag ini, VMware Aturan anti-afinitas Distributed Resource Scheduler (DRS) dibuat secara otomatis untuk node cluster pengguna, sehingga tersebar di minimal 3 {i>host<i} fisik di pusat data Anda. Merek memastikan bahwa lingkungan vSphere Anda memenuhi persyaratan. Jika cluster Anda tidak memenuhi persyaratan, sertakan tanda ini.--disable-vsphere-csi
: Jika Anda tidak menyertakan tanda ini, vSphere akan Komponen Container Storage Interface (CSI) di-deploy di pengguna . Driver CSI berjalan di cluster Kubernetes native yang di-deploy di vSphere untuk menyediakan volume persisten di penyimpanan vSphere. Untuk informasi selengkapnya, lihat Menggunakan driver Antarmuka Penyimpanan Container vSphere. Jika Anda tidak ingin men-deploy komponen CSI, sertakan tanda ini.Untuk mengetahui daftar lengkap tanda dan deskripsinya, lihat Referensi gcloud CLI
Memantau progres pembuatan cluster
Output dari perintah cluster create mirip dengan berikut ini:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dalam contoh output, string
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
adalahOPERATION_ID
dari operasi yang berjalan lama. Anda dapat mengetahui status operasi dengan perintah berikut:gcloud container vmware operations describe OPERATION_ID \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION
Untuk informasi selengkapnya, lihat gcloud container vmware operations.
Perlu waktu 15 menit atau lebih untuk membuat cluster pengguna. Anda dapat melihat cluster di Konsol Google Cloud di Cluster GKE kami.
Membuat node pool
Setelah cluster dibuat, Anda perlu membuat minimal satu kumpulan node sebelum untuk men-deploy workload.
gcloud container vmware node-pools create NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --image-type=IMAGE_TYPE \ --boot-disk-size=BOOT_DISK_SIZE \ --cpus=vCPUS \ --memory=MEMORY \ --replicas=NODES \ --enable-load-balancer
Ganti kode berikut:
NODE_POOL_NAME
: Nama pilihan Anda untuk node kolam renang. Namanya harus:- berisi maksimal 40 karakter
- hanya berisi karakter alfanumerik huruf kecil atau tanda hubung (
-
) - diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
USER_CLUSTER_NAME
: Nama objek yang baru dibuat cluster pengguna.FLEET_HOST_PROJECT_ID
: ID project yang cluster terdaftar.REGION
: Region Google Cloud yang Anda yang ditentukan saat Anda membuat cluster.IMAGE_TYPE
: Jenis OS image yang akan dijalankan pada VM di kumpulan node. Tetapkan ke salah satu dari berikut:ubuntu_containerd
ataucos
.BOOT_DISK_SIZE
: Ukuran boot disk di gibibyte (GiB) untuk setiap node dalam kumpulan. Jumlah minimumnya adalah 40 GiB.vCPUs
: Jumlah vCPU untuk setiap node dalam kumpulan node. Jumlah minimumnya adalah 4.MEMORY
: Ukuran memori dalam mebibyte (MiB) untuk setiap nama dari node dalam kumpulan. Jumlah minimumnya adalah 8192 MiB per node pekerja cluster pengguna dan nilainya harus kelipatan 4.NODES
: Jumlah node di node pool. Tujuan minimumnya adalah 3.Jika Anda menggunakan MetalLB sebagai load balancer, sertakan opsi opsional:
--enable-load-balancer
jika Anda ingin mengizinkan speaker MetalLB berjalan dari node dalam kumpulan. MetalLB harus diaktifkan di minimal satu node pool. Jika Anda tidak menyertakan flag ini, Anda harus membuat kumpulan node lain untuk digunakan pada MetalLB.Untuk informasi tentang tanda opsional, lihat Menambahkan kumpulan node dan Referensi gcloud CLI.
Contoh perintah gcloud
LB Logam & DHCP
gcloud container vmware clusters create user-cluster-1 \ --project=example-project-12345 \ --location=us-west1 \ --admin-cluster-membership=projects/example-project-12345/locations/us-west1/memberships/admin-cluster-1 \ --version=1.29.400-gke.81 \ --admin-users=sara@example.com \ --admin-users=amal@example.com \ --enable-dhcp \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --metal-lb-config-address-pools='pool=lb-pool-1,manual-assign=False,avoid-buggy-ips=True,addresses=192.0.2.0/26;pool=lb-ingress-vip-pool,manual-assign=True,addresses=198.51.100.1/32' \ --enable-control-plane-v2 \ --control-plane-vip=203.0.113.1 \ --ingress-vip=198.51.100.1
Untuk deskripsi flag --metal-lb-config-address-pools
,
lihat Load balancer.
LB Logam & IP statis
gcloud container vmware clusters create user-cluster-3 \ --project=example-project-12345 \ --location=europe-west1 \ --admin-cluster-membership=projects/example-project-12345/locations/global/memberships/admin-cluster-1 \ --version=1.29.400-gke.81 \ --admin-users=sara@example.com \ --admin-users=amal@example.com \ --static-ip-config-ip-blocks='gateway=192.0.2.254,netmask=255.255.255.0,ips=192.0.2.10 user-vm-1;192.0.2.11 user-vm-2' \ --static-ip-config-ip-blocks='gateway=192.0.2.254,netmask=255.255.255.0,ips=192.0.2.12 user-vm-3;192.0.2.13 extra-vm' \ --dns-servers=203.0.113.1,203.0.113.2 \ --dns-search-domains=example.com,altostrat.com \ --ntp-servers=203.0.113.3,203.0.113.4 \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --enable-control-plane-v2 \ --control-plane-ip-block 'gateway=192.0.2.254,netmask=255.255.255.0,ips=198.51.100.1 cp-vm-1;198.51.100.2 cp-vm-2;198.51.100.3 cp-vm-3' \ --replicas=3 \ --metal-lb-config-address-pools='pool=lb-pool-1,manual-assign=False,avoid-buggy-ips=True,addresses=192.0.2.0/26;lb-ingress-vip-pool,manual-assign=True,addresses=198.51.100.1/32' \ --control-plane-vip=172.16.20.61 \ --ingress-vip=172.16.20.62
LB manual & IP statis
gcloud container vmware clusters create user-cluster-4 \ --project=example-project-12345 \ --location=asia-east1 \ --admin-cluster-membership=projects/example-project-12345/locations/asia-east1/memberships/admin-cluster-1 \ --version=1.29.400-gke.81 \ --admin-users=sara@example.com \ --admin-users=amal@example.com \ --static-ip-config-ip-blocks='gateway=192.0.2.254,netmask=255.255.255.0,ips=192.0.2.10 user-vm-1;192.0.2.11 user-vm-2';ips=192.0.2.12 user-vm-3;192.0.2.13 extra-vm'\ --dns-servers=203.0.113.1,203.0.113.2 \ --ntp-servers=203.0.113.3,203.0.113.4 \ --service-address-cidr-blocks=10.96.0.0/20 \ --pod-address-cidr-blocks=192.168.0.0/16 \ --enable-control-plane-v2 \ --control-plane-ip-block 'gateway=192.0.2.254,netmask=255.255.255.0,ips=198.51.100.1 cp-vm-1;198.51.100.2 cp-vm-2;198.51.100.3 cp-vm-3' \ --replicas=3 \ --control-plane-vip=192.0.2.60 \ --ingress-vip=192.0.2.50 \ --ingress-http-node-port=30243 \ --ingress-https-node-port=30879
Terraform
Sebelum memulai
Mendapatkan nama dan lokasi keanggotaan fleet cluster admin Anda:
gcloud container fleet memberships list \ --project=FLEET_HOST_PROJECT_ID
Ganti
FLEET_HOST_PROJECT_ID
dengan ID project tempat cluster admin didaftarkan.Outputnya mirip dengan hal berikut ini:
NAME EXTERNAL_ID LOCATION admin-cluster-1 bb7803b4-8438-4b22-859f-4559b4b29072 global admin-cluster-2 ee16ee2b-6ec0-49fc-9413-3c89cbc70854 global admin-cluster-3 fc2b7ef5-39ff-4b63-b919-04c5adc67be4 us-west1
Lokasi menentukan tempat layanan Fleet dan Connect dijalankan. Admin dan klaster yang dibuat sebelum 1.28 ini dikelola oleh Armada global Menghubungkan layanan. Pada versi 1.28 dan yang lebih baru, Anda dapat menentukan
global
atau region Google Cloud saat Anda membuat cluster.Dapatkan daftar versi yang tersedia:
gcloud container vmware clusters query-version-config \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership-location=ADMIN_CLUSTER_REGION \ --location=REGION
Ganti kode berikut:
ADMIN_CLUSTER_NAME
: Nama cluster admin.FLEET_HOST_PROJECT_ID
: ID project yang cluster admin terdaftar.ADMIN_CLUSTER_REGION
: Cluster admin region keanggotaan fleet. Layanan ini bersifat global atau Google Cloud teritorial Anda. Menggunakan lokasi untuk cluster admin dari output darigcloud container fleet memberships list
.REGION
: Region Google Cloud yang Anda akan digunakan saat Anda membuat cluster. Ini adalah region tempat GKE On-Prem API serta menjalankan layanan Fleet dan Connect. Menentukanus-west1
atau lainnya wilayah yang didukung.
Output perintah ini akan mirip dengan berikut ini:
versions: - isInstalled: true version: 1.14.3-gke.25 - version: 1.14.4-gke.54 - version: 1.15.0-gke.581
Versi yang dapat Anda gunakan untuk membuat cluster pengguna dianotasikan dengan
isInstalled=true
, yang berarti cluster admin memiliki edisi khusus versi komponen yang diperlukan untuk mengelola klaster pengguna versi tersebut. Jika Anda ingin untuk membuat cluster pengguna dengan versi lain yang tersedia, lihat Instal versi yang lebih baru dari versi cluster admin.
Contoh
Anda dapat menggunakan contoh konfigurasi dasar berikut untuk membuat cluster pengguna dengan load balancer MetalLB yang dipaketkan dan satu kumpulan node.
Untuk informasi selengkapnya dan contoh lainnya, lihat
Dokumentasi referensi google_gkeonprem_vmware_cluster
.
Tetapkan variabel di terraform.tfvars
Contoh ini memberikan contoh file variabel untuk diteruskan ke main.tf
, yang
menunjukkan cara mengonfigurasi load balancer MetalLB yang dipaketkan dan mengaktifkan
node cluster Anda untuk mendapatkan
alamat IP mereka dari server DHCP yang
sediakan.
Clone repositori
anthos-samples
dan ubah ke direktori lokasi sampel Terraform:git clone https://github.com/GoogleCloudPlatform/anthos-samples cd anthos-samples/anthos-onprem-terraform/avmw_user_cluster_metallb
Buat salinan file
terraform.tfvars.sample
:cp terraform.tfvars.sample terraform.tfvars
Ubah nilai parameter di
terraform.tfvars
.Daftar berikut menjelaskan variabel:
project_id
: ID project yang Anda inginkan untuk membuat cluster inc. Project yang ditentukan juga digunakan sebagai project host fleet. Ini harus berupa project yang sama dengan yang didaftarkan cluster admin. Sesudah dibuat, cluster pengguna akan secara otomatis didaftarkan ke fleet project yang dipilih. Project host fleet tidak dapat diubah setelah cluster dibuat.region
: Region Google Cloud tempat GKE On-Prem API (gkeonprem.googleapis.com
), layanan Fleet (gkehub.googleapis.com
), dan layanan Connect (gkeconnect.googleapis.com
). Tentukanus-west1
atau yang lainnya wilayah yang didukung.admin_cluster_name
: Nama cluster admin yang mengelola pengguna . Contoh ini mengasumsikan bahwa cluster admin menggunakan global sebagai teritorial Anda. Jika Anda memiliki cluster admin regional:- Buka
main.tf
di editor teks. - Telusuri
admin_cluster_membership
, yang terlihat seperti berikut ini:
admin_cluster_membership = "projects/${var.project_id}/locations/global/memberships/${var.admin_cluster_name}"
- Ubah
global
ke region yang digunakan cluster admin dan simpan file.
- Buka
on_prem_version
: Versi Google Distributed Cloud untuk pengguna Anda . Biasanya, Anda menetapkan versi yang sama dengan cluster admin. Untuk menentukan versi yang lebih baru, Instal versi yang lebih baru dari versi cluster admin. Jika Anda tidak mengetahui versi cluster admin, jalankangcloud container vmware clusters query-version-config
, yaitu langkah pertama dalam Instal versi yang lebih baru dari versi cluster admin.admin_user_emails
: Daftar alamat email pengguna yang akan diberikan hak istimewa administratif di cluster. Pastikan untuk menambahkan email jika ingin mengelola cluster tersebut.Saat cluster dibuat, GKE On-Prem API menerapkan Kebijakan kontrol akses berbasis peran (RBAC) Kubernetes ke cluster untuk memberikan
clusterrole/cluster-admin
Kubernetes kepada pengguna admin , yang memberikan akses penuh ke setiap resource di cluster dalam semua namespace. Hal ini juga memungkinkan pengguna masuk ke konsol menggunakan identitas Google mereka.cluster_name
: Nama pilihan Anda untuk cluster pengguna. Nama tidak dapat diubah setelah cluster dibuat. Namanya harus:- berisi maksimal 40 karakter
- hanya berisi karakter alfanumerik huruf kecil atau tanda hubung (
-
) - diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
control_plane_node_cpus
: Jumlah vCPU untuk setiap bidang kontrol node untuk cluster pengguna Anda. Jumlah minimumnya adalah 4 vCPU.control_plane_node_memory
: Ukuran memori dalam mebibyte (MiB) untuk setiap nama bidang kontrol untuk cluster pengguna Anda. Nilai minimumnya adalah 8192 dan itu harus kelipatan 4.control_plane_node_replicas
: Jumlah node bidang kontrol untuk pada cluster pengguna Anda. Misalnya, Anda dapat memasukkan 1 node bidang kontrol untuk lingkungan pengembangan dan 3 node bidang kontrol untuk ketersediaan tinggi (HA), yaitu lingkungan produksi.control_plane_vip
: Alamat IP virtual (VIP) yang telah Anda pilih untuk melakukan konfigurasi pada load balancer untuk server Kubernetes API dari cluster pengguna.ingress_vip
: Alamat IP yang telah Anda pilih untuk dikonfigurasi di untuk proxy masuknya (load balancer).lb_address_pools
: Daftar peta yang menentukan kumpulan alamat yang akan yang digunakan oleh load balancer MetalLB. VIP masuk harus berada di salah satu kumpulan objek ini. Tentukan nilai berikut:name
: Nama untuk kolam renang.addresses
: Rentang alamat IP dalam Notasi CIDR atau format rentang dengan tanda hubung. Untuk menentukan satu IP alamat di dalam kumpulan (seperti untuk VIP masuk), gunakan /32 dalam CIDR notasi, misalnya:192.0.2.1/32
.
Ganti contoh alamat IP dengan nilai Anda, lalu tambahkan jika diperlukan.
Simpan perubahan di
terraform.tfvars
. Jika Anda tidak ingin membuat perubahan opsional padamain.tf
, lanjutkan ke bagian berikut, Membuat cluster dan satu kumpulan node.
Opsional: Konfigurasi setelan cluster di main.tf
Bagian ini menjelaskan beberapa perubahan konfigurasi opsional yang dapat Anda
buat di main.tf
. Sebelum melakukan perubahan, buat cadangan main.tf
:
cp main.tf main.tf.bak
Mode penentuan alamat IP node pekerja
Secara {i>default<i}, main.tf
mengonfigurasi cluster untuk menggunakan server DHCP yang Anda
sediakan untuk menetapkan alamat IP ke worker node cluster. DHCP adalah
dikonfigurasi dengan menyertakan peta dhcp_config
dalam network_config
diblokir. Jika Anda ingin menyediakan alamat IP statis untuk worker node Anda, pastikan
perubahan berikut pada main.tf
:
Ganti blok
network_config
dan sertakan blokstatic_ip_config
. Contoh:network_config { service_address_cidr_blocks = ["10.96.0.0/12"] pod_address_cidr_blocks = ["192.168.0.0/16"] host_config { dns_servers = ["10.254.41.1"] ntp_servers = ["216.239.35.8"] } static_ip_config { ip_blocks { netmask = "255.255.252.0" gateway = "10.251.31.254" ips { ip = "10.251.30.153" hostname = "vm-1" } ips { ip = "10.251.31.206" hostname = "vm-2" } ips { ip = "10.251.31.193" hostname = "vm-3" } ips { ip = "10.251.30.230" hostname = "vm-4" } } } }
Ganti nilai berikut dengan nilai Anda:
service_address_cidr_blocks
: Rentang alamat IP, dalam format CIDR, yang akan digunakan untuk Layanan di cluster Anda. Minimal rentang /24.pod_address_cidr_blocks
: Rentang alamat IP, dalam format CIDR, hingga digunakan untuk Pod di cluster Anda. Minimal rentang /18.dns_servers
: Daftar alamat IP server DNS untuk VM.ntp_servers
: Daftar alamat IP server waktu untuk VM untuk digunakan.Di blok
static_ip_config
, ganti nilai untuknetmask
dangateway
dengan alamat untuk jaringan Anda. Gantiip
danhostname
dengan alamat IP dan nama host node pekerja Anda.
Mengonfigurasi Controlplane V2
Secara default, main.tf
mengonfigurasi bidang kontrol cluster pengguna untuk
berjalan di satu atau beberapa node
di cluster admin (disebut sebagai
model kubeception). Jika ingin, Anda dapat mengaktifkan Controlplane V2. Kapan
Controlplane V2 diaktifkan, bidang kontrol untuk cluster pengguna berjalan pada satu
atau lebih banyak node
di cluster pengguna itu sendiri. Untuk mengkonfigurasi Controlplane V2,
lakukan perubahan berikut pada main.tf
:
Tambahkan baris berikut setelah baris dengan
admin_cluster_membership
:enable_control_plane_v2 = "true"
Tambahkan peta
control_plane_v2_config
ke bloknetwork_config
, untuk contoh:control_plane_v2_config { control_plane_ip_block { netmask = "255.255.252.0" gateway = "10.250.71.254" ips { ip = "10.250.68.54" hostname = "cpv2-vm1" } ips { ip = "10.250.68.128" hostname = "cpv2-vm2" } ips { ip = "10.250.71.50" hostname = "cpv2-vm3" } } }
Ganti nilai untuk
netmask
dangateway
dengan alamat IP dari jaringan. Gantiip
danhostname
dengan alamat IP Anda node bidang conrol.
Membuat cluster dan satu kumpulan node
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 rencana Terraform untuk membuat cluster pengguna:
terraform apply
Pembuatan cluster pengguna memerlukan waktu sekitar 15 menit, dan selama 15 menit lagi untuk membuat kumpulan node. Anda dapat melihat cluster di Konsol Google Cloud di Cluster GKE kami.
Pemecahan masalah
Lihat Memecahkan masalah pembuatan dan upgrade cluster.