Halaman ini menunjukkan cara membuat cluster admin untuk Google Distributed Cloud. Cluster admin mengelola cluster pengguna yang menjalankan beban kerja Anda. Jika Anda ingin menggunakan domain topologi, lihat Membuat cluster admin untuk digunakan dengan domain topologi.
Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud
Untuk mengetahui detail selengkapnya tentang cluster admin, lihat ringkasan penginstalan.
Sebelum memulai
Pastikan Anda telah menyiapkan dan dapat login ke workstation admin seperti yang dijelaskan dalam artikel Membuat workstation admin.
Pastikan file kunci JSON untuk akun layanan ada di workstation admin Anda.
Tinjau dokumen perencanaan alamat IP. Pastikan Anda memiliki cukup alamat IP yang tersedia untuk tiga node bidang kontrol dan VIP bidang kontrol. Jika Anda berencana membuat cluster pengguna kubeception, Anda harus memiliki cukup alamat IP yang tersedia untuk node bidang kontrol cluster pengguna tersebut.
Tinjau ringkasan load balancing dan tinjau kembali keputusan Anda tentang jenis load balancer yang ingin Anda gunakan. Untuk load balancer manual, Anda harus menyiapkan load balancer sebelum membuat cluster admin.
Jika Anda menggunakan
gkectl
untuk membuat cluster admin, tentukan apakah Anda ingin menggunakan registry publik atau pribadi untuk komponen Google Distributed Cloud. Untuk mengetahui informasi tentang cara menggunakan registry Docker pribadi, lihatprivateRegistry
. Baik Terraform maupun konsol Google Cloud tidak mendukung penggunaan registry Docker pribadi untuk komponen sistem.Tentukan jenis sistem operasi yang ingin Anda jalankan di node cluster admin.
Jika organisasi Anda mewajibkan traffic keluar melewati server proxy, pastikan untuk mengizinkan API yang diperlukan dan alamat Artifact Registry.
Pada versi 1.29 dan yang lebih baru, pemeriksaan pra-penerbangan sisi server diaktifkan secara default. Pemeriksaan pra-penerbangan sisi server memerlukan aturan firewall tambahan. Di Aturan firewall untuk cluster admin, telusuri "Pemeriksaan awal" dan pastikan semua aturan firewall yang diperlukan telah dikonfigurasi. Pemeriksaan pra-penerbangan sisi server dijalankan di cluster bootstrap, bukan secara lokal di workstation admin.
Buat cluster admin dengan alat pilihan Anda
Bagian ini memberikan langkah-langkah untuk membuat cluster admin menggunakan gkectl
, Terraform, dan konsol Google Cloud . Untuk mengetahui informasi yang membantu Anda memilih alat
dan batasan pada beberapa alat, lihat
Memilih alat untuk mengelola siklus proses cluster.
gkectl
Secara default di versi 1.32 dan yang lebih tinggi, cluster baru yang dibuat menggunakan gkectl
akan dibuat dengan cluster lanjutan diaktifkan. Pastikan untuk meninjau
Perbedaan saat menjalankan cluster lanjutan.
Jika tidak ingin mengaktifkan cluster lanjutan, Anda harus menetapkan
enableAdvancedCluster
ke false
dalam file konfigurasi Anda.
Ringkasan prosedur
Berikut adalah langkah-langkah utama yang terlibat dalam pembuatan cluster admin:
- Isi file konfigurasi Anda.
- Tentukan detail untuk cluster admin baru Anda dengan menyelesaikan dan memvalidasi file konfigurasi cluster admin, file konfigurasi kredensial, dan mungkin file blok IP.
- Impor image OS ke vSphere, dan kirim image container ke registry pribadi jika berlaku.
- Jalankan
gkectl prepare
.
- Buat cluster admin.
- Gunakan
gkectl
untuk membuat cluster admin baru seperti yang ditentukan dalam file konfigurasi yang telah selesai. Saat membuat cluster admin, Google Distributed Cloud akan men-deploy cluster Kubernetes in Docker (kind) untuk menghosting sementara pengontrol Kubernetes yang diperlukan untuk membuat cluster admin. Cluster sementara ini disebut cluster bootstrap. Cluster pengguna dibuat dan diupgrade oleh admin pengelolanya tanpa menggunakan cluster bootstrap.
- Pastikan cluster admin Anda berjalan.
- Gunakan
kubectl
untuk melihat node cluster Anda.
Di akhir prosedur ini, Anda akan memiliki cluster admin yang berjalan dan dapat digunakan untuk membuat dan mengelola cluster pengguna.
Jika Anda menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan beberapa perintah gkectl
, seperti "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Untuk menghindari error ini, tambahkan
parameter --skip-validation-gcp
ke perintah Anda.
Isi file konfigurasi Anda
Pastikan workstation admin Anda memiliki
gkectl
versi yang diperlukan. Biasanya, Anda menggunakan versigkectl
yang sama dengan versi yang akan digunakan saat membuat cluster. Anda menentukan versi cluster di kolomgkeOnPremVersion
dalam file konfigurasi cluster. Aturan versi berikut diterapkan selama pembuatan cluster:Versi minor
gkectl
tidak boleh lebih rendah dari versi minor untuk cluster. Misalnya, membuat cluster 1.30 menggunakan versi 1.29gkectl
tidak diizinkan. Versi patch tidak berpengaruh. Misalnya, Anda dapat menggunakangkectl
versi 1.29.0-gke.1456 untuk membuat cluster dengan versi patch yang lebih tinggi, seperti 1.29.1000-gke.94.Versi minor
gkectl
tidak boleh lebih dari dua versi minor lebih tinggi dari versi cluster. Misalnya, jika Anda membuat cluster 1.28, versigkectl
dapat berupa 1.29 atau 1.30. Namun, Anda tidak dapat menggunakangkectl
versi 1.31 karena versi tersebut tiga versi minor lebih tinggi daripada versi cluster.
Jika perlu, lihat Mendownload
gkectl
untuk mendapatkangkectl
versi yang didukung.
Jika Anda menggunakan gkeadm
untuk membuat workstation admin, tindakan ini akan menghasilkan file konfigurasi bernama admin-cluster.yaml
.
Jika Anda tidak menggunakan gkeadm
untuk membuat workstation admin, buat
admin-cluster.yaml
dengan menjalankan perintah ini di workstation admin:
gkectl create-config admin
File konfigurasi ini digunakan untuk membuat cluster admin Anda.
Pahami file konfigurasi dengan memindai dokumen file konfigurasi cluster admin. Sebaiknya buka dokumen ini di tab atau jendela terpisah, karena Anda akan merujuknya saat menyelesaikan langkah-langkah berikut.
name
Jika Anda ingin menentukan nama untuk cluster admin, isi kolom
name
.
bundlePath
Bundle adalah file yang di-zip yang berisi komponen cluster. Fitur ini disertakan dengan workstation admin. Kolom ini sudah diisi untuk Anda.
vCenter
Kolom di bagian ini sudah diisi dengan nilai yang Anda masukkan saat Anda membuat workstation admin.
enableAdvancedCluster
Jika Anda ingin mengaktifkan fitur cluster lanjutan pratinjau, tetapkan
enableAdvancedCluster
ke true
.
Perhatikan batasan berikut pada pratinjau cluster lanjutan:
- Anda dapat mengaktifkan cluster lanjutan pada saat pembuatan cluster untuk cluster 1.31 baru saja.
- Setelah cluster lanjutan diaktifkan, Anda tidak akan dapat mengupgrade cluster ke 1.32. Aktifkan cluster lanjutan hanya di lingkungan pengujian.
network
Isi bagian
network.controlPlaneIPBlock
dan bagian
network.hostConfig
. Tetapkan juga
adminMaster.replicas
ke 3
.
Kolom network.podCIDR dan network.serviceCIDR telah diisi sebelumnya dengan nilai yang dapat Anda biarkan tidak berubah, kecuali jika nilai tersebut berkonflik dengan alamat yang sudah digunakan di jaringan Anda. Kubernetes menggunakan rentang ini untuk menetapkan alamat IP ke Pod dan Service di cluster Anda.
Isi kolom lainnya di bagian jaringan file konfigurasi sesuai kebutuhan.
loadBalancer
Sisihkan VIP untuk server Kubernetes API cluster admin Anda. Berikan
VIP Anda sebagai nilai untuk
loadBalancer.vips.controlPlaneVIP
Untuk mengetahui informasi selengkapnya, lihat VIP di subnet cluster admin.
Tentukan jenis load balancing yang ingin Anda gunakan. Opsinya adalah:
Load balancing yang dibundel MetalLB. Tetapkan
loadBalancer.kind
ke"MetalLB"
.Load balancing manual. Tetapkan
loadBalancer.kind
ke"ManualLB"
, dan hapus bagianmanualLB
.
Untuk mengetahui informasi selengkapnya tentang opsi load balancing, lihat Ringkasan load balancing.
antiAffinityGroups
Tetapkan antiAffinityGroups.enabled
ke true
atau false
sesuai preferensi Anda.
Gunakan kolom ini untuk menentukan apakah Anda ingin Google Distributed Cloud membuat aturan anti-afinitas Distributed Resource Scheduler (DRS) VMware untuk node cluster admin Anda, sehingga node tersebut tersebar di setidaknya tiga host fisik di pusat data Anda.
adminMaster
Jika Anda ingin menentukan CPU dan memori untuk node control plane cluster admin, isi kolom cpus
dan memoryMB
di bagian adminMaster
.
Cluster admin harus memiliki tiga node bidang kontrol. Tetapkan kolom replicas
di bagian adminMaster
ke 3
.
proxy
Jika jaringan yang akan memiliki node cluster admin Anda berada di belakang server proxy, isi bagian
proxy
.
privateRegistry
Tentukan tempat Anda ingin menyimpan image container untuk komponen Google Distributed Cloud. Opsinya adalah:
Artifact Registry
Registry Docker pribadi Anda sendiri.
Jika Anda ingin menggunakan registry pribadi Anda sendiri, isi bagian
privateRegistry
.
componentAccessServiceAccountKeyPath
Google Distributed Cloud menggunakan akun layanan akses komponen Anda untuk mendownload komponen cluster dari Artifact Registry. Kolom ini menyimpan jalur file kunci JSON untuk akun layanan akses komponen Anda.
Kolom ini sudah diisi untuk Anda.
gkeConnect
Daftarkan cluster admin Anda
ke Google Cloud fleet dengan mengisi bagian
gkeConnect
. Jika Anda menyertakan bagian stackdriver
dan cloudAuditLogging
dalam file konfigurasi, ID di gkeConnect.projectID
harus sama dengan ID yang ditetapkan di stackdriver.projectID
dan cloudAuditLogging.projectID
. Jika ID project tidak sama, pembuatan cluster akan gagal.
Di 1.28 dan yang lebih baru, Anda dapat secara opsional menentukan region tempat layanan Fleet dan Connect berjalan di gkeConnect.location
. Jika Anda tidak menyertakan kolom ini,
cluster akan menggunakan instance global dari layanan ini.
Jika Anda menyertakan gkeConnect.location
, region yang Anda tentukan harus sama dengan region yang dikonfigurasi di cloudAuditLogging.clusterLocation
, stackdriver.clusterLocation
, dan gkeOnPremAPI.location
. Jika regionnya
tidak sama, pembuatan cluster akan gagal.
gkeOnPremAPI
Jika GKE On-Prem API diaktifkan di projectGoogle Cloud , semua cluster dalam project tersebut akan otomatis didaftarkan ke GKE On-Prem API di region yang dikonfigurasi di stackdriver.clusterLocation
.
Region gkeOnPremAPI.location
harus sama dengan region yang ditentukan dalam
cloudAuditLogging.clusterLocation
, gkeConnect.location
,
dan stackdriver.clusterLocation
. Jika region tidak sama, pembuatan cluster akan gagal.
Jika Anda ingin mendaftarkan semua cluster dalam project di GKE On-Prem API, pastikan untuk melakukan langkah-langkah di bagian Sebelum memulai untuk mengaktifkan dan menggunakan GKE On-Prem API dalam project.
Jika Anda tidak ingin mendaftarkan cluster di GKE On-Prem API, sertakan bagian ini dan tetapkan
gkeOnPremAPI.enabled
kefalse
. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkangkeonprem.googleapis.com
(nama layanan untuk GKE On-Prem API) dalam project. Untuk mengetahui petunjuknya, lihat Menonaktifkan layanan.
stackdriver
Jika Anda ingin mengaktifkan
Cloud Logging dan Cloud Monitoring
untuk cluster Anda, isi bagian
stackdriver
.
Bagian ini wajib diisi secara default. Artinya, jika Anda tidak mengisi bagian ini, Anda harus menyertakan flag --skip-validation-stackdriver
saat menjalankan gkectl create admin
.
Perhatikan persyaratan berikut:
Jika Anda mengaktifkan cluster lanjutan, Anda harus menentukan jalur yang sama di
cloudAuditLogging.serviceAccountKeyPath
danstackdriver.serviceAccountKeyPath
.ID di
stackdriver.projectID
harus sama dengan ID digkeConnect.projectID
dancloudAuditLogging.projectID
.Region Google Cloud yang ditetapkan di
stackdriver.clusterLocation
harus sama dengan region yang ditetapkan dicloudAuditLogging.clusterLocation
dangkeConnect.location
. Selain itu, jikagkeOnPremAPI.enabled
adalahtrue
, region yang sama harus ditetapkan digkeOnPremAPI.location
.
Jika project ID dan region tidak sama, pembuatan cluster akan gagal.
cloudAuditLogging
Jika Anda ingin mengintegrasikan log audit dari server Kubernetes API cluster Anda dengan Cloud Audit Logs, isi bagian
cloudAuditLogging
.
Perhatikan persyaratan berikut:
Jika mengaktifkan cluster lanjutan, Anda harus menentukan jalur yang sama di
cloudAuditLogging.serviceAccountKeyPath
danstackdriver.serviceAccountKeyPath
.ID di
cloudAuditLogging.projectID
harus sama dengan ID digkeConnect.projectID
danstackdriver.projectID
.Region Google Cloud yang ditetapkan di
cloudAuditLogging.clusterLocation
harus sama dengan region yang ditetapkan distackdriver.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.
clusterBackup
Jika Anda ingin mengaktifkan
pencadangan cluster admin,
tetapkan
clusterBackup.datastore
ke
datastore vSphere
tempat Anda ingin menyimpan cadangan cluster.
Jika Anda mengaktifkan cluster lanjutan, hapus bagian ini. Mencadangkan cluster admin ke datastore vSphere tidak didukung.
autoRepair
Jika Anda ingin
mengaktifkan perbaikan node otomatis
untuk cluster admin, tetapkan
autoRepair.enabled
ke true
.
secretsEncryption
Jika Anda ingin mengaktifkan
enkripsi Secret yang selalu aktif,
isi bagian
secretsEncryption
.
Jika Anda mengaktifkan cluster lanjutan, tetapkan secretsEncryption.enabled
ke false
.
Enkripsi Secrets yang selalu aktif tidak didukung.
osImageType
Tentukan jenis image OS yang ingin Anda gunakan untuk node cluster admin, dan
isi bagian
osImageType
dengan tepat.
Jika Anda mengaktifkan cluster lanjutan, tetapkan osImageType
ke ubuntu_cgroupv2
atau
ubuntu_containerd
.
Contoh file konfigurasi yang telah diisi
Berikut adalah contoh file konfigurasi cluster admin yang telah diisi. Konfigurasi mengaktifkan beberapa fitur yang tersedia, tetapi tidak semuanya.
vc-01-admin-cluster.yaml
apiVersion: v1 kind: AdminCluster name: "gke-admin-01" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.28.0-gke.1-full.tgz" vCenter: address: "vc01.example" datacenter: "vc-01" cluster: "vc01-workloads-1" resourcePool: "vc-01-pool-1" datastore: "vc01-datastore-1" caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem"" credentials: fileRef: path: "credential.yaml" entry: "vCenter" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "vc01-net-1" controlPlaneIPBlock: netmask: "255.255.248.0" gateway: "21.0.143.254" ips: - ip: "21.0.140.226" hostname: "admin-cp-vm-1" - ip: "21.0.141.48" hostname: "admin-cp-vm-2" - ip: "21.0.141.65" hostname: "admin-cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.20.59" kind: "MetalLB" antiAffinityGroups: enabled: true adminMaster: cpus: 4 memoryMB: 16384 replicas: 3 componentAccessServiceAccountKeyPath: "sa-key.json" gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false clusterBackup: datastore: "vc-01-datastore-bu" autoRepair: enabled: true osImageType: "ubuntu_containerd"
Memvalidasi file konfigurasi Anda
Setelah Anda mengisi file konfigurasi cluster admin, jalankan
gkectl check-config
untuk memverifikasi bahwa file tersebut valid:
gkectl check-config --config ADMIN_CLUSTER_CONFIG
Ganti ADMIN_CLUSTER_CONFIG dengan jalur file konfigurasi cluster admin Anda.
Jika perintah menampilkan pesan kegagalan, perbaiki masalahnya dan validasi file lagi.
Jika Anda ingin melewati validasi yang lebih memakan waktu, teruskan flag --fast
.
Untuk melewati validasi satu per satu, gunakan flag --skip-validation-xxx
. Untuk
mempelajari perintah check-config
lebih lanjut, lihat
Menjalankan pemeriksaan pra-penerbangan.
Mendapatkan image OS
Jalankan gkectl prepare
untuk menginisialisasi lingkungan vSphere Anda:
gkectl prepare --config ADMIN_CLUSTER_CONFIG
Perintah gkectl prepare
melakukan tugas persiapan berikut:
Mengimpor image OS ke vSphere dan menandainya sebagai template VM.
Jika Anda menggunakan registry Docker pribadi, kirim image container ke registry Anda.
Secara opsional, memvalidasi pengesahan build image container, sehingga memverifikasi bahwa image dibangun dan ditandatangani oleh Google serta siap untuk di-deploy.
Buat cluster admin
Buat cluster admin:
gkectl create admin --config ADMIN_CLUSTER_CONFIG
Jika Anda menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan beberapa perintah gkectl
, seperti "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Untuk menghindari error ini, tambahkan
parameter --skip-validation-gcp
ke perintah Anda.
Melanjutkan pembuatan cluster admin setelah terjadi kegagalan
Jika pembuatan cluster admin gagal atau dibatalkan, Anda dapat menjalankan perintah create
lagi:
gkectl create admin --config ADMIN_CLUSTER_CONFIG
Cari file kubeconfig cluster admin
Perintah gkectl create admin
akan membuat file kubeconfig bernama kubeconfig
di direktori saat ini. Anda akan memerlukan file kubeconfig ini nanti untuk berinteraksi dengan cluster admin.
File kubeconfig berisi nama cluster admin Anda. Untuk melihat nama cluster, Anda dapat menjalankan:
kubectl config get-clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Output menampilkan nama cluster. Contoh:
NAME gke-admin-tqk8x
Jika ingin, Anda dapat mengubah nama dan lokasi file kubeconfig.
Mengelola file checkpoint.yaml
Bagian ini hanya berlaku untuk cluster admin non-HA. File checkpoint.yaml
tidak digunakan untuk pembuatan cluster admin HA.
Saat Anda menjalankan perintah gkectl create admin
untuk membuat cluster admin, perintah tersebut akan membuat file titik pemeriksaan di folder datastore yang sama dengan disk data cluster admin. Secara default, file ini memiliki nama
DATA_DISK_NAME‑checkpoint.yaml
. Jika panjang
DATA_DISK_NAME lebih besar dari atau sama dengan 245 karakter, maka, karena
batas vSphere pada panjang nama file, nama tersebut adalah
DATA_DISK_NAME.yaml
.
File ini berisi status dan kredensial cluster admin, dan digunakan untuk upgrade di masa mendatang. Jangan hapus file ini kecuali jika Anda mengikuti proses untuk menghapus cluster admin.
Jika telah mengaktifkan enkripsi VM di instance vCenter Server, Anda harus memiliki hak istimewa Cryptographic operations.Direct Access sebelum membuat atau mengupgrade cluster admin. Jika tidak, pos pemeriksaan tidak akan diupload. Jika Anda tidak dapat memperoleh hak istimewa ini, Anda dapat menonaktifkan upload file titik pemeriksaan menggunakan flag tersembunyi --disable-checkpoint
saat menjalankan perintah yang relevan.
File checkpoint.yaml
akan otomatis diperbarui saat Anda menjalankan perintah
gkectl upgrade admin
, atau saat Anda menjalankan perintah gkectl update
yang memengaruhi cluster admin.
Pastikan cluster admin Anda berjalan
Pastikan cluster admin Anda berjalan:
kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster admin Anda.
Output menampilkan node cluster admin. Contoh:
admin-cp-vm-1 Ready control-plane,master ... admin-cp-vm-2 Ready control-plane,master ... admin-cp-vm-3 Ready control-plane,master ...
Mencadangkan file
Sebaiknya cadangkan file kubeconfig cluster admin Anda. Artinya, salin file kubeconfig dari workstation admin Anda ke lokasi lain. Kemudian, jika Anda kehilangan akses ke workstation admin, atau jika file kubeconfig di workstation admin Anda terhapus secara tidak sengaja, Anda masih memiliki akses ke cluster admin.
Sebaiknya Anda juga mencadangkan kunci SSH pribadi untuk cluster admin Anda. Kemudian, jika Anda kehilangan akses ke cluster admin, Anda masih dapat menggunakan SSH untuk terhubung ke node cluster admin. Dengan begitu, Anda dapat memecahkan masalah dan menyelidiki masalah konektivitas ke cluster admin.
Ekstrak kunci SSH dari cluster admin ke file bernama
admin-cluster-ssh-key
:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get secrets -n kube-system sshkeys \ -o jsonpath='{.data.vsphere_tmp}' | base64 -d > admin-cluster-ssh-key
Sekarang Anda dapat mencadangkan admin-cluster-ssh-key
ke lokasi lain pilihan Anda.
Kebijakan RBAC
Saat Anda mengisi
bagian gkeConnect
dalam file konfigurasi cluster admin, cluster akan didaftarkan ke
fleet Anda selama pembuatan atau pembaruan. Untuk mengaktifkan fungsi pengelolaan armada, Google Cloud men-deploy
agen Connect dan membuat akun layanan Google yang merepresentasikan project tempat cluster terdaftar.
Agen Connect membuat koneksi dengan akun layanan untuk menangani permintaan ke server Kubernetes API cluster. Hal ini memungkinkan akses ke fitur pengelolaan cluster dan workload di Google Cloud, termasuk akses ke konsolGoogle Cloud , yang memungkinkan Anda berinteraksi dengan cluster.
Server Kubernetes API cluster admin harus dapat mengizinkan permintaan dari agen Connect. Untuk memastikan hal ini, kebijakan role-based access control (RBAC) berikut dikonfigurasi di akun layanan:
Kebijakan peniruan identitas yang mengizinkan agen Connect mengirim permintaan ke server Kubernetes API atas nama akun layanan.
Kebijakan izin yang menentukan operasi yang diizinkan pada resource Kubernetes lainnya.
Akun layanan dan kebijakan RBAC diperlukan agar Anda dapat mengelola siklus proses cluster pengguna di konsol Google Cloud .
Terraform
Ringkasan prosedur
Sebelum membuat cluster admin, Anda harus menjalankan perintah
gkectl register bootstrap
di workstation admin. Perintah ini men-deploy cluster Kubernetes di Docker
(kind) di workstation admin. Cluster bootstrap ini menghosting
pengontrol Kubernetes yang diperlukan untuk membuat cluster admin. Saat Anda membuat
cluster admin, pengontrol di cluster bootstrap akan menyediakan node,
menjalankan pemeriksaan pendahuluan, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap
akan otomatis dihapus setelah cluster admin berhasil
dibuat.
Berikut adalah langkah-langkah tingkat tinggi untuk membuat cluster admin menggunakan Terraform:
- Isi file konfigurasi Anda.
- Gunakan resource
google_gkeonprem_vmware_admin_cluster dan contoh berikut
untuk membuat file konfigurasi
main.tf
.
- Buat cluster
bootstrap
. - Jalankan
gkectl register bootstrap
untuk membuat cluster bootstrap. Setelah perintah selesai membuat cluster bootstrap, output akan memberi tahu Anda untuk menyelesaikan konfigurasi cluster admin. Proses terus berjalan hingga cluster admin dibuat.
- Buat cluster
- Buat cluster admin.
- Di jendela terminal lain atau di komputer lain yang memiliki akses ke
GKE On-Prem API, jalankan perintah
terraform
untuk membuat cluster admin baru seperti yang ditentukan dalam file konfigurasimain.tf
yang telah selesai.
Isi file konfigurasi Anda
Contoh berikut menunjukkan cara membuat cluster admin dengan ketersediaan tinggi (HA)
dengan tiga node bidang kontrol dengan MetalLB. Di 1.28 dan yang lebih tinggi, cluster admin baru harus memiliki ketersediaan tinggi. Karena persyaratan ini, Anda
harus menetapkan control_plane_node.replicas
ke 3.
Untuk mengetahui informasi selengkapnya dan contoh lainnya, lihat
dokumentasi referensi google_gkeonprem_vmware_admin_cluster
. Untuk mengetahui informasi tentang cara menggunakan registry pribadi untuk image sistem, lihat Mengonfigurasi registry container pribadi.
Isi variabel placeholder dalam contoh berikut, lalu salin dan tempel
ke main.tf
. Jika Anda menggunakan gkeadm
untuk membuat workstation admin, buka file konfigurasi workstation admin agar Anda dapat menyalin nilai dari bagian vCenter
ke variabel placeholder yang sesuai.
resource "google_gkeonprem_vmware_admin_cluster" "admin-cluster-metallb" { provider = google-beta name = "ADMIN_CLUSTER_NAME" project = "PROJECT_ID" location = "REGION" description = "DESCRIPTION" bootstrap_cluster_membership = "projects/PROJECT_ID/locations/REGION/memberships/bootstrap-ADMIN_CLUSTER_NAME" on_prem_version = "VERSION" image_type = "IMAGE_TYPE" vcenter { address = "VCENTER_ADDRESS" datacenter = "DATA_CENTER" cluster = "VCENTER_CLUSTER" resource_pool = "RESOURCE_POOL" datastore = "DATASTORE" ca_cert_data = "CA_CERT_DATA" } network_config { service_address_cidr_blocks = ["10.96.232.0/24"] pod_address_cidr_blocks = ["192.168.0.0/16"] vcenter_network = "NETWORK" dhcp_ip_config { enabled = true } host_config { dns_servers = ["DNS_SERVERS"] ntp_servers = ["NTP_SERVERS"] } ha_control_plane_config { control_plane_ip_block { gateway = "GATEWAY" netmask = "NETMASK" ips { hostname = "CONTROL_PLANE_HOST_1" ip = "CONTROL_PLANE_NODE_IP_1" } ips { hostname = "CONTROL_PLANE_HOST_2" ip = "CONTROL_PLANE_NODE_IP_2" } ips { hostname = "CONTROL_PLANE_HOST_3" ip = "CONTROL_PLANE_NODE_IP_3" } } } } control_plane_node { cpus = NUM_CPUS memory = MEMORY replicas = 3 } load_balancer { vip_config { control_plane_vip = "CONTROL_PLANE_VIP" } metal_lb_config { enabled = true } } }
Ganti kode berikut:
ADMIN_CLUSTER_NAME
: nama untuk cluster admin. Nama memiliki panjang maksimum 20 karakter.PROJECT_ID
: Google Cloud project ID.REGION
: region Google Cloud tempat GKE On-Prem API (gkeonprem.googleapis.com
), layanan Fleet (gkehub.googleapis.com
), dan layanan Connect (gkeconnect.googleapis.com
) berjalan. Tentukanus-west1
atau wilayah yang didukung lainnya.Kolom
location
sesuai dengan flag--location
dalam perintahgkectl register bootstrap
.DESCRIPTION
: deskripsi cluster admin.VERSION
: versi Google Distributed Cloud untuk cluster. Pembuatan cluster menggunakan Terraform hanya didukung di versi 1.28 dan yang lebih tinggi. Versi yang Anda tentukan di sini harus cocok dengan versi bundle yang Anda tentukan dalam flag--bundle-path
di perintahgkectl register bootstrap
. Untuk mengetahui daftar versi, lihat Versi Google Distributed Cloud.IMAGE_TYPE
: jenis image OS yang akan dijalankan di node cluster admin Anda. Tentukan salah satu opsi berikut: "ubuntu_containerd
", "cos
", "ubuntu_cgv2
", atau "cos_cgv2
".VCENTER_ADDRESS
: alamat vCenter Server.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.credentials.address
.Kolom
vcenter.address
sesuai dengan flag--vcenter-address
dalam perintahgkectl register bootstrap
.
DATA_CENTER
: nama pusat data vCenter Anda.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.datacenter
.Kolom
vcenter.datacenter
sesuai dengan flag--vcenter-datacenter
dalam perintahgkectl register bootstrap
.
VCENTER_CLUSTER
: nama cluster vCenter Anda.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.cluster
.Kolom
vcenter.cluster
sesuai dengan flag--vcenter-cluster
dalam perintahgkectl register bootstrap
.
RESOURCE_POOL
: nama atau jalur kumpulan resource vCenter.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.resourcePool
.Kolom
vcenter.resource_pool
sesuai dengan flag--vcenter-resource-pool
dalam perintahgkectl register bootstrap
.
DATASTORE
: nama datastore vCenter Anda. Nilai yang Anda tentukan harus berupa nama, bukan jalur. Jika Anda perlu memasukkan jalur, tambahkan kolom berikut:folder = "FOLDER"
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.datastore
.Kolom
vcenter.datastore
sesuai dengan flag--vcenter-datastore
dalam perintahgkectl register bootstrap
.
Jika Anda ingin menggunakan kebijakan penyimpanan VM untuk node cluster, hapus kolom
vcenter.datastore
dan tambahkanvcenter.storage_policy_name
sebagai gantinya. Selain itu, tambahkan flag--vcenter-storage-policy
ke perintahgkectl register bootstrap
. Anda harus menentukan nilai untukvcenter.datastore
atauvcenter.storage_policy_name
, tetapi tidak keduanya.FOLDER
: nama folder vCenter tempat VM cluster Anda akan berada. Jika Anda tidak menggunakan folder, hapus kolom ini.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.folder
.Kolom
vcenter.folder
sesuai dengan flag--vcenter-folder
dalam perintahgkectl register bootstrap
.
CA_CERT_DATA
: masukkan sertifikat CA vCenter dalam format PEM. Untuk mendapatkan data sertifikat CA:Jalankan perintah berikut:
cat CA_CERT_PATH_LOCAL | tr '\n' '\\n'
Ganti
CA_CERT_PATH_LOCAL
dengan jalur ke sertifikat CA root untuk vCenter Server Anda. Jika Anda menggunakangkeadm
untuk membuat workstation admin, Anda dapat menggunakan nilai dari kolomcaCertPath
dalam file konfigurasi workstation admin, yang merupakan jalur di komputer lokal Anda.gkeadm
menyalin file sertifikat CA ke workstation admin Anda. Anda harus menentukan jalur workstation admin dalam flag--vcenter-ca-cert-path
di perintahgkectl register bootstrap
.Salin sertifikat yang dihasilkan dari perintah sebelumnya dan tempelkan ke editor teks. Ganti semua kemunculan karakter garis miring terbalik (\) dengan karakter baris baru (\n).
Salin sertifikat yang diubah dan tempelkan ke variabel placeholder
CA_CERT_DATA
.
NETWORK
: masukkan nama jaringan vCenter Anda.File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.network
.Kolom
network_config.vcenter_network
sesuai dengan flag--vcenter-network
dalam perintahgkectl register bootstrap
.
GATEWAY
: alamat IP gateway default untuk subnet yang memiliki node cluster bidang kontrol Anda.NETMASK
: netmask untuk subnet yang memiliki node cluster bidang kontrol Anda.DNS_SERVERS
: alamat IP server DNS.NTP_SERVERS
: alamat IP server waktu (NTP).Masukkan alamat IP dan secara opsional, nama host untuk tiga node bidang kontrol di bagian
control_plane_ip_block.ips
. Jika Anda tidak memasukkan nama host, hapus kolomhostname
dari konfigurasi.NUM_CPUS
: jumlah vCPU untuk setiap node bidang kontrol di cluster admin. Minimal harus 4.MEMORY
: jumlah mebibyte memori untuk setiap node bidang kontrol di cluster admin. Harus minimal 8192, tetapi kami merekomendasikan 16384.CONTROL_PLANE_VIP
: alamat IP yang telah Anda pilih untuk dikonfigurasi di load balancer untuk server Kubernetes API cluster admin.
Memverifikasi file konfigurasi dan rencana
Di direktori tempat main.tf
berada, jalankan perintah berikut:
Lakukan inisialisasi Terraform:
terraform init
Terraform menginstal library yang diperlukan, seperti Google Cloud provider. Perbaiki error apa pun di
maint.tf
jika perlu.Buat rencana Terraform:
terraform plan -out tfplan
Tinjau konfigurasi dan buat perubahan jika diperlukan.
Sebelum menerapkan rencana, Anda harus membuat cluster bootstrap terlebih dahulu seperti yang dijelaskan di bagian berikutnya.
Buat cluster bootstrap
Saat Anda menjalankan perintah gkectl register bootstrap
, Anda akan diminta memasukkan nama pengguna dan sandi akun vCenter. Pastikan Anda memiliki kredensial yang tersedia. Jika Anda menggunakan gkeadm
untuk membuat workstation admin, nama pengguna
dan sandi ada di file credential.yaml
.
Login ke workstation admin Anda menggunakan SSH.
Lakukan autentikasi dengan Google Cloud CLI:
gcloud auth login
Jalankan perintah berikut untuk membuat cluster bootstrap. Banyak nilai flag yang sama dengan nilai di kolom
main.tf
. Namun, perintah ini memerlukan nilai tambahan yang harus Anda tentukan dalam variabel placeholder yang diberikan.gkectl register bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --vcenter-address=VCENTER_ADDRESS \ --vcenter-datacenter=DATA_CENTER \ --vcenter-cluster=VCENTER_CLUSTER \ --vcenter-resource-pool=RESOURCE_POOL \ --vcenter-datastore=DATASTORE \ --vcenter-network=NETWORK \ --vcenter-ca-cert-path=CA_CERT_PATH \ --bundle-path=BUNDLE_PATH \ --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH
Ganti yang berikut dengan jalur workstation admin:
CA_CERT_PATH
: jalur ke sertifikat CA root untuk vCenter Server Anda.BUNDLE_PATH
: jalur ke file paket. Jika Anda menggunakangkeadm
untuk membuat workstation admin, file paket terletak di/var/lib/gke/bundles/
. Nama file bergantung pada versi Google Distributed Cloud, misalnya,gke-onprem-vsphere-1.31.0-gke.889-full.tgz
.COMPONENT_ACCESS_SA_PATH
: jalur ke file kunci untuk akun layanan akses komponen.CONNECT_REGISTER_SA_PATH
: jalur ke file kunci untuk akun layanan connect-register.LOG_MON_SA_PATH
: jalur ke file kunci untuk akun layanan logging-monitoring.CLOUD_AUDIT_SA_PATH
: jalur ke akun layanan pencatatan audit. Jika Anda tidak membuat akun layanan logging audit, tentukan jalur ke file kunci untuk akun layanan logging-monitoring.
Ubah perintah sesuai kebutuhan untuk flag berikut:
- Jika Anda menentukan folder di
main.tf
, tambahkan tanda berikut:--vcenter-folder=FOLDER
- Jika Anda menentukan kebijakan penyimpanan VM di
main.tf
, hapus--vcenter-datastore
dan tambahkan flag berikut:--vcenter-storage-policy-name=STORAGE_POLICY_NAME
- Jika jaringan yang akan memiliki workstation admin Anda berada di belakang server proxy, tambahkan flag berikut:
--proxy-url=PROXY_URL
dan--no-proxy=NO_PROXY
. Ganti PROXY_URL dengan URL server proxy, NO_PROXY dengan nilai domain dan alamat IP yang dikecualikan dari proxy, yang dipisahkan dengan koma.
Jika Anda menambahkan flag, pastikan Anda menambahkan karakter garis miring terbalik (\) kelanjutan command line.
Saat diminta, masukkan (atau salin dan tempel) nama pengguna vCenter. Nama pengguna tidak ditampilkan kembali di layar.
Saat diminta, masukkan (atau salin dan tempel) sandi vCenter. Sandi tidak ditampilkan kembali di layar.
Perintah ini menjalankan banyak validasi. Setelah gkectl
berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut, yang dipangkas agar mudah dibaca:
Running workstation validations - Validation Category: Workstation - [SUCCESS] Workstation OS - [SUCCESS] Workstation Hardware - [SUCCESS] Workstation Package - [SUCCESS] Workstation NTP - [SUCCESS] Workstation Docker ... All validation results were SUCCESS. Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz ... Successfully created and registered the bootstrap cluster ... Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
Proses terus berjalan hingga cluster admin dibuat.
Jika Anda keluar dari perintah gkectl register bootstrap
sebelum cluster admin dibuat, pembuatan cluster admin akan gagal, dan Anda harus menghapus cluster bootstrap menggunakan perintah berikut:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Buat cluster admin
Terapkan rencana Terraform untuk membuat cluster admin:
terraform apply "tfplan"
Perlu waktu sekitar 15 menit atau lebih untuk membuat cluster admin. Anda dapat melihat cluster di konsol Google Cloud di halaman GKE clusters.
Konsol
Ringkasan prosedur
Sebelum membuat cluster admin, Anda harus menjalankan perintah
gkectl register bootstrap
di workstation admin. Perintah ini men-deploy cluster Kubernetes di Docker
(kind) di workstation admin. Cluster bootstrap ini menghosting
pengontrol Kubernetes yang diperlukan untuk membuat cluster admin. Saat Anda membuat
cluster admin, pengontrol di cluster bootstrap akan menyediakan node,
menjalankan pemeriksaan pendahuluan, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap
akan otomatis dihapus setelah cluster admin berhasil
dibuat.
Berikut adalah langkah-langkah umum untuk membuat cluster admin menggunakan konsol:
Di konsol, Anda memasukkan informasi yang diperlukan oleh
gkectl register bootstrap
. Konsol menampilkan perintahgkectl register bootstrap
dengan informasi yang Anda masukkan. Perintah yang ditampilkan juga menyertakan flag untuk jalur yang perlu Anda tentukan sebelum menjalankan perintah.Di workstation admin, Anda menjalankan
gkectl register bootstrap
untuk membuat cluster bootstrap. Setelah perintah selesai membuat cluster bootstrap, output akan memberi tahu Anda untuk menyelesaikan konfigurasi cluster admin. Proses terus berjalan hingga cluster admin dibuat.Anda kembali ke konsol untuk menyelesaikan entri informasi yang diperlukan untuk membuat cluster. Selama pembuatan cluster, perintah
gkectl register bootstrap
akan menampilkan informasi progres dan menulis log di workstation admin Anda. Saat cluster admin dibuat, cluster bootstrap akan otomatis dihapus.
Mulai mengonfigurasi cluster
Di konsol, buka halaman Create a cluster on VMware.
Pilih Google Cloud project tempat Anda ingin membuat cluster.
Saat Anda membuat cluster bootstrap di bagian berikutnya, ID project yang dipilih akan ditampilkan dalam perintah
gkectl register bootstrap
di flag--project-id
.Pastikan Buat cluster admin dipilih.
Klik Berikutnya: Instal lingkungan bootstrap.
Menginstal lingkungan bootstrap
Di bagian ini, Anda akan memasukkan informasi yang diperlukan perintah gkectl register bootstrap
. Saat Anda memasukkan nilai di kolom UI, konsol akan menyalin nilai ke tanda yang sesuai untuk perintah gkectl register bootstrap
yang ditampilkan di bagian Bootstrap environment from admin workstation di bagian bawah halaman.
Dasar-dasar lingkungan bootstrap
Masukkan Name untuk cluster admin. Konsol menggunakan nama cluster sebagai nilai untuk tanda
--target-cluster-name
dalam perintahgkectl register bootstrap
yang ditampilkan di bagian bawah halaman. Nama memiliki panjang maksimum 20 karakter.Di kolom LokasiGoogle Cloud API, pilih Google Cloud wilayah dari daftar. Setelan ini menentukan region tempat API dan layanan berikut berjalan:
- GKE On-Prem API (
gkeonprem.googleapis.com
) - Layanan armada (
gkehub.googleapis.com
) - Layanan Connect (
gkeconnect.googleapis.com
)
Setelan ini juga mengontrol region tempat item berikut disimpan:
- Metadata cluster yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring dari komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Kolom Google Cloud API Location sesuai dengan tanda
--location
dalam perintahgkectl register bootstrap
.- GKE On-Prem API (
Di kolom Admin cluster version, masukkan versi yang akan digunakan untuk membuat cluster. Versi yang Anda pilih di sini harus cocok dengan versi paket yang Anda tentukan dalam tanda
--bundle-path
di perintahgkectl register bootstrap
.
Konfigurasi vCenter
Jika Anda menggunakan gkeadm
untuk membuat workstation admin, buka file konfigurasi workstation admin agar Anda dapat menyalin nilai dari bagian vCenter
ke kolom di konsol. Perhatikan bahwa file konfigurasi cluster admin yang dihasilkan juga berisi informasi ini.
Sebagian besar kolom di bagian ini tidak dapat diubah. Lihat
bagian vCenter
dalam referensi file konfigurasi cluster admin jika Anda perlu mengetahui apakah suatu kolom
dapat diubah atau tidak.
Di kolom Address, masukkan alamat Server vCenter.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.credentials.address
.Kolom Address sesuai dengan flag
--vcenter-address
dalam perintahgkectl register bootstrap
.
Di kolom Datacenter, masukkan nama pusat data vCenter Anda.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.datacenter
.Kolom Datacenter sesuai dengan flag
--vcenter-datacenter
dalam perintahgkectl register bootstrap
.
Di kolom Cluster Name, masukkan nama cluster vCenter Anda.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.cluster
.Kolom Nama Cluster sesuai dengan flag
--vcenter-cluster
di perintahgkectl register bootstrap
.
Di kolom Resource pool, masukkan nama atau jalur kumpulan resource vCenter Anda.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.resourcePool
.Kolom Resource pool sesuai dengan flag
--vcenter-resource-pool
dalam perintahgkectl register bootstrap
.
Konfigurasi opsi penyimpanan dengan memasukkan salah satu opsi berikut:
Kolom Datastore: Masukkan nama datastore vCenter Anda. Nilai yang Anda tentukan harus berupa nama, bukan jalur. Jika Anda perlu memasukkan jalur, masukkan di kolom Folder.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.datastore
.Kolom Datastore sesuai dengan flag
--vcenter-datastore
dalam perintahgkectl register bootstrap
.
Kolom Nama kebijakan penyimpanan: Masukkan nama kebijakan penyimpanan VM untuk node cluster. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kebijakan penyimpanan.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.storagePolicyName
.Kolom Nama kebijakan penyimpanan sesuai dengan flag
--vcenter-storage-policy
dalam perintahgkectl register bootstrap
.
Anda harus memasukkan nilai di kolom Datastore atau Nama Kebijakan Penyimpanan, tetapi tidak keduanya.
Atau, di kolom Folder, masukkan nama folder vCenter tempat VM cluster Anda akan berada.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.folder
.Kolom Folder sesuai dengan tanda
--vcenter-folder
dalam perintahgkectl register bootstrap
.
Di kolom Network, masukkan nama jaringan vCenter Anda.
File konfigurasi workstation admin: Gunakan nilai dari kolom
vCenter.network
.Kolom Network sesuai dengan flag
--vcenter-network
dalam perintahgkectl register bootstrap
.
Di kolom CA certificate path, masukkan jalur ke sertifikat CA root untuk vCenter Server Anda.
Jika Anda menggunakan
gkeadm
untuk membuat workstation admin,gkeadm
menyalin file sertifikat CA yang Anda miliki secara lokal ke workstation admin Anda.Kolom CA certificate path sesuai dengan
--vcenter-ca-cert-path
dalam perintahgkectl register bootstrap
.
Mendapatkan sertifikat CA
Setelah membuat cluster bootstrap, Anda harus memberikan sertifikat CA vCenter dalam format PEM di kolom Data sertifikat CA di halaman Dasar-dasar cluster. Jalankan perintah berikut untuk menampilkan sertifikat:
cat CA_CERT_PATH
Ganti CA_CERT_PATH
dengan jalur ke sertifikat CA root untuk vCenter Server Anda. Jika Anda menjalankan perintah ini secara lokal, gunakan jalur di vCenter.caCertPath
dalam file konfigurasi workstation admin Anda.
Salin seluruh sertifikat ke editor teks agar Anda siap menempelkannya di kolom CA certificate data di halaman Cluster basics setelah cluster bootstrap dibuat.
Melakukan bootstrap lingkungan dari workstation admin
Saat Anda menjalankan perintah gkectl register bootstrap
, Anda akan diminta memasukkan nama pengguna dan sandi akun vCenter. Pastikan Anda memiliki kredensial yang tersedia. Jika Anda menggunakan gkeadm
untuk membuat workstation admin, nama pengguna
dan sandi ada di file credential.yaml
.
Scroll ke bagian Bootstrap environment from admin workstation untuk menampilkan perintah
gkectl register bootstrap
.Biarkan halaman ini terbuka saat Anda membuka workstation admin untuk membuat cluster bootstrap.
Salin dan tempel perintah
gkectl register bootstrap
ke editor teks agar Anda dapat menentukan nilai untuk flag berikut:./gkectl register bootstrap \ ... --bundle-path=BUNDLE_PATH \ ... --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH
Ganti yang berikut dengan jalur workstation admin:
BUNDLE_PATH
: jalur ke file paket. Jika Anda menggunakangkeadm
untuk membuat workstation admin, file paket terletak di/var/lib/gke/bundles/
. Nama file bergantung pada versi Google Distributed Cloud, misalnya,gke-onprem-vsphere-1.31.0-gke.889-full.tgz
.COMPONENT_ACCESS_SA_PATH
: jalur ke file kunci untuk akun layanan akses komponen.CONNECT_REGISTER_SA_PATH
: jalur ke file kunci untuk akun layanan connect-register.LOG_MON_SA_PATH
: jalur ke file kunci untuk akun layanan logging-monitoring.CLOUD_AUDIT_SA_PATH
: jalur ke akun layanan pencatatan audit. Jika Anda tidak membuat akun layanan logging audit, tentukan jalur ke file kunci untuk akun layanan logging-monitoring.
Selain itu, jika Anda menggunakan
gkeadm
untuk membuat workstation admin,gkectl
akan didownload ke direktori/usr/bin/
. Dalam hal ini, hapus./
dari awal perintah karenagkectl
tidak ada di direktori kerja saat ini.Gunakan SSH untuk terhubung ke workstation admin Anda.
Salin perintah dan tempelkan di jendela terminal di workstation admin Anda.
Saat diminta, masukkan (atau salin dan tempel) nama pengguna vCenter. Nama pengguna tidak ditampilkan kembali di layar.
Saat diminta, masukkan (atau salin dan tempel) sandi vCenter. Sandi tidak ditampilkan kembali di layar.
Perintah ini menjalankan banyak validasi. Setelah gkectl
berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut, yang dipangkas agar mudah dibaca:
Running workstation validations - Validation Category: Workstation - [SUCCESS] Workstation OS - [SUCCESS] Workstation Hardware - [SUCCESS] Workstation Package - [SUCCESS] Workstation NTP - [SUCCESS] Workstation Docker ... All validation results were SUCCESS. Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz ... Successfully created and registered the bootstrap cluster ... Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
Proses terus berjalan hingga cluster admin dibuat.
Jika Anda keluar dari perintah gkectl register bootstrap
sebelum cluster admin dibuat, pembuatan cluster admin akan gagal, dan Anda harus menghapus cluster bootstrap menggunakan perintah berikut:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Selesaikan konfigurasi cluster admin
Kembali ke konsol dan lakukan langkah-langkah berikut:
Di halaman Install bootstrap environment, klik Check Connection.
Jika berhasil, konsol akan menampilkan
Connection established.Koneksi ke cluster bootstrap harus dibuat sebelum Anda melanjutkan. Jika koneksi tidak dibuat, periksa argumen yang Anda tentukan ke perintah
gkectl register bootstrap
:Pastikan nilai untuk
--target-cluster-name
cocok dengan Admin cluster name yang ditampilkan di bagian Bootstrap environment basics.Pastikan nilai untuk
--project-id
cocok dengan ID project yang Anda pilih di konsol.
Jika Anda perlu mengubah nama cluster bootstrap, project ID, atau nilai flag lainnya, lakukan hal berikut:
- Masukkan
Ctrl-C
untuk keluar darigkectl register bootstrap
. Hapus cluster bootstrap:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Jalankan kembali perintah
gkectl register bootstrap
.
Klik Berikutnya: Dasar-dasar cluster untuk mulai mengonfigurasi cluster admin.
Dasar-dasar cluster
Di kolom Data sertifikat CA, salin dan tempel seluruh sertifikat CA vCenter dalam format PEM seperti yang dijelaskan sebelumnya di bagian Mendapatkan sertifikat CA.
Di bagian Otorisasi, masukkan alamat email pengguna yang ingin Anda beri peran
clusterrole/view
Kubernetes hanya baca. Perhatikan bahwa alamat email Anda otomatis ditambahkan. Kebijakan kontrol akses berbasis peran (RBAC) yang diterapkan memungkinkan pengguna menjalankan perintah hanya baca melalui gateway koneksi.Klik Next Control Plane.
Bidang kontrol
Tinjau setelan default di bagian Control plane dan ubah setelan tersebut sesuai kebutuhan.
Di bagian Control plane node IPs, masukkan alamat IP di kolom berikut:
Gateway: Alamat IP gateway default untuk subnet yang memiliki node cluster Anda.
Netmask: Netmask untuk subnet yang memiliki node cluster Anda.
Alamat IP: Masukkan alamat IP dan secara opsional, nama host untuk tiga node bidang kontrol.
Klik Berikutnya: Jaringan.
Jaringan
Di bagian ini, Anda akan menentukan informasi jaringan yang diperlukan untuk membuat cluster admin.
Di bagian CIDR Layanan dan Pod, terima nilai default untuk rentang alamat IP Layanan dan Pod Kubernetes, atau masukkan rentang alamat CIDR yang berbeda.
CIDR Layanan: Rentang terkecil yang memungkinkan:
/24
. Rentang terbesar yang mungkin:/12
.CIDR Pod: Rentang terkecil yang mungkin:
/18
. Rentang terbesar yang memungkinkan: /8`.
Di bagian Host config, tentukan server NTP, server DNS, dan opsionalnya domain penelusuran DNS yang digunakan oleh VM yang merupakan node cluster Anda. Setelah cluster dibuat, Anda tidak dapat mengubah nilai ini.
Klik Berikutnya: Load balancer.
Load balancer
Di bagian ini, Anda akan memilih jenis load balancer yang akan digunakan. Untuk informasi tambahan, lihat Ringkasan load balancing.
Dalam daftar Load balancer type, pilih load balancer:
Disertakan dengan MetalLB: Load balancer MetalLB disertakan dengan dan memerlukan lebih sedikit konfigurasi daripada load balancing manual. Komponen MetalLB berjalan di node cluster Anda, sehingga Anda tidak perlu membuat VM terpisah untuk load balancer.
Manual: Anda dapat menggunakan load balancer pilihan Anda selama Anda menyiapkannya sebelum membuat cluster. Dengan load balancer apa pun yang Anda siapkan secara manual, Anda harus mengonfigurasi pemetaan antara IP virtual (VIP), alamat node, dan nilai nodePort.
Di kolom Control plane VIP, masukkan VIP yang akan digunakan untuk traffic yang dikirim ke server Kubernetes API.
Klik Verifikasi dan Buat.
Konsol menampilkan pesan status saat memverifikasi setelan dan membuat cluster di pusat data Anda.
Jika ada masalah dengan konfigurasi, konsol akan menampilkan pesan error yang cukup jelas bagi Anda untuk memperbaiki masalah konfigurasi dan mencoba lagi membuat cluster.
Detail tentang proses pembuatan cluster ditampilkan di workstation admin Anda. Jika pemeriksaan pra-penerbangan berhasil, Anda akan melihat tampilan seperti berikut:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Menghubungkan ke cluster admin
Perintah gkectl register bootstrap
membuat file kubeconfig
untuk
cluster admin di workstation admin Anda. Direktori tempat kubeconfig
berada dan nama filenya didasarkan pada nama cluster admin sebagai berikut:
gkectl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Anda perlu membatasi akses ke kubeconfig
ini karena berisi kredensial autentikasi untuk cluster.
Selain itu, Anda dapat menjalankan perintah kubectl
hanya baca melalui
gateway koneksi.
Jalankan perintah berikut di komputer yang memiliki gcloud CLI untuk mendapatkan entri
kubeconfig
yang dapat mengakses cluster melalui gateway connect.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=PROJECT_ID
Outputnya mirip dengan hal berikut ini:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
Sekarang Anda dapat menjalankan perintah
kubectl
hanya baca melalui gateway koneksi:kubectl get pods -A
Jika Anda memerlukan hak istimewa administratif penuh untuk cluster admin, lihat Menyiapkan gateway koneksi.
Pemecahan masalah
Lihat Memecahkan masalah pembuatan dan upgrade cluster.