Halaman ini menunjukkan cara membuat cluster admin untuk digunakan di domain topologi Google Distributed Cloud . Cluster admin mengelola cluster pengguna yang menjalankan beban kerja Anda. Google Distributed Cloud versi 1.31 atau yang lebih tinggi diperlukan untuk menggunakan domain topologi.
Menyiapkan domain topologi mengharuskan Anda mengaktifkan cluster lanjutan. Perhatikan batasan berikut dengan pratinjau cluster lanjutan:
- Anda hanya dapat mengaktifkan cluster lanjutan pada saat pembuatan cluster untuk cluster 1.31 baru.
- Setelah cluster lanjutan diaktifkan, Anda tidak akan dapat mengupgrade cluster ke 1.32. Hanya aktifkan cluster lanjutan di lingkungan pengujian.
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 Google Cloud konten, lihat Peran dan tugas pengguna GKE umum.
Untuk mengetahui detail selengkapnya tentang cluster admin, lihat ringkasan penginstalan.
Ringkasan prosedur
Berikut adalah langkah-langkah utama yang terlibat dalam pembuatan cluster admin:
- Isi file konfigurasi admin Anda
- Tentukan detail untuk cluster admin baru Anda dengan mengisi file konfigurasi cluster admin.
- Isi file konfigurasi infrastruktur vSphere Anda
- Tentukan detail tentang domain topologi Anda dalam file konfigurasi infrastruktur vSphere.
- Isi file blok IP Anda
- Tentukan alamat IP untuk gateway, netmask, dan node bidang kontrol dalam file blok IP.
- Dapatkan OS image
- Download paket Google Distributed Cloud normal. Kemudian, jalankan
gkectl prepare, yang mengimpor OS image ke vSphere, dan mengirim image container ke registry pribadi jika berlaku.
- Buat cluster admin.
- Gunakan
gkectluntuk membuat cluster admin baru seperti yang ditentukan dalam file konfigurasi yang telah diisi. Saat Google Distributed Cloud membuat cluster admin, cluster ini 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
kubectluntuk melihat node cluster Anda.
Di akhir prosedur ini, Anda akan memiliki cluster admin yang berjalan yang dapat digunakan untuk membuat dan mengelola cluster pengguna di domain topologi.
Sebelum memulai
Pastikan Anda telah menyiapkan dan dapat login ke workstation admin seperti yang dijelaskan dalam Membuat workstation admin. Workstation admin memiliki alat yang Anda butuhkan untuk membuat cluster admin. Lakukan semua langkah dalam dokumen ini 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.
Konfigurasi load balancer untuk load balancing manual. Load balancer harus disiapkan sebelum Anda membuat cluster admin.
Lihat bagian
privateRegistry, dan tentukan apakah Anda ingin menggunakan registry publik atau pribadi untuk komponen Google Distributed Cloud.Lihat kolom osImageType, dan tentukan jenis sistem operasi yang ingin Anda jalankan di node cluster admin.
Jika organisasi Anda mewajibkan traffic keluar untuk melewati server proxy, pastikan untuk mengizinkan API yang diperlukan dan alamat Artifact Registry.
Kumpulkan informasi yang Anda butuhkan untuk mengakses setiap instance vCenter Server. Anda memerlukan informasi ini untuk mengisi bagian
Secretdan bagianVSphereInfraConfig.credentials.vCentersdalam file konfigurasi infrastruktur vSphere. Lihat hal berikut untuk mengetahui cara mendapatkan informasi yang diperlukan:
Mengisi file konfigurasi cluster admin
Jika Anda menggunakan gkeadm untuk membuat workstation admin, file konfigurasi bernama admin-cluster.yaml akan dibuat.
Jika Anda tidak menggunakan gkeadm untuk membuat workstation admin, buat admin-cluster.yaml dengan menjalankan perintah ini di workstation admin Anda:
gkectl create-config admin
File konfigurasi ini digunakan untuk membuat cluster admin Anda.
Pelajari 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 ingin menentukan nama untuk cluster admin, isi kolom
name.
bundlePath
Paket adalah file zip yang berisi komponen cluster. Paket disertakan dengan workstation admin. Kolom ini sudah diisi untuk Anda.
enableAdvancedCluster
Tetapkan enableAdvancedCluster
ke true. Tindakan ini akan mengaktifkan cluster lanjutan, yang diperlukan untuk menyiapkan domain topologi.
infraConfigFilePath
Tambahkan jalur lengkap ke
file konfigurasi infrastruktur vSphere
di infraConfigFilePath
kolom.
vCenter
Hapus seluruh bagian ini. Sebagai gantinya, Anda mengonfigurasi informasi vCenter Server di file konfigurasi infrastruktur vSphere.
network
Hapus hal berikut dari file konfigurasi:
- Seluruh bagian
network.hostConfig. Informasi ini dikonfigurasi dalam file konfigurasi infrastruktur vSphere per domain topologi. - Kolom
network.vCenter.networkName. Kolom ini dikonfigurasi dalam file konfigurasi infrastruktur vSphere per domain topologi. - Seluruh bagian
network.controlPlaneIPBlock. Alamat IP untuk gateway, netmask, dan node bidang kontrol dikonfigurasi dalam file blok IP.
- Seluruh bagian
Tetapkan
network.ipMode.ipBlockFilePathke jalur file blok IP.Tetapkan
network.ipMode.typekestatic.Kolom network.podCIDR dan network.serviceCIDR memiliki nilai yang sudah diisi sebelumnya yang dapat Anda biarkan tidak berubah kecuali jika kolom tersebut bertentangan dengan alamat yang sudah digunakan di jaringan Anda. Kubernetes menggunakan rentang ini untuk menetapkan alamat IP ke Pod dan Layanan di cluster Anda.
loadBalancer
Tetapkan
loadBalancer.kindke"ManualLB", dan hapus bagianmanualLB.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.
antiAffinityGroups
Tetapkan
antiAffinityGroups.enabled
ke false.
Aturan anti-afinitas Distributed Resource Scheduler
(DRS) tidak didukung dengan domain topologi.
adminMaster
Jika ingin menentukan CPU dan memori untuk node bidang kontrol cluster admin, isi kolom
cpusdanmemoryMBdi bagianadminMaster.Cluster admin harus memiliki tiga node bidang kontrol. Tetapkan kolom
replicasdi bagianadminMasterke3.Jika ingin menentukan domain topologi tertentu untuk digunakan oleh node bidang kontrol, tambahkan nama domain topologi ke
adminMaster.topologyDomainskolom. Jika Anda tidak menentukan nama di sini, Anda harus menetapkan nama divSphereInfraConfig.defaultTopologyDomaindalam file konfigurasi infrastruktur vSphere.
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 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. 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.
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 region tidak sama, pembuatan cluster akan gagal.
gkeOnPremAPI
Bagian ini menjelaskan cara cluster didaftarkan ke GKE On-Prem API.
Alat command line gkectl adalah satu-satunya alat pengelolaan siklus proses cluster
yang tersedia untuk cluster yang menggunakan domain topologi. Meskipun Google Cloud konsol, Google Cloud CLI, dan Terraform tidak didukung untuk cluster yang menggunakan domain topologi, Anda dapat secara opsional mendaftarkan cluster ke GKE On-Prem API saat cluster dibuat.
Jika GKE On-Prem API diaktifkan di project Google Cloud Anda, semua cluster
dalam project akan otomatis didaftarkan ke GKE On-Prem API di region
yang dikonfigurasi di stackdriver.clusterLocation. Region gkeOnPremAPI.location harus sama dengan region yang ditentukan di cloudAuditLogging.clusterLocation, gkeConnect.location, dan stackdriver.clusterLocation. Jika region tidak sama, pembuatan cluster akan gagal.
Jika Anda ingin mendaftarkan semua cluster dalam project ke 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 ke GKE On-Prem API, sertakan bagian ini dan tetapkan
gkeOnPremAPI.enabledkefalse. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkangkeonprem.googleapis.com(nama layanan untuk GKE On-Prem API) dalam project. Untuk mendapatkan petunjuk, lihat Menonaktifkan layanan.
stackdriver
Isi bagian
stackdriver
untuk mengaktifkan
Cloud Logging dan Cloud Monitoring
untuk cluster Anda.
Perhatikan persyaratan berikut:
ID di
stackdriver.projectIDharus sama dengan ID digkeConnect.projectIDdancloudAuditLogging.projectID.Region yang ditetapkan di
stackdriver.clusterLocationharus sama dengan region yang ditetapkan dicloudAuditLogging.clusterLocationdangkeConnect.location. Google Cloud Selain itu, jikagkeOnPremAPI.enabledadalahtrue, region yang sama harus ditetapkan digkeOnPremAPI.location.
Jika ID project 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 untuk cluster baru:
Karena
enableAdvancedClusterditetapkan ketrue, Anda harus menentukan jalur yang sama dicloudAuditLogging.serviceAccountKeyPathdanstackdriver.serviceAccountKeyPath.ID di
cloudAuditLogging.projectIDharus sama dengan ID digkeConnect.projectIDdanstackdriver.projectID.Region yang ditetapkan di
cloudAuditLogging.clusterLocationharus sama dengan region yang ditetapkan distackdriver.clusterLocationdangkeConnect.location(jika kolom disertakan dalam file konfigurasi Anda). Google Cloud Selain itu, jikagkeOnPremAPI.enabledadalahtrue, region yang sama harus ditetapkan digkeOnPremAPI.location.
Jika ID project dan region tidak sama, pembuatan cluster akan gagal.
clusterBackup
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
Karena enableAdvancedCluster ditetapkan ke true, hapus bagian ini.
osImageType
Tetapkan
osImageType.
ke ubuntu_cgv2.
preparedSecrets
Hapus kolom preparedSecrets.
Kredensial yang disiapkan
tidak didukung saat domain topologi diaktifkan.
Contoh file konfigurasi yang diisi
Berikut adalah contoh file konfigurasi cluster admin yang diisi. Konfigurasi ini mengaktifkan beberapa, tetapi tidak semua, fitur yang tersedia.
vc-01-admin-cluster.yaml
apiVersion: v1
kind: AdminCluster
name: "gke-admin-01"
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.1-full.tgz"
enableAdvancedCluster: true
infraConfigFilePath: "/my-config-folder/vsphere-infrastructure-config.yaml"
network:
serviceCIDR: "10.96.232.0/24"
podCIDR: "192.168.0.0/16"
ipMode:
type: "static"
ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
loadBalancer:
vips:
controlPlaneVIP: "172.16.20.59"
kind: "ManualLB"
antiAffinityGroups:
enabled: false
adminMaster:
cpus: 4
memoryMB: 16384
replicas: 3
topologyDomains: "admin-cluster-domain"
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
autoRepair:
enabled: true
osImageType: "ubuntu_cgv2"
Mengisi file konfigurasi infrastruktur vSphere
Salin template untuk
file konfigurasi infrastruktur vSphere
ke file di direktori yang Anda tentukan di infraConfigFilePath
kolom dalam file konfigurasi cluster admin. Hanya ada satu file konfigurasi infrastruktur vSphere untuk cluster admin dan semua cluster pengguna terkelola.
Secret
Isi Secret
bagian di file konfigurasi infrastruktur vSphere. Bagian ini menjelaskan Secret kredensial vSphere yang menyimpan kredensial setiap vCenter Server.
VSphereInfraConfig.name
Isi kolom VSphereInfraConfig,name.
VSphereInfraConfig.credentials.vCenters
Untuk setiap Secret, tambahkan bagian
VSphereInfraConfig.credentials.vCenters yang sesuai.
VSphereInfraConfig,topologyDomains
Isi bagian
VSphereInfraConfig.topologyDomains untuk
menentukan domain topologi.
Mengisi file blok IP
Salin template untuk
file blok IP ke file di
direktori yang Anda tentukan di kolom network.ipMode.ipBlockFilePath
dalam file konfigurasi cluster admin. Tambahkan alamat IP untuk gateway, netmask, dan tiga node bidang kontrol. Untuk setiap alamat IP node bidang kontrol, tambahkan isControlPlane: true seperti yang ditunjukkan dalam
contoh untuk domain topologi.
Mendapatkan OS image
Download paket Google Distributed Cloud normal ke workstation admin:
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz /var/lib/gke/bundles/gke-onprem-vsphere-VERSION.tgz
Ganti
VERSIONdengan versi Google Distributed Cloud yang ingin Anda instal.Perintah ini akan mendownload paket normal. Jangan mendownload paket lengkap karena tidak didukung dengan cluster lanjutan.
Jalankan
gkectl prepareuntuk menginisialisasi lingkungan vSphere Anda:gkectl prepare --config ADMIN_CLUSTER_CONFIG
Ganti
ADMIN_CLUSTER_CONFIGdengan jalur konfigurasi cluster admin.Perintah
gkectl preparemelakukan tugas persiapan berikut:Mengimpor OS image ke vSphere dan menandainya sebagai template VM.
Jika Anda menggunakan registry Docker pribadi, image container akan dikirim ke registry Anda.
Secara opsional, memvalidasi pernyataan build image container, sehingga memverifikasi bahwa image dibuat dan ditandatangani oleh Google serta siap untuk di-deploy.
Membuat cluster admin
Buat cluster admin:
gkectl create admin --config ADMIN_CLUSTER_CONFIG
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
Menemukan file kubeconfig cluster admin
Perintah gkectl create admin membuat file kubeconfig bernama kubeconfig di direktori saat ini. Anda akan memerlukan file kubeconfig ini nanti untuk berinteraksi dengan cluster admin Anda.
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 mau, Anda dapat mengubah nama dan lokasi file kubeconfig.
Memastikan 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 ...
Mengonfigurasi PodTemplate
Label topologi diisi ke label node di domain topologi.
Kecuali jika penyiapan domain topologi Anda menggunakan batasan default,
"topology.kubernetes.io/zone"
sebagai kunci topologi, Anda harus mengonfigurasi kunci topologi dalam template pod
Deployment, StatefulSet, atau ReplicaSet, sebagaimana berlaku.
Misalnya, anggaplah Anda menentukan kunci dalam label topologi sebagai
"topology.examplepetstore.com/zone". Di PodTemplate, Anda menentukan kunci sebagai nilai untuk kolom topologySpreadConstraints.topologyKey. Hal ini memungkinkan penjadwal Kubernetes mendistribusikan Pod di seluruh domain topologi untuk memastikan ketersediaan tinggi dan mencegah konsentrasi berlebihan di satu area jika terjadi kegagalan.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi topologySpreadConstraints, lihat
Batasan Penyebaran Topologi Pod
dalam dokumentasi Kubernetes.
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 tidak sengaja dihapus, Anda tetap memiliki akses ke cluster admin.
Sebaiknya cadangkan juga kunci SSH pribadi untuk cluster admin Anda. Kemudian, jika Anda kehilangan akses ke cluster admin, Anda tetap dapat menggunakan SSH untuk terhubung ke node cluster admin. Hal ini akan memungkinkan Anda 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 yang Anda pilih.
Pemecahan masalah
Lihat Memecahkan masalah pembuatan dan upgrade cluster.
Langkah berikutnya
Membuat cluster pengguna untuk digunakan di domain topologi