Dengan menyediakan virtual machine (VM) Compute Engine menggunakan Terraform, Anda dapat mengevaluasi Google Distributed Cloud dalam mode ketersediaan tinggi (HA) tanpa hardware fisik. Dalam tutorial ini, Anda akan menggunakan skrip Terraform yang disediakan untuk menyiapkan jaringan VM yang diemulasi, men-deploy contoh cluster hybrid, dan memverifikasi penginstalan.
Deployment ini hanya untuk tujuan evaluasi. Jangan menjalankan Google Distributed Cloud di VM Compute Engine dalam produksi. Untuk men-deploy Google Distributed Cloud dalam produksi, ikuti langkah-langkah di Membuat cluster dasar.
Jika Anda lebih suka mengevaluasi Google Distributed Cloud menggunakan Google Cloud CLI, bukan Terraform, lihat Mencoba Google Distributed Cloud di VM Compute Engine.
Sebelum memulai
Deployment memerlukan resource berikut:
- Satu workstation dengan akses ke internet dan alat berikut yang telah diinstal: Git, Google Cloud CLI, dan Terraform (>= v0.15.5, < 1.2).
Project Google Cloud .
Akun layanan dalam project yang memenuhi salah satu persyaratan berikut dan file kuncinya didownload ke workstation:
- Akun layanan memiliki izin Pemilik
- Akun layanan memiliki izin Editor dan Project IAM Admin
Menyiapkan jaringan VM di Compute Engine
Di bagian ini, Anda akan menggunakan skrip Terraform dari repositori anthos-samples. Skrip ini mengonfigurasi Compute Engine dengan resource berikut:
- Enam VM untuk men-deploy cluster hybrid:
- Satu VM admin yang digunakan untuk men-deploy cluster hybrid ke mesin lain.
- Tiga VM untuk tiga node bidang kontrol yang diperlukan untuk menjalankan bidang kontrol cluster hybrid.
- Dua VM untuk dua worker node yang diperlukan untuk menjalankan workload di cluster hybrid.
- Jaringan overlay
VxLANdi antara semua node untuk mengemulasi konektivitas L2. - Akses SSH ke node control-plane dan worker dari VM admin.
Anda dapat mengubah jumlah node dalam cluster dengan menambahkan nama node baru ke variabel Terraform instance_count:
Download skrip Terraform untuk contoh
anthos-bm-gcp-terraform:git clone https://github.com/GoogleCloudPlatform/anthos-samples cd anthos-samples/anthos-bm-gcp-terraformPerbarui file
terraform.tfvars.sampleuntuk menyertakan variabel khusus untuk lingkungan Anda:project_id = "PROJECT_ID" region = "GOOGLE_CLOUD_REGION" zone = "GOOGLE_CLOUD_ZONE" credentials_file = "PATH_TO_GOOGLE_CLOUD_SERVICE_ACCOUNT_KEY_FILE"Ganti nama file
terraform.tfvars.samplemenjadi nama default yang digunakan oleh terraform untuk file variabel:mv terraform.tfvars.sample terraform.tfvarsLakukan inisialisasi direktori contoh sebagai direktori kerja Terraform. Tindakan ini akan menyiapkan konfigurasi pengelolaan status Terraform yang diperlukan, mirip dengan
git init:terraform initBuat rencana eksekusi Terraform. Langkah ini membandingkan status resource, memverifikasi skrip, dan membuat rencana eksekusi:
terraform planTerapkan perubahan yang dijelaskan dalam skrip Terraform. Langkah ini menjalankan rencana pada penyedia yang diberikan (dalam hal ini Google Cloud) untuk mencapai status resource yang ditargetkan:
terraform apply # when prompted to confirm the Terraform plan, type 'Yes' and enter
Men-deploy cluster hybrid
Setelah eksekusi Terraform selesai, Anda siap men-deploy cluster hybrid.
Gunakan SSH untuk terhubung ke host admin:
gcloud compute ssh tfadmin@cluster1-abm-ws0-001 --project=PROJECT_ID --zone=GOOGLE_CLOUD_ZONEAnda 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.
Jalankan blok kode berikut untuk membuat cluster hybrid
cluster1di VM Compute Engine yang dikonfigurasi:sudo ./run_initialization_checks.sh && \ sudo bmctl create config -c cluster1 && \ sudo cp ~/cluster1.yaml bmctl-workspace/cluster1 && \ sudo bmctl create cluster -c cluster1
Menjalankan perintah bmctl akan memulai penyiapan cluster hybrid baru. Hal ini
mencakup melakukan pemeriksaan preflight pada node, membuat cluster admin dan pengguna,
serta mendaftarkan cluster dengan Google Cloud menggunakan
Connect Agent. Seluruh proses penyiapan dapat memerlukan waktu hingga 15 menit. Anda akan melihat
output berikut saat cluster sedang dibuat:
Created config: bmctl-workspace/cluster1/cluster1.yaml
Creating bootstrap cluster... OK
Installing dependency components... OK
Waiting for preflight check job to finish... OK
- Validation Category: machines and network
- [PASSED] 10.200.0.3
- [PASSED] 10.200.0.4
- [PASSED] 10.200.0.5
- [PASSED] 10.200.0.6
- [PASSED] 10.200.0.7
- [PASSED] gcp
- [PASSED] node-network
Flushing logs... OK
Applying resources for new cluster
Waiting for cluster to become ready OK
Writing kubeconfig file
kubeconfig of created cluster is at bmctl-workspace/cluster1/cluster1-kubeconfig, please run
kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig get nodes
to get cluster node status.
Please restrict access to this file as it contains authentication credentials of your cluster.
Waiting for node pools to become ready OK
Moving admin cluster resources to the created admin cluster
Flushing logs... OK
Deleting bootstrap cluster... OK
Memverifikasi dan berinteraksi dengan cluster
Anda dapat menemukan file kubeconfig cluster di mesin admin di direktori bmctl-workspace. Untuk memverifikasi deployment, selesaikan langkah-langkah berikut.
Jika Anda terputus dari host admin, gunakan SSH untuk terhubung ke host:
# You can copy the command from the output of the Terraform execution above gcloud compute ssh tfadmin@cluster1-abm-ws0-001 --project=PROJECT_ID --zone=GOOGLE_CLOUD_ZONETetapkan variabel lingkungan
KUBECONFIGdengan jalur ke file konfigurasi cluster untuk menjalankan perintahkubectldi cluster:export CLUSTER_ID=cluster1 export KUBECONFIG=$HOME/bmctl-workspace/$CLUSTER_ID/$CLUSTER_ID-kubeconfig kubectl get nodesAnda akan melihat node cluster yang dicetak, mirip dengan output berikut:
NAME STATUS ROLES AGE VERSION cluster1-abm-cp1-001 Ready master 17m v1.18.6-gke.6600 cluster1-abm-cp2-001 Ready master 16m v1.18.6-gke.6600 cluster1-abm-cp3-001 Ready master 16m v1.18.6-gke.6600 cluster1-abm-w1-001 Ready <none> 14m v1.18.6-gke.6600 cluster1-abm-w2-001 Ready <none> 14m v1.18.6-gke.6600
Login ke cluster dari konsol Google Cloud
Untuk mengamati workload di konsol Google Cloud , Anda harus login ke cluster.
Untuk mengetahui petunjuk dan informasi selengkapnya tentang cara login ke cluster, lihat Bekerja dengan cluster dari konsol Google Cloud .
Pembersihan
Anda dapat membersihkan penyiapan cluster dengan dua cara.
Konsol
Terraform
- Batalkan pendaftaran cluster sebelum menghapus semua resource yang dibuat oleh Terraform.
# Use SSH to connect to the admin host
gcloud compute ssh tfadmin@cluster1-abm-ws0-001 --project=PROJECT_ID --zone=GOOGLE_CLOUD_ZONE
# Reset the cluster
export CLUSTER_ID=cluster1
export KUBECONFIG=$HOME/bmctl-workspace/$CLUSTER_ID/$CLUSTER_ID-kubeconfig
sudo bmctl reset --cluster $CLUSTER_ID
# log out of the admin host
exit
- Gunakan Terraform untuk menghapus semua resource.
terraform destroy --auto-approve