Pelajari Google Distributed Cloud (khusus software) untuk bare metal (sebelumnya dikenal sebagai Google Distributed Cloud Virtual, 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 cluster ini tidak dimaksudkan untuk digunakan dalam produksi.
Dokumen ini 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
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 perlukan 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 memerlukannya untuk menetapkan variabel lingkungan yang digunakan dalam skrip dan perintah di halaman ini. Jika Anda memilih project yang sudah ada, pastikan Anda adalah pemilik project atau editor.
-
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 penginstalan gcloud CLI, 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:
- Menyiapkan 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
: Zona Google Cloud tempat VM Compute Engine dibuat. Anda dapat menggunakanus-central1-a
atau salah satu 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 dimasukkan. 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 dalam variabel lingkungan:
export BMCTL_VERSION=BMCTL_VERSION
Sebaiknya pilih versi tertinggi yang kompatibel untuk mendapatkan fitur dan perbaikan Google Distributed Cloud terbaru.
2. Membuat VM dan jaringan
Di bagian ini, Anda akan mendownload dan menjalankan skrip install_admin_cluster.sh
.
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 confirmasikan pilihan Anda saat diminta.Skrip ini membuat VM Compute Engine, membuat jaringan VXLAN, dan menyiapkan workstation admin dan node cluster. Infrastruktur ini memerlukan waktu sekitar 5 menit untuk disiapkan.
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 Google Cloud API 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
-
Alih-alih membuat beberapa akun layanan untuk API dan layanan yang berbeda, skrip ini membuat satu akun layanan yang disebut
baremetal-gcr
dan memberikan peran IAM berikut: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 node pekerja 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 Lapisan 2
di antara VM. VXLAN tidak persisten, jadi jika Anda
memulai ulang instance VM, jaringan akan dihancurkan. Jaringan disiapkan
untuk berada di subnet
10.200.0.0/24
. Konektivitas Lapisan 2 adalah persyaratan untuk load balancer yang dipaketkan. -
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
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 lain dalam deployment.
Skrip menampilkan setiap perintah yang dijalankan dan statusnya. Setelah selesai, skrip akan menampilkan 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 Google Cloud API berikut:
3. Membuat cluster admin
bmctl
Untuk membuat cluster admin dengan bmctl
, Anda mengakses VM workstation admin di
jendela terminal dan menjalankan perintah dari sana:
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: us-central1 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 dihasilkan,
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 preflight dan membuat cluster. Informasi panjang ditulis ke log di folderbaremetal/bmctl-workspace/abm-user-cluster-metallb/log
di 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 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.
Memverifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di
direktori bmctl-workspace
akun root. Untuk memverifikasi deployment,
selesaikan langkah-langkah berikut:
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:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Setelah selesai bereksplorasi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.
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.
Memasuki dasar-dasar lingkungan bootstrap
Di Konsol Google Cloud, buka halaman cluster GKE.
Klik Create.
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, project, dan lokasi cluster secara bersama-sama mengidentifikasi cluster di Google Cloud secara unik.
Gunakan langkah-langkah di bagian berikutnya, bukan langkah-langkah yang ditampilkan di konsol untuk membuat cluster bootstrap. Biarkan halaman konsol ditampilkan karena Anda akan melanjutkan di sana untuk membuat cluster admin.
Membuat 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.
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 mengupdate VM dan menyelesaikan tutorial ini. Jika berencana untuk mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin mengupdate 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 cluster bootstrap.Nama cluster bootstrap berasal dari menambahkan
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..
Membuat cluster admin
Di halaman Instal lingkungan bootstrap di bagian Lingkungan bootstrap dari workstation admin, klik Periksa Koneksi.
Jika berhasil, konsol akan menampilkan
Koneksi dibuat.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 Nama bootstrap turunan yang ditampilkan di bagian Dasar-dasar lingkungan bootstrap.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.
Jaringan
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 IP (VIP), masukkan hal berikut di kolom VIP bidang kontrol:
10.200.0.48
Langkah berikut bergantung pada ketersediaan cluster bootstrap. Perintah
bmctl register bootstrap
di jendela terminal harus berjalan selama beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota terdaftar. Jika, setelah beberapa menit, cluster tersebut 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 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.
Memverifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di
direktori bmctl-workspace
akun root. Untuk memverifikasi deployment,
selesaikan langkah-langkah berikut:
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:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Setelah selesai bereksplorasi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.
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
berjalan, Anda menjalankan gcloud container
bare-metal admin-clusters create
di jendela terminal lain untuk membuat cluster admin.
Membuat 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.
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 mengupdate VM dan menyelesaikan tutorial ini. Jika berencana untuk mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin mengupdate 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 cluster bootstrap.Nama cluster bootstrap berasal dari menambahkan
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..
Membuat cluster admin
Di jendela terminal baru, pastikan cluster bootstrap telah terdaftar sebagai anggota fleet:
gcloud container fleet memberships list \ --project=PROJECT_ID
Perintah
gcloud container bare-metal admin-clusters create
di langkah berikut bergantung pada ketersediaan cluster bootstrap. Perintahbmctl register bootstrap
di jendela terminal lain harus berjalan selama beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota terdaftar. Jika, setelah beberapa menit, cluster tersebut 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 yang dipaketkan:
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
: Ditetapkan 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: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.28.300-gke.131 abm-cluster-1 RUNNING
Saat cluster admin dibuat, cluster bootstrap di workstation admin akan dihapus. Output perintah
bmctl register bootstrap
di jendela terminal lain 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.
Memverifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di
direktori bmctl-workspace
akun root. Untuk memverifikasi deployment,
selesaikan langkah-langkah berikut:
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:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Setelah selesai bereksplorasi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.
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
berjalan, Anda menjalankan perintah Terraform di
jendela terminal lain untuk membuat cluster admin.
Mengubah 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.
Di direktori tempat Anda meng-clone
anthos-samples
, jalankan perintah berikut untuk menyalin file contoh untuk 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 control plane:
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 informasi selengkapnya tentang resource Terraform untuk cluster admin, lihat google_gkeonprem_bare_metal_admin_cluster di registry Terraform.
Membuat cluster bootstrap
Saat menggunakan klien GKE On-Prem API, seperti Terraform, untuk membuat cluster admin, Anda perlu membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster 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 mengupdate VM dan menyelesaikan tutorial ini. Jika berencana untuk mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin mengupdate 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 cluster bootstrap.Nama cluster bootstrap berasal dari menambahkan
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..
Membuat cluster admin
Lakukan inisialisasi dan buat rencana Terraform:
terraform init
Terraform menginstal library yang diperlukan, seperti penyedia Google Cloud.
Tinjau konfigurasi dan buat 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 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 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.
Memverifikasi cluster admin
Anda dapat menemukan file kubeconfig cluster admin di workstation admin di
direktori bmctl-workspace
akun root. Untuk memverifikasi deployment,
selesaikan langkah-langkah berikut:
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:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane 94m v1.27.4-gke.1600
Setelah selesai bereksplorasi, masukkan
exit
untuk memutuskan koneksi dari workstation admin.
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 di-hardcode dalam skrip Terraform.
bmctl
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 di 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. Di antara hal lainnya, kolom ini memungkinkan Anda login ke cluster di Konsol Google 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: us-central1 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 dihasilkan,
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 preflight dan membuat cluster. Informasi panjang ditulis ke log di folderbaremetal/bmctl-workspace/abm-user-cluster-metallb/log
di workstation admin.Pembuatan cluster dapat memerlukan waktu beberapa menit.
Di Konsol Google Cloud, buka halaman Cluster GKE.
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-langkah yang sama untuk login ke cluster admin.
Konsol
Lakukan langkah-langkah berikut untuk membuat cluster pengguna di konsol:
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 On-premises.
Di samping Bare metal, klik Configure. Halaman Prasyarat akan ditampilkan.
Di bagian Pilih jenis cluster, pilih Buat cluster pengguna untuk cluster admin yang ada
Klik Berikutnya.
Dasar-dasar cluster
Masukkan nama untuk cluster pengguna atau gunakan nama default.
Pastikan cluster admin yang baru dibuat dipilih. Anda dapat menggunakan setelan default untuk setelan lainnya di halaman ini.
Klik Networking di menu navigasi sebelah kiri.
Jaringan
Skrip yang Anda jalankan untuk membuat VM dan cluster admin juga membuat
VXLAN Lapisan 2 dengan alamat IP di subnet 10.200.0.0/24
.
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, Disertakan 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 Done.
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.
Membuat node pool
Cluster pengguna Anda harus memiliki minimal satu node pool untuk node pekerja.
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.
Membuat cluster
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, Status cluster: berjalan 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-langkah yang sama untuk login ke cluster admin.
gcloud CLI
Untuk membuat cluster pengguna:
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.Perlu waktu sekitar 15 menit atau lebih untuk membuat cluster. Saat cluster dibuat, Anda dapat menjalankan perintah sebelumnya setiap saat untuk mendapatkan status saat ini.
Saat 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 dalam referensi gcloud CLI.
Membuat node pool
Setelah cluster berhasil dibuat, Anda dapat membuat node pool untuk cluster.
Untuk membuat node pool:
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 Cluster Kubernetes 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-langkah yang sama untuk login ke cluster admin.
Terraform
Anda dapat menggunakan contoh konfigurasi dasar berikut untuk membuat cluster pengguna
dengan load balancer MetalLB yang dipaketkan. Untuk informasi selengkapnya, lihat
dokumentasi referensi google_gkeonprem_bare_metal_cluster
.
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 memberikan contoh file variabel yang akan 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 informasi selengkapnya tentang argumen dalam contoh ini yang Anda tetapkan variabelnya, 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 penyedia Google Cloud.
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Pembuatan cluster pengguna memerlukan waktu 15 menit atau lebih. Anda dapat melihat cluster di konsol Google Cloud di halaman cluster GKE.
Di Konsol Google Cloud, buka halaman Cluster GKE.
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-langkah yang sama untuk login ke cluster admin.
5. Pembersihan
Gunakan petunjuk berikut untuk menghapus cluster dan VM yang Anda buat dengan panduan ini.
Menghapus cluster pengguna
bmctl
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
Konsol
Di konsol, buka halaman GKE clusters.
Di daftar cluster, klik cluster pengguna.
Di panel Details, klik View more details.
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.
gcloud CLI
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.
Untuk 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.
Jalankan perintah berikut dari direktori tempat file contoh cluster pengguna Terraform, seperti
main.tf
, berada:terraform destroy
Tunggu hingga cluster pengguna dihapus sebelum menghapus cluster admin dan VM.
Menghapus cluster admin dan VM
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
Cantumkan semua VM yang memiliki
abm
dalam namanya:gcloud compute instances list | grep 'abm'
Pastikan Anda tidak keberatan untuk 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 selanjutnya
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 informasi selengkapnya tentang penginstalan, lihat Ringkasan pembuatan cluster.
Untuk mengetahui petunjuk tentang cara men-deploy ke cluster, lihat Men-deploy aplikasi.