Menyiapkan Google Distributed Cloud khusus software di virtual machine (VM) Compute Engine memungkinkan Anda men-deploy cluster hybrid dalam mode ketersediaan tinggi (HA) tanpa hardware khusus. Konfigurasi ini menyediakan lingkungan pengujian fungsional untuk mempelajari pengelolaan cluster dan deployment workload.
Deployment ini hanya untuk tujuan evaluasi. Jangan jalankan Google Distributed Cloud software-only di VM Compute Engine dalam produksi. Untuk men-deploy Google Distributed Cloud dalam produksi, ikuti langkah-langkah di Membuat cluster dasar.
Dalam tutorial ini, Anda akan mengonfigurasi enam VM Compute Engine, membuat konektivitas Lapisan 2 melalui jaringan overlay vxlan, menginstal prasyarat yang diperlukan, serta men-deploy dan memverifikasi cluster hybrid Anda.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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 atau editor project.
-
Di workstation Linux, pastikan Anda telah menginstal Google Cloud CLI terbaru, alat command line untuk berinteraksi dengan Google Cloud. Jika Anda sudah menginstal gcloud CLI, update komponennya dengan menjalankan perintah berikut:
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.
Langkah-langkah dalam panduan ini diambil dari skrip penginstalan di repositori
anthos-samples. Bagian FAQ
memiliki informasi selengkapnya tentang cara menyesuaikan skrip ini agar berfungsi dengan beberapa variasi
populer.
Membuat enam VM di Compute Engine
Selesaikan langkah-langkah berikut untuk membuat VM berikut:
- Satu VM untuk workstation admin. Workstation admin menghosting alat antarmuka command line (CLI) dan file konfigurasi untuk menyediakan cluster selama penginstalan, serta alat CLI untuk berinteraksi dengan cluster yang disediakan setelah penginstalan. Workstation admin akan memiliki akses ke semua node lain dalam cluster menggunakan SSH.
- Tiga VM untuk tiga node bidang kontrol yang diperlukan untuk menjalankan bidang kontrol Google Distributed Cloud.
- Dua VM untuk dua worker node yang diperlukan untuk menjalankan workload di cluster Google Distributed Cloud.
Siapkan variabel lingkungan:
export PROJECT_ID=PROJECT_ID export ZONE=ZONE export CLUSTER_NAME=CLUSTER_NAME export BMCTL_VERSION=1.36.200-gke.118Untuk
ZONE, Anda dapat menggunakanus-central1-aatau salah satu dari zona Compute Engine lainnya .Jalankan perintah berikut untuk login dengan Akun Google Anda dan tetapkan project Anda sebagai default:
gcloud auth login gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONEBuat kunci dan akun layanan
baremetal-gcr:Aktifkan Google Cloud API dan layanan:
Berikan izin tambahan kepada akun layanan
baremetal-gcragar tidak memerlukan beberapa akun layanan untuk API dan layanan yang berbeda:Buat variabel dan array yang diperlukan untuk semua perintah di halaman ini:
Gunakan loop berikut untuk membuat enam VM:
Perintah ini akan membuat instance VM dengan nama berikut:
- abm-ws: VM untuk workstation admin.
- abm-cp1, abm-cp2, abm-cp3: VM untuk node bidang kontrol.
- abm-w1, abm-w2: VM untuk node yang menjalankan workload.
Gunakan loop berikut untuk memverifikasi bahwa SSH sudah siap di semua VM:
Membuat jaringan vxlan dengan konektivitas L2 antar-VM
Gunakan fungsi vxlan standar Linux untuk membuat jaringan yang menghubungkan semua VM dengan konektivitas L2.
Perintah berikut berisi dua loop yang melakukan tindakan berikut:
- Gunakan SSH untuk mengakses setiap VM.
- Update dan instal paket yang diperlukan.
Jalankan perintah yang diperlukan untuk mengonfigurasi jaringan dengan
vxlan.
Sekarang Anda memiliki konektivitas L2 dalam jaringan 10.200.0.0/24. VM memiliki alamat IP berikut:
- VM workstation admin: 10.200.0.2
- VM yang menjalankan node bidang kontrol:
- 10.200.0.3
- 10.200.0.4
- 10.200.0.5
- VM yang menjalankan worker node:
- 10.200.0.6
- 10.200.0.7
Menginstal prasyarat untuk Google Distributed Cloud
Anda perlu menginstal alat berikut di workstation admin sebelum menginstal Google Distributed Cloud:
bmctlkubectl- Docker
Untuk menginstal alat dan mempersiapkan penginstalan Google Distributed Cloud:
Jalankan perintah berikut untuk mendownload kunci akun layanan ke workstation admin dan menginstal alat yang diperlukan:
Jalankan perintah berikut untuk memastikan
root@10.200.0.xberfungsi. Perintah ini melakukan tugas berikut:- Buat kunci SSH baru di workstation admin.
- Tambahkan kunci publik ke semua VM lain dalam deployment.
Men-deploy cluster hybrid
Blok kode berikut berisi semua perintah dan konfigurasi yang diperlukan untuk menyelesaikan tugas berikut:
- Buat file konfigurasi untuk cluster hybrid yang diperlukan.
- Jalankan pemeriksaan preflight.
- Men-deploy cluster.
Memverifikasi cluster Anda
Anda dapat menemukan file kubeconfig cluster di workstation admin di direktori bmctl-workspace akun root. Untuk memverifikasi deployment Anda,
selesaikan langkah-langkah berikut.
Gunakan SSH untuk mengakses 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 Anda berencana untuk mempertahankan VM sebagai lingkungan pengujian, Anda mungkin ingin mengupdate OS atau mengupgrade ke rilis berikutnya seperti yang dijelaskan dalam dokumentasi Ubuntu.
Tetapkan variabel lingkungan
KUBECONFIGdengan jalur ke file konfigurasi cluster untuk menjalankan perintahkubectldi cluster.export clusterid=CLUSTER_NAME export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig kubectl get nodesTetapkan konteks saat ini dalam variabel lingkungan:
export CONTEXT="$(kubectl config current-context)"Jalankan perintah gcloud CLI berikut. Perintah ini:
- Memberikan peran
clusterrole/cluster-adminKubernetes kepada akun pengguna Anda di cluster. - Mengonfigurasi cluster sehingga Anda dapat menjalankan perintah
kubectldi komputer lokal tanpa harus melakukan SSH ke workstation admin.
Ganti
GOOGLE_ACCOUNT_EMAILdengan alamat email yang terkait dengan akun Google Cloud Anda. Contoh:--users=alex@example.com.gcloud container fleet memberships generate-gateway-rbac \ --membership=CLUSTER_NAME \ --role=clusterrole/cluster-admin \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=PROJECT_ID \ --kubeconfig=$KUBECONFIG \ --context=$CONTEXT\ --applyOutput perintah ini mirip dengan berikut ini, yang dipotong agar lebih mudah dibaca:
Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /root/bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig, context: CLUSTER_NAME-admin@CLUSTER_NAME Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.- Memberikan peran
Setelah selesai menjelajah, masukkan exit untuk logout dari workstation admin.
Dapatkan entri
kubeconfigyang dapat mengakses cluster melalui Gateway Connect.gcloud container fleet memberships get-credentials CLUSTER_NAMEOutputnya mirip dengan hal berikut ini:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_CLUSTER_NAME" has been generated and set as the current context.Sekarang Anda dapat menjalankan perintah
kubectlmelalui gateway Connect:kubectl get nodes kubectl get namespaces
Login ke cluster dari konsol Google Cloud
Untuk mengamati workload pada cluster di konsol Google Cloud , Anda harus login ke cluster. Sebelum login ke konsol untuk pertama kalinya, Anda harus mengonfigurasi metode autentikasi. Metode autentikasi yang paling mudah dikonfigurasi adalah Google Identity. Metode autentikasi ini memungkinkan Anda login menggunakan alamat email yang terkait dengan akunGoogle Cloud Anda.
Perintah gcloud container fleet memberships generate-gateway-rbac yang Anda jalankan di bagian sebelumnya mengonfigurasi cluster sehingga Anda dapat login dengan Google Identity Anda.
Di konsol Google Cloud , buka halaman cluster GKE.
Klik Actions di samping cluster terdaftar, lalu klik Login.
Pilih Use your Google identity to log in.
Klik Login.
Pembersihan
Hubungkan ke workstation admin untuk mereset VM cluster ke statusnya sebelum penginstalan dan batalkan pendaftaran cluster dari project Google CloudAnda:
gcloud compute ssh root@abm-ws --zone ${ZONE} << EOF set -x export clusterid=CLUSTER_NAME bmctl reset -c \$clusterid EOFCantumkan semua VM yang memiliki
abmdalam namanya:gcloud compute instances list | grep 'abm'Pastikan Anda setuju untuk menghapus semua VM yang berisi
abmdalam namanya.Setelah memverifikasi, Anda dapat menghapus VM
abmdengan menjalankan perintah berikut:gcloud compute instances list --format="value(name)" | grep 'abm' | xargs gcloud \ --quiet compute instances delete