Pelajari Google Distributed Cloud (khusus software) untuk bare metal (sebelumnya dikenal sebagai Google Distributed Cloud Virtual, yang sebelumnya dikenal sebagai cluster Anthos di bare metal) dengan membuat cluster demo di Virtual Machine (VM) Compute Engine. Membuat cluster admin dan cluster pengguna dengan panduan ini mungkin memerlukan waktu 40 menit hingga satu jam. Cluster demo yang Anda buat dalam panduan ini membantu Anda mengevaluasi proses penyediaan dan pengoperasian cluster Google Distributed Cloud, tetapi tidak ditujukan untuk digunakan dalam produksi.
Dokumen ini akan memandu Anda dalam proses menjalankan skrip yang:
- Menyediakan lima VM Compute Engine untuk menginstal cluster demo Anda
- Menyiapkan jaringan VPC untuk menyediakan konektivitas cluster
Setelah skrip menyediakan resource yang diperlukan, Anda menggunakan salah satu klien berikut untuk membuat cluster admin dan cluster pengguna yang menyertainya yang dapat menghosting beban kerja: bmctl
,konsol Google Cloud , Google Cloud CLI, atau Terraform.
Ringkasan prosedur
Panduan ini berisi langkah-langkah utama berikut:
Siapkan lingkungan lokal Anda sehingga skrip memiliki variabel lingkungan yang diperlukan dan Anda telah mengumpulkan informasi dasar yang diperlukan untuk menjalankan perintah.
Buat VM dan jaringan dengan skrip yang didownload.
Buat cluster admin dengan salah satu klien yang didukung.
Buat cluster pengguna dengan salah satu klien yang didukung.
Bersihkan untuk menghapus cluster dan VM yang Anda buat dengan panduan ini.
1. Menyiapkan lingkungan lokal Anda
Karena panduan ini menggunakan skrip yang menyiapkan jaringan untuk Anda, Anda tidak perlu mengumpulkan banyak informasi atau melakukan perencanaan apa pun. Langkah-langkah berikut akan menyiapkan lingkungan lokal Anda dan mengumpulkan informasi dasar yang Anda butuhkan di bagian panduan berikutnya:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Catat project ID, karena Anda membutuhkannya untuk menetapkan variabel lingkungan yang digunakan dalam skrip dan perintah di halaman ini. Jika Anda memilih project yang sudah ada, pastikan Anda adalah pemilik atau editor project.
-
Anda dapat menjalankan skrip di Cloud Shell atau
komputer lokal yang menjalankan Linux atau macOS. Jika Anda tidak menggunakan
Cloud Shell:
- Pastikan Anda telah menginstal
Google Cloud CLI terbaru, alat command line untuk
berinteraksi dengan Google Cloud. Update komponen gcloud CLI,
jika diperlukan:
gcloud components update
Bergantung pada cara gcloud CLI diinstal, Anda mungkin melihat pesan berikut:
You cannot perform this action because the Google Cloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation:
Ikuti petunjuk untuk menyalin dan menempelkan perintah guna mengupdate komponen.
- Pastikan Anda telah menginstal
kubectl
. Jika Anda perlu menginstalkubectl
, jalankan perintah berikut:gcloud components install kubectl
- Pastikan Anda telah menginstal
Google Cloud CLI terbaru, alat command line untuk
berinteraksi dengan Google Cloud. Update komponen gcloud CLI,
jika diperlukan:
- Pastikan project Anda memiliki jaringan VPC bernama "default".
Jika Anda tidak memiliki jaringan VPC "default", skrip di bagian berikut akan gagal menyediakan resource yang diperlukan. Kecuali jika Anda memilih untuk menghapus atau membatasinya, setiap project baru dimulai dengan jaringan VPC mode otomatis bernama "default" yang akan berfungsi dengan skrip. Untuk mengetahui informasi selengkapnya, lihat Jaringan VPC.
- Pastikan batasan kebijakan organisasi berikut tidak diterapkan:
constraints/iam.disableServiceAccountKeyCreation
constraints/compute.vmCanIpForward
constraints/compute.requireShieldedVm
constraints/compute.vmExternalIpAccess
Jika batasan ini diterapkan, skrip di bagian berikut akan gagal menyediakan resource yang diperlukan. Untuk project baru, batasan ini ditetapkan ke Tidak Aktif (tidak diterapkan) secara default. Untuk mengetahui informasi selengkapnya, lihat Batasan kebijakan organisasi.
- Siapkan variabel lingkungan:
export PROJECT_ID=PROJECT_ID export ADMIN_CLUSTER_NAME=ADMIN_CLUSTER_NAME export ON_PREM_API_REGION=ON_PREM_API_REGION export ZONE=ZONE
ADMIN_CLUSTER_NAME
: nama yang Anda pilih untuk cluster admin.ON_PREM_API_REGION
: region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadatanya. Tentukanus-central1
atau wilayah yang didukung lainnya.ZONE
: Google Cloud Zona tempat VM Compute Engine dibuat. Anda dapat menggunakanus-central1-a
atau zona Compute Engine lainnya.
- Jalankan perintah berikut untuk menetapkan project dan zona default.
gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONE
Jika Anda mendapatkan error
PERMISSION_DENIED
, periksa kembali project ID yang Anda masukkan. Jika project ID sudah benar, jalankangcloud auth login
untuk login ke gcloud CLI dengan akun yang memiliki akses ke project. - Dapatkan daftar versi yang didukung yang dapat Anda instal:
gcloud container bare-metal admin-clusters query-version-config \ --location=ON_PREM_API_REGION
- Pilih versi dari output perintah sebelumnya dan tetapkan di variabel
lingkungan:
export BMCTL_VERSION=BMCTL_VERSION
Sebaiknya pilih versi yang kompatibel tertinggi untuk mendapatkan fitur dan perbaikan Google Distributed Cloud terbaru.
Clone repositori
anthos-samples
dan ubah ke direktori tempat skrip berada:git clone https://github.com/GoogleCloudPlatform/anthos-samples cd anthos-samples/anthos-bm-gcp-bash
Jalankan skrip:
bash install_admin_cluster.sh
Pada perintah, masukkan
2
untuk menyiapkan infrastruktur Compute Engine saja dan konfirmasi pilihan Anda saat diminta.Skrip ini membuat VM Compute Engine, membuat jaringan VXLAN, dan menyiapkan workstation admin dan node cluster. Penyiapan infrastruktur ini memerlukan waktu sekitar 5 menit.
Untuk mempelajari skrip lebih lanjut, klik link berikut:
Tentang skrip
Anda dapat melihat skrip di folder
anthos-bm-gcp-bash
di repositori GitHub anthos-samples. Skrip ini mengotomatiskan langkah-langkah manual berikut:-
Mengaktifkan API Google Cloud berikut:
anthos.googleapis.com anthosaudit.googleapis.com anthosgke.googleapis.com cloudresourcemanager.googleapis.com connectgateway.googleapis.com container.googleapis.com compute.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com gkeonprem.googleapis.com serviceusage.googleapis.com stackdriver.googleapis.com monitoring.googleapis.com logging.googleapis.com kubernetesmetadata.googleapis.com iam.googleapis.com opsconfigmonitoring.googleapis.com
-
Daripada membuat beberapa akun layanan untuk berbagai API dan
layanan, skrip membuat satu akun layanan bernama
baremetal-gcr
dan memberikan peran IAM berikut kepadanya:roles/gkehub.admin
roles/gkehub.connect
roles/logging.logWriter
roles/monitoring.dashboardEditor
roles/monitoring.metricWriter
roles/monitoring.viewer
roles/opsconfigmonitoring.resourceMetadata.writer
roles/serviceusage.serviceUsageViewer
roles/stackdriver.resourceMetadata.writer
-
Membuat VM berikut:
- Satu VM untuk workstation admin.
- Satu VM untuk node bidang kontrol cluster admin.
- Dua VM untuk worker node cluster pengguna.
- Satu VM untuk node bidang kontrol cluster pengguna.
- Memverifikasi bahwa SSH diaktifkan di semua VM dan bahwa workstation admin memiliki akses SSH ke semua VM lain yang dibuat untuk node cluster.
-
Membuat jaringan overlay Virtual Extensible LAN (VXLAN) untuk konektivitas Layer 2
antar-VM. VXLAN tidak persisten, jadi jika Anda
me-reboot instance VM, jaringan akan dihancurkan. Jaringan disiapkan
agar berada di subnet
10.200.0.0/24
. Konektivitas Layer 2 adalah persyaratan untuk load balancer yang dibundel. -
Menginstal alat berikut di workstation admin:
bmctl
kubectl
- Docker
Skrip ini juga mendownload kunci akun layanan untuk akun layanan
baremetal-gcr
ke workstation admin. -
Memastikan bahwa
root@10.200.0.x
dari workstation admin berfungsi dengan melakukan tugas berikut:- Buat kunci SSH baru di workstation admin.
- Menambahkan kunci publik ke semua VM lainnya dalam deployment.
Skrip menampilkan setiap perintah yang dijalankannya dan statusnya. Setelah selesai, skrip akan menghasilkan output berikut:
✅ Successfully set up SSH access from admin workstation to cluster node VMs. ✅ GCE Infrastructure setup complete. Please check the logs for any errors!!! ✅ If you do not see any errors in the output log, then you now have the following setup: |---------------------------------------------------------------------------------------------------------| | VM Name | L2 Network IP (VxLAN) | INFO | |---------------------------------------------------------------------------------------------------------| | abm-admin-cluster-cp | 10.200.0.3 | 🌟 Ready for use as control plane for the admin cluster | | abm-user-cluster-cp | 10.200.0.4 | 🌟 Ready for use as control plane for the user cluster | | abm-user-cluster-w1 | 10.200.0.5 | 🌟 Ready for use as worker for the user cluster | | abm-user-cluster-w2 | 10.200.0.6 | 🌟 Ready for use as worker for the user cluster | |---------------------------------------------------------------------------------------------------------|
-
Mengaktifkan API Google Cloud berikut:
Gunakan SSH untuk mengakses VM workstation admin,
abm-ws
, sebagai root:gcloud compute ssh root@abm-ws --zone ZONE
Tetapkan kredensial pengguna Anda sebagai Kredensial Default Aplikasi (ADC):
gcloud auth application-default login
Ikuti petunjuk untuk memilih Akun Google Anda untuk ADC.
Buat file konfigurasi cluster:
bmctl create config -c ADMIN_CLUSTER_NAME --project-id=PROJECT_ID
Verifikasi file konfigurasi cluster admin:
File konfigurasi cluster berikut diisi dengan nilai yang Anda berikan sebelumnya. Selain nilai yang Anda masukkan, perhatikan perbedaan berikut dari file konfigurasi yang dihasilkan:
- Komentar telah dihapus dari contoh ini untuk meningkatkan keterbacaan.
- Skrip ini membuat satu akun layanan dengan semua izin yang diperlukan
dan mendownload kunci
bm-gcr.json
yang dirujuk dalam file konfigurasi.
gcrKeyPath: /root/bm-gcr.json sshPrivateKeyPath: /root/.ssh/id_rsa gkeConnectAgentServiceAccountKeyPath: /root/bm-gcr.json gkeConnectRegisterServiceAccountKeyPath: /root/bm-gcr.json cloudOperationsServiceAccountKeyPath: /root/bm-gcr.json --- apiVersion: v1 kind: Namespace metadata: name: cluster-ADMIN_CLUSTER_NAME --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: ADMIN_CLUSTER_NAME namespace: cluster-ADMIN_CLUSTER_NAME spec: type: admin profile: default anthosBareMetalVersion: BMCTL_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: 10.200.0.3 clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: 10.200.0.48 clusterOperations: projectID: PROJECT_ID location: ON_PREM_API_REGION storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5 nodeConfig: podDensity: maxPodsPerNode: 110
Ganti konten file konfigurasi yang dihasilkan di workstation admin Anda dengan konten dari contoh sebelumnya.
Buka file yang dibuat,
bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME.yaml
dan ganti kontennya dengan konten sampel yang Anda verifikasi di langkah sebelumnya.Buat cluster admin:
bmctl create cluster -c ADMIN_CLUSTER_NAME
Perintah
bmctl
menampilkan output ke layar saat menjalankan pemeriksaan awal dan membuat cluster. Informasi verbose ditulis ke log di folderbaremetal/bmctl-workspace/abm-user-cluster-metallb/log
pada workstation admin.Pembuatan cluster dapat memerlukan waktu beberapa menit.
Di konsol, buka halaman GKE clusters.
Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin yang tercantum.
Login ke cluster admin:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Gunakan SSH untuk mengakses workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Pastikan cluster admin Anda telah dibuat dan berjalan:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
Outputnya mirip dengan hal berikut ini:
none{:.devsite-disable-click-to-copy} NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m 1.31.300-gke.81
Setelah selesai menjelajah, masukkan
exit
untuk memutuskan koneksi dari workstation admin.Di konsol Google Cloud , buka halaman GKE clusters.
Klik Buat.
Pada dialog Create a cluster, pilih On-premises, lalu klik Configure untuk bare metal:
Pastikan untuk memilih
PROJECT_ID
dari daftar project.Di menu navigasi sebelah kiri, klik Install bootstrap environment.
Masukkan
ADMIN_CLUSTER_NAME
sebagai nama cluster admin.Pilih
BMCTL_VERSION
sebagai versi untuk cluster admin Anda. Skrip mendownload versi alat command linebmctl
ini ke workstation admin. Versi Google Distributed Cloud yang Anda instal harus cocok dengan versibmctl
.Di kolom Google Cloud API Location, pilih ON_PREM_API_REGION dari daftar. Setelan ini menentukan region tempat GKE On-Prem API berjalan, dan region tempat hal 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
Nama cluster, project, dan lokasi bersama-sama mengidentifikasi cluster secara unik di Google Cloud.
Dari command line, gunakan SSH untuk mengakses VM workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Anda dapat mengabaikan pesan apa pun tentang memperbarui VM dan menyelesaikan tutorial ini. Jika Anda berencana mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin memperbarui OS atau mengupgrade ke rilis berikutnya seperti yang dijelaskan dalam dokumentasi Ubuntu.
Tetapkan kredensial pengguna Anda sebagai Kredensial Default Aplikasi (ADC):
gcloud auth application-default login
Ikuti petunjuk untuk memilih Akun Google Anda untuk ADC.
Beralihlah ke direktori
baremetal/
dan jalankan perintah berikut untuk membuat bootstrap cluster.Nama cluster bootstrap berasal dari penambahan
bootstrap-
ke nama cluster admin.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Setelah
bmctl
berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut ini:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Di halaman Install bootstrap environment di bagian Bootstrap environment from admin workstation, 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
bmctl register bootstrap
:Pastikan nilai untuk
--name
cocok dengan Derived bootstrap 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 atau project ID, masukkan
Ctrl-C
untuk keluar daribmctl register bootstrap
dan jalankan kembali perintah.Klik Networking di menu navigasi sebelah kiri.
Di bagian Control plane, masukkan hal berikut di kolom Control plane node IP 1:
10.200.0.3
Ini adalah alamat IP VM abm-admin-cluster-cp di VXLAN yang dibuat oleh skrip.
Di bagian Load balancer, pastikan Bundled dipilih.
Di bagian Virtual IPs (VIPs), masukkan hal berikut di kolom Control plane VIP:
10.200.0.48
Langkah berikutnya bergantung pada ketersediaan cluster bootstrap. Perintah
bmctl register bootstrap
di jendela terminal harus dijalankan selama beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota terdaftar. Jika setelah beberapa menit, cluster masih belum tersedia, periksa nama cluster bootstrap dan project ID yang Anda gunakan. Jika Anda perlu mengubah nama cluster bootstrap atau project ID, masukkanCtrl-C
di jendela terminal lain untuk keluar daribmctl register bootstrap
dan jalankan kembali perintah.Klik Verifikasi dan Buat.
Konsol menampilkan pesan status saat memverifikasi setelan dan membuat cluster.
Saat cluster admin dibuat, cluster bootstrap di workstation admin akan dihapus. Output perintah
bmctl register bootstrap
di jendela terminal lain akan mirip dengan berikut ini:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
Gunakan SSH untuk mengakses workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Pastikan cluster admin Anda telah dibuat dan berjalan:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
Outputnya mirip dengan hal berikut ini:
none{:.devsite-disable-click-to-copy} NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m 1.31.300-gke.81
Setelah selesai menjelajahi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.Dari command line, gunakan SSH untuk mengakses VM workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Anda dapat mengabaikan pesan apa pun tentang memperbarui VM dan menyelesaikan tutorial ini. Jika Anda berencana mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin memperbarui OS atau mengupgrade ke rilis berikutnya seperti yang dijelaskan dalam dokumentasi Ubuntu.
Tetapkan kredensial pengguna Anda sebagai Kredensial Default Aplikasi (ADC):
gcloud auth application-default login
Ikuti petunjuk untuk memilih Akun Google Anda untuk ADC.
Beralihlah ke direktori
baremetal/
dan jalankan perintah berikut untuk membuat bootstrap cluster.Nama cluster bootstrap berasal dari penambahan
bootstrap-
ke nama cluster admin.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Setelah
bmctl
berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut ini:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Di jendela terminal baru, konfirmasi bahwa cluster bootstrap telah didaftarkan sebagai anggota fleet:
gcloud container fleet memberships list \ --project=PROJECT_ID
Perintah
gcloud container bare-metal admin-clusters create
pada langkah berikut bergantung pada ketersediaan cluster bootstrap. Perintahbmctl register bootstrap
di jendela terminal lain harus dijalankan selama beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota terdaftar. Jika, setelah beberapa menit, cluster masih belum tercantum, periksa nama cluster bootstrap dan project ID yang Anda gunakan. Jika Anda perlu mengubah nama cluster bootstrap atau project ID, masukkanCtrl-C
di jendela terminal lain untuk keluar daribmctl register bootstrap
dan jalankan kembali perintah.Buat cluster admin dengan load balancer gabungan:
Pastikan nilai yang Anda tentukan cocok dengan variabel lingkungan yang Anda tentukan sebelumnya untuk skrip.
gcloud container bare-metal admin-clusters create ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --max-pods-per-node=110 \ --control-plane-vip=10.200.0.48 \ --control-plane-load-balancer-port=443 \ --control-plane-node-configs node-ip=10.200.0.3 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Dalam perintah ini:
--control-plane-vip
: Disetel ke10.200.0.48
. Ini adalah IP virtual (VIP) di load balancer untuk server Kubernetes API cluster.--control-plane-node-configs
:node-ip
ditetapkan ke10.200.0.3
. Ini adalah alamat IP VMabm-admin-cluster-cp
di VXLAN yang dibuat oleh skrip.
Untuk mengetahui daftar lengkap flag dan deskripsinya, lihat referensi gcloud CLI.
Output dari perintah ini akan mirip dengan berikut ini:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dalam contoh output, string
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
adalahOPERATION_ID
dari operasi yang berjalan lama. Anda dapat mengetahui status operasi dengan menjalankan perintah berikut di jendela terminal lain:gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Jika
gcloud container bare-metal admin-clusters create
berhasil diselesaikan, output-nya akan mirip dengan berikut ini:none{:.devsite-disable-click-to-copy} Created Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-gcloud-001]. NAME LOCATION VERSION MEMBERSHIP STATE abm-cluster-1 us-central1 1.31.300-gke.81 abm-cluster-1 RUNNING
Saat cluster admin dibuat, cluster bootstrap di workstation admin akan dihapus. Output perintah
bmctl register bootstrap
di jendela terminal lain akan mirip dengan berikut ini:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
Gunakan SSH untuk mengakses workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Pastikan cluster admin Anda telah dibuat dan berjalan:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
Outputnya mirip dengan hal berikut ini:
none{:.devsite-disable-click-to-copy} NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m 1.31.300-gke.81
Setelah selesai menjelajahi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.Di direktori tempat Anda meng-clone
anthos-samples
, jalankan perintah berikut untuk menyalin file contoh bagi contoh cluster pengguna MetalLB ke folder baru untuk cluster admin Anda:cp -r anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb \ anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
Ubah ke direktori
abm_admin_cluster_basic
:cd anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
Edit file Terraform:
variables.tf
:Tentukan variabel untuk alamat IP node bidang kontrol (meskipun kita hanya menggunakan satu untuk demo ini). Variabel ini harus mirip dengan entri
variable "control_plane_ips" { ... }
.Tentukan variabel untuk alamat VIP bidang kontrol. Variabel ini harus mirip dengan entri
variable "control_plane_vip" { ... }
.
terraform.tfvars
:Tetapkan nilai variabel untuk setelan cluster admin berikut:
Alamat IP node bidang kontrol:
10.200.0.3
Alamat VIP bidang kontrol:
10.200.0.48
main.tf
:Ganti resource
google_gkeonprem_bare_metal_cluster
dengan resourcegoogle_gkeonprem_bare_metal_admin_cluster
.Hapus resource
google_gkeonprem_bare_metal_node_pool
dan bagianlifecycle
terkait.Perbarui resource untuk menggunakan variabel yang baru ditentukan.
Berikut adalah contoh tampilan file
main.tf
saat diedit untuk membuat cluster admin:/** * Copyright 2023 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #[START anthos_onprem_terraform_bare_metal_admin_cluster_basic_main] module "enable_google_apis_primary" { source = "terraform-google-modules/project-factory/google//modules/project_services" version = "~> 14.0" project_id = var.project_id activate_apis = [ "anthos.googleapis.com", "anthosaudit.googleapis.com", "anthosgke.googleapis.com", "cloudresourcemanager.googleapis.com", "compute.googleapis.com", "connectgateway.googleapis.com", "container.googleapis.com", "file.googleapis.com", "gkehub.googleapis.com", "iam.googleapis.com", "kubernetesmetadata.googleapis.com", "logging.googleapis.com", "monitoring.googleapis.com", "opsconfigmonitoring.googleapis.com", "serviceusage.googleapis.com", "stackdriver.googleapis.com" ] disable_services_on_destroy = false } # Enable GKE OnPrem API resource "google_project_service" "default" { project = var.project_id service = "gkeonprem.googleapis.com" disable_on_destroy = false } # Create a baremetal admin cluster and enroll it with the gkeonprem API resource "google_gkeonprem_bare_metal_admin_cluster" "admin-cluster-basic" { name = var.admin_cluster_name description = "Bare metal admin cluster" provider = google depends_on = [google_project_service.default] location = var.region bare_metal_version = var.bare_metal_version network_config { island_mode_cidr { service_address_cidr_blocks = ["0.96.0.0/20"] pod_address_cidr_blocks = ["192.168.0.0/16"] } } node_config { max_pods_per_node = 250 } control_plane { control_plane_node_pool_config { node_pool_config { operating_system = "LINUX" dynamic "node_configs" { for_each = var.admin_cp_ips content { node_ip = node_configs.value } } } } } load_balancer { port_config { control_plane_load_balancer_port = 443 } vip_config { control_plane_vip = var.admin_cp_vip } } storage { lvp_share_config { lvp_config { path = "/mnt/localpv-share" storage_class = "local-shared" } shared_path_pv_count = 5 } lvp_node_mounts_config { path = "/mnt/localpv-disk" storage_class = "local-disks" } } dynamic "security_config" { for_each = length(var.admin_user_emails) == 0 ? [] : [1] content { authorization { dynamic "admin_users" { for_each = var.admin_user_emails content { username = admin_users.value } } } } } lifecycle { ignore_changes = [ annotations["onprem.cluster.gke.io/user-cluster-resource-link"], annotations["alpha.baremetal.cluster.gke.io/cluster-metrics-webhook"], annotations["baremetal.cluster.gke.io/operation"], annotations["baremetal.cluster.gke.io/operation-id"], annotations["baremetal.cluster.gke.io/start-time"], annotations["baremetal.cluster.gke.io/upgrade-from-version"] ] } } #[END anthos_onprem_terraform_bare_metal_admin_cluster_basic_main]
Untuk mengetahui informasi selengkapnya tentang resource Terraform untuk cluster admin, lihat google_gkeonprem_bare_metal_admin_cluster di registry Terraform.
Dari command line, gunakan SSH untuk mengakses VM workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Anda dapat mengabaikan pesan apa pun tentang memperbarui VM dan menyelesaikan tutorial ini. Jika Anda berencana mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin memperbarui OS atau mengupgrade ke rilis berikutnya seperti yang dijelaskan dalam dokumentasi Ubuntu.
Tetapkan kredensial pengguna Anda sebagai Kredensial Default Aplikasi (ADC):
gcloud auth application-default login
Ikuti petunjuk untuk memilih Akun Google Anda untuk ADC.
Beralihlah ke direktori
baremetal/
dan jalankan perintah berikut untuk membuat bootstrap cluster.Nama cluster bootstrap berasal dari penambahan
bootstrap-
ke nama cluster admin.bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Setelah
bmctl
berhasil membuat cluster bootstrap, Anda akan melihat output yang mirip dengan berikut ini:[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Lakukan inisialisasi dan buat rencana Terraform:
terraform init
Terraform menginstal library yang diperlukan, seperti Google Cloud provider.
Tinjau konfigurasi dan lakukan perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster admin:
terraform apply
Pembuatan cluster admin memerlukan waktu 15 menit atau lebih. Setelah pembuatan cluster selesai, Anda akan melihat pesan seperti berikut:
... google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Still creating... [20m10s elapsed] google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Creation complete after 20m11s [id=projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-terra002] Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Saat cluster admin dibuat, cluster bootstrap di workstation admin akan dihapus. Output perintah
bmctl register bootstrap
di jendela terminal lain akan mirip dengan berikut ini:... [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK [2024-04-15 23:16:38+0000] Please run [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes [2024-04-15 23:16:38+0000] to get cluster nodes status. [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK [2024-04-15 23:24:30+0000] Flushing logs... OK [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster. [2024-04-15 23:24:30+0000] Deleting membership... OK [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
Di konsol, buka halaman GKE clusters.
Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin yang tercantum.
Login ke cluster admin:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Gunakan SSH untuk mengakses workstation admin sebagai root:
gcloud compute ssh root@abm-ws --zone ZONE
Pastikan cluster admin Anda telah dibuat dan berjalan:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
Outputnya mirip dengan hal berikut ini:
none{:.devsite-disable-click-to-copy} NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m 1.31.300-gke.81
Setelah selesai menjelajahi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.Gunakan SSH untuk mengakses VM workstation admin,
abm-ws
, sebagai root:gcloud compute ssh root@abm-ws --zone ZONE
Buat file konfigurasi cluster:
bmctl create config -c abm-user-cluster-metallb \ --project-id=PROJECT_ID
Dalam file konfigurasi cluster pengguna berikut, tetapkan alamat email Anda di bagian
clusterSecurity
dan verifikasi setelan lainnya:File konfigurasi cluster berikut diisi dengan nilai yang Anda masukkan dalam tabel perencanaan sebelumnya. Selain nilai yang Anda masukkan, perhatikan perbedaan berikut dari file konfigurasi yang dihasilkan:
- Komentar telah dihapus dari contoh ini untuk meningkatkan keterbacaan.
- Bagian kredensial telah dihapus seperti biasa untuk cluster pengguna.
- Jenis cluster,
spec.type
, telah ditetapkan keuser
. - Kolom
spec.clusterSecurity.authorization.clusterAdmin.gcpAccounts
ditambahkan untuk memberikanclusterrole/cluster-admin
ke akun Anda. Selain hal lainnya, kolom ini memungkinkan Anda login ke cluster di konsolGoogle Cloud untuk melihat detail cluster lainnya.
--- apiVersion: v1 kind: Namespace metadata: name: cluster-abm-user-cluster-metallb --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: abm-user-cluster-metallb namespace: cluster-abm-user-cluster-metallb spec: type: user profile: default anthosBareMetalVersion: BMCTL_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: 10.200.0.4 clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: 10.200.0.50 ingressVIP: 10.200.0.51 addressPools: - name: pool1 addresses: - 10.200.0.51-10.200.0.70 clusterOperations: projectID: PROJECT_ID location: ON_PREM_API_REGION clusterSecurity: authorization: clusterAdmin: gcpAccounts: - YOUR_EMAIL_ADDRESS storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5 nodeConfig: podDensity: maxPodsPerNode: 250 --- apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-abm-user-cluster-metallb spec: clusterName: abm-user-cluster-metallb nodes: - address: 10.200.0.5
Ganti konten file konfigurasi yang dihasilkan di workstation admin Anda dengan konten dari contoh sebelumnya.
Buka file yang dibuat,
bmctl-workspace/abm-user-cluster-metallb/abm-user-cluster-metallb.yaml
dan ganti kontennya dengan konten sampel yang Anda verifikasi di langkah sebelumnya.Buat cluster pengguna:
bmctl create cluster -c abm-user-cluster-metallb \ --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Perintah
bmctl
menampilkan output ke layar saat menjalankan pemeriksaan awal dan membuat cluster. Informasi verbose ditulis ke log di folderbaremetal/bmctl-workspace/abm-user-cluster-metallb/log
pada workstation admin.Pembuatan cluster dapat memerlukan waktu beberapa menit.
Di konsol Google Cloud , buka halaman GKE clusters.
Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin dan pengguna dalam daftar.
Login ke cluster pengguna:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Ulangi langkah yang sama untuk login ke cluster admin.
Di konsol, buka halaman Create a bare metal cluster.
Pastikan project Google Cloud tempat Anda membuat cluster admin dipilih.
Klik Create Cluster.
Dalam dialog, klik Lokal.
Di samping Bare metal, klik Configure. Halaman Prasyarat akan ditampilkan.
Di bagian Pilih jenis cluster Anda, pilih Buat cluster pengguna untuk cluster admin yang ada
Klik Berikutnya.
Masukkan nama untuk cluster pengguna atau gunakan nama default.
Pastikan cluster admin yang baru dibuat dipilih. Anda dapat menggunakan opsi default untuk setelan lainnya di halaman ini.
Klik Networking di menu navigasi sebelah kiri.
Di bagian Control plane, masukkan hal berikut di kolom Control plane node IP 1:
10.200.0.4
Ini adalah alamat IP VM
abm-user-cluster-cp1
di VXLAN yang dibuat oleh skrip.Di bagian Load balancer, gunakan load balancer default, Bundel dengan MetalLB.
Di bagian New address pool, masukkan rentang alamat IP berikut di kolom IP address range 1:
10.200.0.51-10.200.0.70
Klik Selesai.
Di bagian Virtual IPs, masukkan alamat IP berikut di kolom Control Plane VIP:
10.200.0.50
Masukkan alamat IP berikut untuk VIP Ingress:
10.200.0.51
Gunakan alamat IP default di bagian CIDR Service dan Pod.
Klik default pool di menu navigasi sebelah kiri.
Masukkan alamat IP berikut di kolom Nodes address 1:
10.200.0.5
Ini adalah alamat IP VM abm-user-cluster-w1 di VXLAN yang dibuat oleh skrip.
Klik Verifikasi dan Buat untuk membuat cluster pengguna.
Pembuatan cluster pengguna memerlukan waktu 15 menit atau lebih. Konsol menampilkan pesan status saat memverifikasi setelan dan membuat cluster.
Jika ada masalah dengan konfigurasi, konsol akan menampilkan pesan error yang cukup jelas bagi Anda untuk memperbaiki masalah konfigurasi dan mencoba lagi membuat cluster.
Untuk melihat informasi tambahan tentang proses pembuatan, klik Tampilkan detail untuk menampilkan panel samping. Klik
untuk menutup panel detail.Saat cluster dibuat, Cluster status: running akan ditampilkan.
Setelah cluster dibuat, klik
Clusters untuk kembali ke halaman Clusters.Login ke cluster pengguna:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Ulangi langkah yang sama untuk login ke cluster admin.
Jalankan perintah berikut untuk membuat cluster pengguna:
gcloud container bare-metal clusters create abm-user-cluster-metallb \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/ON_PREM_API_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --metal-lb-address-pools='pool=lb-pool-1,manual-assign=True,addresses=10.200.0.51-10.200.0.70' \ --control-plane-node-configs='node-ip=10.200.0.4' \ --control-plane-vip=10.200.0.50 \ --control-plane-load-balancer-port=443 \ --ingress-vip=10.200.0.51 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Setelah menjalankan perintah, Anda akan melihat output seperti berikut:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678304606537-5f668bde5c57e-341effde-b612ff8a] to complete...
Dalam contoh output, string
operation-1678304606537-5f668bde5c57e-341effde-b612ff8a
adalahOPERATION_ID
dari operasi yang berjalan lama.Untuk mengetahui status operasi, buka jendela terminal lain dan jalankan perintah.
gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Ganti
OPERATION_ID
dengan string yang sesuai dari output langkah sebelumnya.Pembuatan cluster memerlukan waktu sekitar 15 menit atau lebih. Saat cluster dibuat, Anda dapat menjalankan perintah sebelumnya secara berkala untuk mendapatkan status saat ini.
Setelah cluster dibuat, Anda akan melihat output seperti berikut:
Created Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/abm-user-cluster-metallb].
Untuk mengetahui informasi selengkapnya tentang perintah
gcloud container bare-metal clusters create
, termasuk deskripsi setiap flag, lihat halaman container bare-metal clusters create untuk resource cluster di referensi gcloud CLI.Jalankan perintah berikut untuk membuat node pool:
gcloud container bare-metal node-pools create NODE_POOL_NAME \ --cluster=abm-user-cluster-metallb \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --node-configs='node-ip=10.200.0.5'
Ganti
NODE_POOL_NAME
dengan nama untuk node pool.Setelah menjalankan perintah, Anda akan melihat output seperti berikut:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678308682052-5f669b0d132cb-6ebd1c2c-816287a7] to complete...
Perlu waktu sekitar 5 menit atau kurang untuk membuat kumpulan node. Saat node pool dibuat, Anda akan melihat output seperti berikut:
Created node pool in Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/abm-user-cluster-metallb/bareMetalNodePools/NODE_POOL_NAME].
Buka halaman Kubernetes clusters di konsol:
Buka halaman Buat cluster bare metal
Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin dan pengguna dalam daftar.
Login ke cluster pengguna:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Ulangi langkah yang sama untuk login ke cluster admin.
Di direktori tempat Anda meng-clone
anthos-samples
, ubah ke direktori tempat contoh Terraform berada:cd anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb
Contoh ini menyediakan contoh file variabel untuk diteruskan ke
main.tf
.Buat salinan file
terraform.tfvars.sample
:cp terraform.tfvars.sample terraform.tfvars
Verifikasi nilai dalam contoh berikut:
File variabel Terraform berikut,
terraform.tfvars.sample
, telah diisi sebelumnya dengan alamat IP dan nilai yang Anda masukkan di bagian sebelumnya dalam panduan ini.Ganti
ADMIN_2_EMAIL_ADDRESS
dengan alamat email yang terkait dengan akun Google Cloud Anda atau hapus saat Anda mengedit file variabel.Untuk mengetahui informasi selengkapnya tentang argumen dalam contoh ini yang digunakan untuk menetapkan variabel, lihat Referensi Argumen dalam dokumentasi Terraform untuk cluster pengguna bare metal.
Ganti konten salinan file variabel Anda dengan konten dari contoh sebelumnya.
Lakukan inisialisasi dan buat rencana Terraform:
terraform init
Terraform menginstal library yang diperlukan, seperti Google Cloud provider.
Tinjau konfigurasi dan lakukan perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Pembuatan cluster pengguna memerlukan waktu 15 menit atau lebih. Anda dapat melihat cluster di konsol Google Cloud di halaman GKE clusters.
Di konsol Google Cloud , buka halaman GKE clusters.
Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin dan pengguna dalam daftar.
Login ke cluster pengguna:
Klik link pada nama cluster, lalu di panel samping, klik Login.
Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Ulangi langkah yang sama untuk login ke cluster admin.
Untuk menghapus cluster pengguna dengan
bmctl
, jalankan perintah berikut dari VM workstation admin,abm-ws
:bmctl reset \ --cluster abm-user-cluster-metallb \ --admin-kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Di konsol, buka halaman GKE clusters.
Di daftar cluster, klik cluster pengguna.
Di panel Detail, klik Lihat detail selengkapnya.
Di dekat bagian atas jendela, klik
Hapus.Saat diminta untuk mengonfirmasi, masukkan nama cluster, lalu klik Hapus.
Klik
di pojok kanan atas untuk melihat status penghapusan. Anda mungkin harus memuat ulang halaman untuk memperbarui daftar cluster.Untuk menghapus cluster, jalankan perintah berikut:
gcloud container bare-metal clusters delete abm-user-cluster-metallb \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --force
Flag
--force
memungkinkan Anda menghapus cluster yang memiliki node pool. Tanpa tanda--force
, Anda harus menghapus kumpulan node terlebih dahulu, lalu menghapus cluster.Jalankan perintah berikut dari direktori tempat file contoh cluster pengguna Terraform, seperti
main.tf
berada:terraform destroy
Batalkan pendaftaran cluster admin dari GKE On-Prem API:
gcloud container bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Hubungkan ke workstation admin:
gcloud compute ssh root@abm-ws --zone ZONE
Hapus cluster admin:
bmctl reset -c ADMIN_CLUSTER_NAME
bmctl
membatalkan pendaftaran cluster dari fleet, lalu menghapus cluster. Tunggu hingga cluster dihapus sebelum menghapus VM.Keluar dari workstation admin:
exit
Mencantumkan semua VM yang memiliki
abm
dalam namanya:gcloud compute instances list | grep 'abm'
Pastikan Anda tidak keberatan menghapus semua VM yang berisi
abm
dalam namanya.Setelah memverifikasi, Anda dapat menghapus VM
abm
dengan menjalankan perintah berikut:gcloud compute instances list --format="value(name)" | \ grep 'abm' | \ xargs gcloud compute instances delete --quiet --zone ZONE
Jalankan perintah berikut untuk menghapus akun layanan dan, saat diminta, masukkan
y
:gcloud iam service-accounts delete baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com
Langkah berikutnya
Untuk mulai membuat cluster di hardware Anda sendiri, lihat Merencanakan penginstalan dasar di hardware Anda dan Membuat cluster dasar di hardware Anda.
Untuk persyaratan penginstalan mendetail, lihat Ringkasan prasyarat penginstalan.
Untuk mengetahui informasi selengkapnya tentang penginstalan, lihat Ringkasan pembuatan cluster.
Untuk mengetahui petunjuk tentang cara men-deploy ke cluster, lihat Men-deploy aplikasi.
2. Membuat VM dan jaringan
Di bagian ini, Anda akan mendownload dan menjalankan skrip install_admin_cluster.sh
.
3. Buat cluster admin
bmctl
Untuk membuat cluster admin dengan bmctl
, Anda mengakses VM workstation admin di
jendela terminal dan menjalankan perintah dari sana:
Verifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di direktori
bmctl-workspace
akun root. Untuk memverifikasi deployment Anda,
selesaikan langkah-langkah berikut:
Konsol
Untuk membuat cluster admin di konsol, Anda harus menjalankan bmctl
register bootstrap
dari VM workstation admin untuk membuat cluster bootstrap.
Saat perintah bmctl register bootstrap
berjalan, Anda melakukan langkah-langkah di
konsol untuk membuat cluster admin.
Memasukkan dasar-dasar lingkungan bootstrap
Gunakan langkah-langkah di bagian berikutnya, bukan langkah-langkah yang ditampilkan di konsol untuk membuat bootstrap cluster. Biarkan halaman konsol ditampilkan karena Anda akan melanjutkan di sana untuk membuat cluster admin.
Buat cluster bootstrap
Saat menggunakan klien GKE On-Prem API, seperti konsol, untuk membuat cluster admin, Anda perlu membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin.
Buat cluster admin
Jaringan
Verifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di direktori
bmctl-workspace
akun root. Untuk memverifikasi deployment Anda,
selesaikan langkah-langkah berikut:
gcloud CLI
Petunjuk berikut memerlukan dua jendela terminal. Di satu jendela terminal,
Anda menjalankan bmctl register bootstrap
untuk membuat cluster bootstrap. Saat perintah
bmctl register bootstrap
sedang berjalan, Anda menjalankan gcloud container
bare-metal admin-clusters create
di jendela terminal lain untuk membuat cluster
admin.
Buat cluster bootstrap
Saat menggunakan klien GKE On-Prem API, seperti gcloud CLI, untuk membuat cluster admin, Anda perlu membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin.
Buat cluster admin
Verifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di direktori
bmctl-workspace
akun root. Untuk memverifikasi deployment Anda,
selesaikan langkah-langkah berikut:
Terraform
Petunjuk berikut memerlukan dua jendela terminal. Di satu jendela terminal,
Anda menjalankan bmctl register bootstrap
untuk membuat cluster bootstrap. Saat perintah
bmctl register bootstrap
sedang berjalan, Anda menjalankan perintah Terraform di
jendela terminal lain untuk membuat cluster admin.
Ubah file contoh cluster pengguna agar berfungsi untuk cluster admin
Repositori anthos-samples
tidak menyertakan contoh yang khusus untuk membuat cluster admin Google Distributed Cloud. Langkah-langkah berikut menunjukkan cara membuat cluster admin dengan mengubah contoh Terraform cluster pengguna yang ada.
Buat cluster bootstrap
Saat menggunakan klien GKE On-Prem API, seperti Terraform, untuk membuat cluster admin, Anda perlu membuat bootstrap cluster di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin.
Buat cluster admin
Verifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di direktori
bmctl-workspace
akun root. Untuk memverifikasi deployment Anda,
selesaikan langkah-langkah berikut:
4. Membuat cluster pengguna
Anda dapat menggunakan konsol Google Cloud , Google Cloud CLI, atau Terraform untuk membuat
cluster pengguna. Agar mudah, gunakan abm-user-cluster-metallb
untuk nama cluster pengguna, agar cocok dengan nama yang dikodekan secara permanen dalam skrip Terraform.
bmctl
Konsol
Lakukan langkah-langkah berikut untuk membuat cluster pengguna di konsol:
Dasar-dasar cluster
Jaringan
Skrip yang Anda jalankan untuk membuat VM dan cluster admin juga membuat
VXLAN Layer 2 dengan alamat IP di subnet 10.200.0.0/24
.
Membuat node pool
Cluster pengguna Anda harus memiliki setidaknya satu node pool untuk node pekerja.
Membuat cluster
gcloud CLI
Untuk membuat cluster pengguna:
Membuat node pool
Setelah cluster berhasil dibuat, Anda dapat membuat node pool untuk cluster tersebut.
Untuk membuat node pool:
Terraform
Anda dapat menggunakan contoh konfigurasi dasar berikut untuk membuat cluster pengguna dengan load balancer MetalLB yang dibundel. Untuk mengetahui informasi selengkapnya, lihat
dokumentasi referensi google_gkeonprem_bare_metal_cluster
.
5. Pembersihan
Gunakan petunjuk berikut untuk menghapus cluster dan VM yang Anda buat dengan panduan ini.
Hapus cluster pengguna
bmctl
Konsol
gcloud CLI
Untuk mengetahui informasi tentang flag lainnya, lihat gcloud container bare-metal clusters delete.
Terraform
Perintah terraform destroy
menghentikan resource yang dibuat saat Anda menjalankan terraform apply
untuk membuat cluster pengguna.
Tunggu hingga cluster pengguna dihapus sebelum menghapus cluster admin dan VM.