Halaman ini menunjukkan cara menyiapkan GKE di cluster hybrid Bare Metal dalam mode Ketersediaan Tinggi (HA) menggunakan Virtual Machine (VM) yang berjalan di Compute Engine.
Anda dapat mencoba GKE di Bare Metal dengan cepat tanpa harus menyiapkan hardware apa pun. Dengan menyelesaikan langkah-langkah di halaman ini, Anda dapat memiliki GKE yang berfungsi di lingkungan pengujian Bare Metal yang berjalan di Compute Engine.
Untuk mencoba GKE pada Bare Metal di VM Compute Engine, selesaikan langkah-langkah berikut:
- Buat enam VM di Compute Engine
- Buat jaringan
vxlan
di antara semua VM dengan konektivitas L2 - Menginstal prasyarat untuk GKE di Bare Metal
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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Catat project ID karena Anda memerlukannya untuk menetapkan variabel lingkungan yang digunakan dalam skrip dan perintah di halaman ini. Jika memilih project yang sudah ada, pastikan Anda merupakan pemilik atau editor project.
-
Di workstation Linux, pastikan Anda telah menginstal
Google Cloud CLI terbaru, yaitu 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: "Anda tidak dapat menjalankan tindakan ini karena pengelola komponen Google Cloud CLI dinonaktifkan untuk penginstalan ini. Anda dapat menjalankan perintah berikut untuk mencapai hasil yang sama dengan penginstalan ini:" Ikuti petunjuk untuk menyalin dan menempelkan perintah guna mengupdate komponen.
Langkah-langkah dalam panduan ini diambil dari skrip penginstalan di repositori anthos-samples. Anda dapat membaca informasi selengkapnya tentang bagian FAQ 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, dan alat CLI untuk berinteraksi dengan cluster yang disediakan setelah penginstalan. Workstation admin akan memiliki akses ke semua node lain di cluster melalui SSH.
- Tiga VM untuk tiga node bidang kontrol yang diperlukan untuk menjalankan GKE pada bidang kontrol Bare Metal.
- Dua VM untuk dua node pekerja diperlukan untuk menjalankan workload di GKE pada cluster Bare Metal.
Menyiapkan variabel lingkungan:
export PROJECT_ID=PROJECT_ID export ZONE=ZONE export CLUSTER_NAME=CLUSTER_NAME export BMCTL_VERSION=1.15.11
Untuk
ZONE
, Anda dapat menggunakanus-central1-a
atau salah satu dari zona Compute Engine lainnya .Jalankan perintah berikut untuk login dengan Akun Google Anda dan tetapkan project sebagai default:
gcloud auth login gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONE
Buat akun layanan
baremetal-gcr
:Aktifkan API dan layanan Google Cloud:
Beri akun layanan
baremetal-gcr
izin tambahan agar 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 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 beban kerja.
Gunakan loop berikut untuk memverifikasi bahwa SSH siap digunakan di semua VM:
Buat 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:
- SSH ke setiap VM.
- Update dan instal paket yang diperlukan.
Jalankan perintah yang diperlukan untuk mengonfigurasi jaringan dengan
vxlan
.
Anda sekarang 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 GKE di Bare Metal
Anda perlu menginstal alat berikut di workstation admin sebelum menginstal GKE di Bare Metal:
bmctl
kubectl
- Docker
Untuk menginstal alat dan mempersiapkan GKE pada penginstalan Bare Metal:
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.x
berfungsi. Perintah ini melakukan tugas-tugas berikut:- Membuat kunci SSH baru di workstation admin.
- Tambahkan kunci publik ke semua VM lain dalam deployment.
Men-deploy GKE pada cluster hybrid Bare Metal
Blok kode berikut berisi semua perintah dan konfigurasi yang diperlukan untuk menyelesaikan tugas-tugas berikut:
- Buat file konfigurasi untuk cluster hybrid yang diperlukan.
- Menjalankan pemeriksaan preflight.
- Deploy cluster.
Verifikasi cluster Anda
Anda dapat menemukan file kubeconfig
cluster di workstation admin di
direktori bmctl-workspace
akun root. Untuk memverifikasi deployment, selesaikan langkah-langkah berikut.
SSH ke 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 mempertahankan VM sebagai lingkungan pengujian, Anda dapat mengupdate OS atau mengupgrade ke rilis berikutnya seperti yang dijelaskan dalam dokumentasi Ubuntu.
Tetapkan variabel lingkungan
KUBECONFIG
dengan jalur ke file konfigurasi cluster untuk menjalankan perintahkubectl
di cluster.export clusterid=CLUSTER_NAME export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig kubectl get nodes
Setel konteks saat ini dalam variabel lingkungan:
export CONTEXT="$(kubectl config current-context)"
Jalankan perintah
gcloud
berikut. Perintah ini:- Memberikan peran
clusterrole/cluster-admin
Kubernetes kepada akun pengguna Anda di cluster. - Mengonfigurasi cluster sehingga Anda dapat menjalankan perintah
kubectl
di komputer lokal tanpa harus SSH ke workstation admin.
Ganti
GOOGLE_ACCOUNT_EMAIL
dengan 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\ --apply
Output perintah ini mirip dengan berikut ini, yang dipotong agar 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
kubeconfig
yang dapat mengakses cluster melalui Connect gateway.gcloud container fleet memberships get-credentials CLUSTER_NAME
Outputnya 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.
Anda sekarang dapat menjalankan perintah
kubectl
melalui gateway Connect:kubectl get nodes kubectl get namespaces
Login ke cluster Anda dari konsol Google Cloud
Untuk mengamati workload Anda di GKE pada Bare Metal 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 untuk dikonfigurasi adalah identitas Google. Dengan metode autentikasi ini, Anda dapat login menggunakan alamat email yang terkait dengan akun Google Cloud.
Perintah gcloud container fleet memberships generate-gateway-rbac
yang Anda jalankan di bagian sebelumnya akan mengonfigurasi cluster sehingga Anda dapat login dengan identitas Google Anda.
Di konsol Google Cloud, buka halaman Cluster GKE.
Klik
Actions di samping cluster yang terdaftar, lalu klik Login.Pilih Gunakan identitas Google Anda untuk login.
Klik Login.
Pembersihan
Hubungkan ke workstation admin untuk mereset VM cluster ke statusnya sebelum menginstal dan membatalkan pendaftaran cluster dari project Google Cloud Anda:
gcloud compute ssh root@abm-ws --zone ${ZONE} << EOF set -x export clusterid=CLUSTER_NAME bmctl reset -c \$clusterid EOF
Cantumkan semua VM yang memiliki
abm
dalam namanya:gcloud compute instances list | grep 'abm'
Pastikan Anda tidak keberatan menghapus semua VM yang namanya berisi
abm
.Setelah terverifikasi, Anda dapat menghapus VM
abm
dengan menjalankan perintah berikut:gcloud compute instances list --format="value(name)" | grep 'abm' | xargs gcloud \ --quiet compute instances delete