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