Halaman ini adalah bagian kedua dari panduan yang akan memandu Anda dalam menggunakan Google Distributed Cloud software (sebelumnya dikenal sebagai Google Distributed Cloud) untuk membuat instalasi kecil bukti konsep cluster GKE di perangkat keras {i>bare metal<i} Anda. Bagian pertama, Menyiapkan infrastruktur minimal, menunjukkan cara menyiapkan hardware, merencanakan alamat IP, dan menyiapkan resource Google Cloud infrastruktur IT. Dokumen ini dibuat berdasarkan penyiapan dan perencanaan dari serta menampilkan cara membuat cluster admin dan cluster pengguna. Anda dapat lalu lanjutkan ke Create a Service and an Ingress.
Halaman ini ditujukan untuk Admin, arsitek, dan Operator yang menyiapkan, memantau, dan mengelola siklus hidup infrastruktur teknologi yang mendasarinya. Kepada mempelajari lebih lanjut tentang peran umum dan contoh tugas yang kami rujuk dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise yang umum.
Panduan ini membantu Anda membuat penginstalan minimal Google Distributed Cloud. Ini instalasi minimal mungkin tidak sesuai untuk kebutuhan produksi Anda dan kasus penggunaan. Untuk informasi tentang penginstalan produksi, lihat panduan penginstalan.
Sebelum memulai
Pastikan Anda telah menyiapkan perangkat keras dan merencanakan alamat IP sebagai yang dijelaskan di bagian sebelumnya panduan ini, Menyiapkan infrastruktur minimal. Atau, gunakan perencana persyaratan jaringan di bagian Prasyarat bagian dari Alur Membuat cluster admin bare metal di Konsol Google Cloud.
Jika ingin menggunakan Terraform untuk membuat cluster pengguna, Anda memerlukan Terraform baik di {i>workstation<i} admin Anda atau komputer lain.
Pastikan Anda telah menginstal komponen Google Cloud CLI terbaru:
gcloud components update
Lakukan langkah-langkah berikut untuk mengaktifkan dan menggunakan GKE On-Prem API:
Aktifkan API di project Anda:
gcloud services enable \ --project PROJECT_ID \ gkeonprem.googleapis.com
Ganti
PROJECT_ID
dengan project ID project host fleet Anda.Jika Anda mendapatkan error
PERMISSION_DENIED
, periksa kembali project ID yang Anda masukkan. Jika project ID benar, jalankangcloud auth login
untuk login ke Google Cloud CLI dengan akun yang memiliki akses ke proyek.Jika ini adalah pertama kalinya Anda mengaktifkan GKE On-Prem API dalam proyek, Anda perlu melakukan inisialisasi API. Anda bisa melakukannya dengan memanggil perintah gcloud CLI yang menampilkan yang dapat digunakan untuk membuat cluster:
gcloud container bare-metal clusters query-version-config \ --project=PROJECT_ID \ --location="us-central1"
Ringkasan prosedur
Pembuatan cluster dasar terdiri dari langkah-langkah utama berikut:
Kumpulkan informasi yang digunakan untuk menentukan konfigurasi cluster Anda.
Buat cluster admin untuk mengelola cluster pengguna Anda.
Buat cluster pengguna yang dapat menjalankan workload Anda.
1. Mengumpulkan informasi
Gunakan informasi yang telah Anda siapkan di Menyiapkan infrastruktur minimal atau dari perencana jaringan untuk mengisi setiap {i>placeholder<i} di tabel berikut. Placeholder sesuai dengan nilai kolom dalam file konfigurasi cluster untuk penginstalan minimal satu cluster admin dan satu cluster pengguna. Agak besar placeholder ditetapkan ke nilai yang telah diisi otomatis dari cluster yang dihasilkan file konfigurasi, tetapi semua placeholder dapat diedit.
Informasi cluster dasar | |
Nama cluster admin yang Anda buat. Lokasi dan penamaan artefak cluster di workstation admin didasarkan pada cluster nama. Namespace cluster diambil dari nama cluster. | ADMIN_CLUSTER_NAME |
Nama cluster pengguna yang Anda buat. Lokasi dan penamaan artefak cluster di workstation admin didasarkan pada cluster nama. Namespace cluster diambil dari nama cluster. | USER_CLUSTER_NAME |
Versi bmctl yang Anda download di bagian pertama
dalam panduan ini. |
CLUSTER_VERSION |
Informasi akun | |
Jalur ke file kunci pribadi SSH di workstation admin Anda. Menurut
jalur default-nya adalah /home/USERNAME/.ssh/id_rsa . |
SSH_PRIVATE_KEY_PATH |
ID project Google Cloud yang ingin Anda gunakan untuk menghubungkan cluster Anda ke Google Cloud serta melihat log dan metrik. Ini proyek ini juga disebut sebagai project host perangkat. | PROJECT_ID |
Alamat email yang terkait dengan alamat email Google Cloud Anda
menggunakan akun layanan. Misalnya: alex@example.com . |
GOOGLE_ACCOUNT_EMAIL |
Alamat IP mesin node | |
Satu alamat IP untuk node bidang kontrol cluster admin. | ADMIN_CP_NODE_IP |
Satu alamat IP untuk node bidang kontrol cluster pengguna. | USER_CP_NODE_IP |
Satu alamat IP untuk node pekerja cluster pengguna. | USER_WORKER_NODE_IP |
Alamat VIP | |
VIP untuk server Kubernetes API cluster admin. | ADMIN_CP_VIP |
VIP untuk server Kubernetes API cluster pengguna. | USER_CP_VIP |
Satu VIP yang akan digunakan sebagai alamat eksternal untuk proxy masuk. | USER_INGRESS_VIP |
Rentang sepuluh alamat IP untuk digunakan sebagai alamat IP eksternal untuk Jasa jenis LoadBalancer. Perhatikan bahwa rentang ini mencakup traffic masuk VIP, yang diwajibkan oleh MetalLB. Tidak ada alamat IP lain yang dapat tumpang-tindih dengan alamat IP ini {i>range<i}. | START_IP-END_IP |
CIDR Pod dan Service | |
Rentang alamat IP dalam notasi blok CIDR untuk digunakan oleh Pod pada
ke cluster admin. Nilai awal yang direkomendasikan, yang telah diisi sebelumnya dalam
file konfigurasi cluster yang dihasilkan adalah 192.168.0.0/16 . |
192.168.0.0/16 |
Rentang alamat IP dalam notasi blok CIDR untuk digunakan oleh Layanan pada
ke cluster admin. Nilai awal yang direkomendasikan, yang telah diisi sebelumnya dalam
file konfigurasi cluster yang dihasilkan adalah 10.96.0.0/20 . |
10.96.0.0/20 |
Rentang alamat IP dalam notasi blok CIDR untuk digunakan oleh Pod pada
cluster pengguna. Nilai awal yang direkomendasikan, yang telah diisi sebelumnya dalam
file konfigurasi cluster yang dihasilkan dan merupakan nilai default di
konsol Anda adalah 192.168.0.0/16 . |
192.168.0.0/16 |
Rentang alamat IP dalam notasi blok CIDR untuk digunakan oleh Layanan pada
cluster pengguna. Nilai awal yang direkomendasikan, yang telah diisi sebelumnya dalam
file konfigurasi cluster yang dihasilkan dan merupakan nilai default di
konsol Anda adalah 10.96.0.0/20 . |
10.96.0.0/20 |
2. Membuat cluster admin
Langkah-langkah berikut akan membuat cluster admin untuk cluster admin dan pengguna minimal penginstalan cluster. Pastikan Anda telah memberikan nilai untuk setiap placeholder pada tabel di bagian Kumpulkan informasi sebelumnya melanjutkan.
Saat GKE On-Prem API (gkeonprem.googleapis.com
) diaktifkan untuk
, cluster yang baru dibuat akan otomatis didaftarkan dengan API.
Pendaftaran dilakukan bahkan ketika
spec.gkeOnPremAPI
tidak ditentukan dalam file konfigurasi cluster. Mendaftar dengan ini
Dengan API yang dihosting Google Cloud, Anda dapat mengelola siklus proses cluster menggunakan
Konsol Google Cloud atau gcloud CLI.
Untuk menonaktifkan pendaftaran otomatis, hapus tanda komentar pada bagian spec.gkeOnPremAPI
di
file konfigurasi cluster dan tetapkan spec.gkeOnPremAPI.enabled
ke false
sebelum membuat cluster. Kolom spec.gkeOnPremAPI.enabled
dapat diubah,
agar Anda dapat membatalkan pendaftaran cluster kapan saja setelah membuatnya.
Untuk membuat cluster admin dengan penginstalan minimal:
Tetapkan kredensial default yang dapat digunakan Google Distributed Cloud untuk membuat cluster dengan perintah berikut:
gcloud auth application-default login
Untuk membuat file konfigurasi cluster, jalankan perintah berikut dari direktori
/baremetal
di workstation admin Anda:bmctl create config -c ADMIN_CLUSTER_NAME \ --enable-apis --create-service-accounts --project-id=PROJECT_ID
Verifikasi file konfigurasi cluster admin:
File konfigurasi cluster berikut sudah diisi dengan nilai yang yang Anda masukkan ke tabel perencanaan di bagian sebelumnya. Selain nilai yang dimasukkan. Perhatikan perbedaan berikut dengan file konfigurasi:
- Komentar telah dihapus dari sampel ini untuk meningkatkan keterbacaan.
- Spesifikasi
NodePool
telah dihapus. Node pekerja tidak diizinkan untuk ke cluster admin.
gcrKeyPath: bmctl-workspace/.sa-keys/PROJECT_ID-anthos-baremetal-gcr.json sshPrivateKeyPath: SSH_PRIVATE_KEY_PATH gkeConnectAgentServiceAccountKeyPath: bmctl-workspace/.sa-keys/PROJECT_ID-anthos-baremetal-connect.json gkeConnectRegisterServiceAccountKeyPath: bmctl-workspace/.sa-keys/PROJECT_ID-anthos-baremetal-register.json cloudOperationsServiceAccountKeyPath: bmctl-workspace/.sa-keys/PROJECT_ID-anthos-baremetal-cloud-ops.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: CLUSTER_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: ADMIN_CP_NODE_IP clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: ADMIN_CP_VIP 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: 250 # GKEOnPremAPI (Optional) Specify if you wish to explicitly enable/disable the cloud hosted gkeonprem # API to enable/disable cluster lifecycle management from gcloud UI and Terraform. # gkeOnPremAPI: # enabled: false # location is the Cloud location for the cluster resource metadata where the cluster will be enrolled. # location: us-central1
Ganti konten file konfigurasi yang dibuat di admin Anda dengan konten dari sampel sebelumnya.
Buka {i>file<i} yang dihasilkan,
bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME.yaml
dan ganti kontennya dengan konten sampel yang telah Anda verifikasi dalam langkah sebelumnya.Untuk membuat cluster admin, jalankan perintah berikut dari
/baremetal
di workstation admin Anda:bmctl create cluster -c ADMIN_CLUSTER_NAME
Perintah
bmctl
menampilkan output ke layar saat menjalankan preflight memeriksa dan membuat cluster. Informasi panjang ditulis ke log inbaremetal/bmctl-workspace/ADMIN_CLUSTER_NAME/log
di workstation admin.Proses pembuatan cluster dapat memerlukan waktu beberapa menit.
Pastikan bahwa cluster Anda telah dibuat dan sedang berjalan:
kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig \ get nodes
Jika cluster Anda berjalan, responsnya akan terlihat seperti ini:
NAME STATUS ROLES AGE VERSION node-01 Ready control-plane 16h v1.25.7-gke.1000
Untuk memberi akun pengguna Anda peran
clusterrole/cluster-admin
Kubernetes di cluster, jalankan perintahgcloud
berikut:gcloud container fleet memberships generate-gateway-rbac \ --membership=ADMIN_CLUSTER_NAME \ --role=clusterrole/cluster-admin \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=PROJECT_ID \ --kubeconfig=bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig \ --context=ADMIN_CLUSTER_NAME-admin@ADMIN_CLUSTER_NAME \ --apply
{i>Output<i} dari perintah ini mirip dengan berikut ini, yang terpotong 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/<var class="edit"scope="ADMIN_CLUSTER_NAME">ADMIN_CLUSTER_NAME</var>/<var class="edit"scope="ADMIN_CLUSTER_NAME">ADMIN_CLUSTER_NAME</var>-kubeconfig, context: <var class="edit"scope="ADMIN_CLUSTER_NAME">ADMIN_CLUSTER_NAME</var>-admin@<var class="edit"scope="ADMIN_CLUSTER_NAME">ADMIN_CLUSTER_NAME</var> Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.
Di antara hal lainnya, kebijakan RBAC memungkinkan Anda login ke cluster Konsol Google Cloud untuk melihat detail cluster selengkapnya.
3. Membuat cluster pengguna
Langkah-langkah berikut akan membuat cluster pengguna untuk cluster admin dan pengguna minimal penginstalan cluster. Pastikan Anda telah memberikan nilai untuk setiap placeholder pada tabel pada bagian Kumpulkan informasi sebelumnya sebelum melanjutkan.
Untuk membuat cluster pengguna dengan penginstalan minimal:
bmctl
Saat GKE On-Prem API (gkeonprem.googleapis.com
) diaktifkan untuk
, cluster yang baru dibuat akan otomatis didaftarkan dengan API.
Pendaftaran dilakukan bahkan ketika
spec.gkeOnPremAPI
tidak ditentukan dalam file konfigurasi cluster. Saat cluster Anda
terdaftar dengan API yang dihosting Google Cloud ini, Anda dapat menggunakan konsol Google Cloud
atau gcloud CLI untuk mengelola siklus proses cluster.
Untuk menonaktifkan pendaftaran otomatis, hapus tanda komentar pada bagian spec.gkeOnPremAPI
di
file konfigurasi cluster dan tetapkan spec.gkeOnPremAPI.enabled
ke false
sebelum membuat cluster. Kolom spec.gkeOnPremAPI.enabled
dapat diubah, sehingga Anda dapat membatalkan pendaftaran cluster kapan saja setelah dibuat.
Buat file konfigurasi cluster:
bmctl create config -c USER_CLUSTER_NAME \ --project-id=PROJECT_ID
Verifikasi file konfigurasi cluster pengguna:
File konfigurasi cluster berikut sudah diisi dengan nilai yang yang Anda masukkan dalam tabel perencanaan sebelumnya. Selain nilai-nilai yang Anda dimasukkan, perhatikan perbedaan berikut dari konfigurasi yang dihasilkan file:
- Komentar telah dihapus dari sampel ini untuk meningkatkan keterbacaan.
- Jenis cluster,
spec.type
, telah ditetapkan keuser
. - Kolom
spec.clusterSecurity.authorization.clusterAdmin.gcpAccounts
telah ditambahkan untuk memberikanclusterrole/cluster-admin
ke akun Anda. Di antara hal lain, kolom ini memungkinkan Anda untuk login ke cluster secara Konsol Google Cloud untuk melihat detail cluster selengkapnya.
--- apiVersion: v1 kind: Namespace metadata: name: cluster-USER_CLUSTER_NAME --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: USER_CLUSTER_NAME namespace: cluster-USER_CLUSTER_NAME spec: type: user profile: default anthosBareMetalVersion: CLUSTER_VERSION gkeConnect: projectID: PROJECT_ID controlPlane: nodePoolSpec: nodes: - address: USER_CP_NODE_IP clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/20 loadBalancer: mode: bundled ports: controlPlaneLBPort: 443 vips: controlPlaneVIP: USER_CP_VIP ingressVIP: USER_INGRESS_VIP addressPools: - name: pool1 addresses: - START_IP-END_IP clusterOperations: projectID: PROJECT_ID location: us-central1 clusterSecurity: authorization: clusterAdmin: gcpAccounts: - GOOGLE_ACCOUNT_EMAIL storage: lvpNodeMounts: path: /mnt/localpv-disk storageClassName: local-disks lvpShare: path: /mnt/localpv-share storageClassName: local-shared numPVUnderSharedPath: 5 nodeConfig: podDensity: maxPodsPerNode: 250 # GKEOnPremAPI (Optional) Specify if you wish to explicitly enable/disable the cloud hosted gkeonprem # API to enable/disable cluster lifecycle management from gcloud UI and Terraform. # gkeOnPremAPI: # enabled: false # location is the Cloud location for the cluster resource metadata where the cluster will be enrolled. # location: us-central1 --- apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-USER_CLUSTER_NAME spec: clusterName: USER_CLUSTER_NAME nodes: - address: USER_WORKER_NODE_IP
Ganti konten file konfigurasi yang dibuat di admin Anda dengan konten dari sampel sebelumnya.
Buka {i>file<i} yang dihasilkan,
bmctl-workspace/USER_CLUSTER_NAME/USER_CLUSTER_NAME.yaml
dan ganti kontennya dengan konten sampel yang telah Anda verifikasi dalam langkah sebelumnya.Buat cluster pengguna:
bmctl create cluster -c USER_CLUSTER_NAME \ --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Perintah
bmctl
menampilkan output ke layar saat menjalankan preflight memeriksa dan membuat cluster. Informasi panjang ditulis ke log inbaremetal/bmctl-workspace/USER_CLUSTER_NAME/log
di workstation admin.Proses pembuatan cluster dapat memerlukan waktu beberapa menit.
Pastikan bahwa cluster Anda telah dibuat dan sedang berjalan:
kubectl --kubeconfig bmctl-workspace/USER_CLUSTER_NAME/USER_CLUSTER_NAME-kubeconfig \ get nodes
Jika cluster Anda berjalan, responsnya akan terlihat seperti ini:
NAME STATUS ROLES AGE VERSION nuc-3 Ready control-plane 4m32s v1.26.2-gke.1001 nuc-4 Ready worker 2m2s v1.26.2-gke.1001
Konsol
Lakukan langkah-langkah berikut untuk membuat cluster pengguna di konsol:
Di konsol, buka Membuat cluster bare metal kami.
Pastikan daftar project Google Cloud memiliki
PROJECT_ID
dipilih.Klik Create Cluster.
Pada dialog, klik On-Premises.
Di samping Bare metal, klik Configure. Halaman Prasyarat layar.
Pada Pilih jenis cluster Anda, pilih Buat cluster pengguna untuk cluster admin yang ada
Klik Berikutnya.
Dasar-dasar cluster
Masuk ke
USER_CLUSTER_NAME
sebagai nama cluster pengguna atau gunakan default.Pastikan cluster admin yang baru dibuat telah dipilih.
Di GCP API Location, pilih us-central1.
Di Google Distributed Cloud version, pilih
CLUSTER_VERSION
atau gunakan default. Anda dapat menggunakan setelan default untuk setelan lainnya di halaman ini.Klik Networking di menu navigasi sebelah kiri.
Jaringan
Di bagian Bidang kontrol, masukkan hal berikut ke dalam Kontrol bidang node IP 1:
USER_CP_NODE_IP
Di bagian Load balancer, gunakan load balancer default. Dipaketkan dengan MetalLB.
Buka bagian Kumpulan alamat baru. Masukkan rentang alamat IP di Kolom IP address range 1:
10.200.0.51-10.200.0.70
Klik Done.
Di bagian Virtual IPs, masukkan alamat IP untuk VIP Pesawat Kontrol:
USER_CP_VIP
Masukkan alamat IP untuk Ingress VIP:
USER_INGRESS_VIP
Di bagian Service and Pod CIDRs, jika Anda tidak mengubah Service dan Pod CIDR di planner, Anda dapat menggunakan defaultnya.
Jika Anda mengubah CIDR, masukkan CIDR yang ingin digunakan:
- CIDR Layanan:
10.96.0.0/20
- CIDR Pod:
192.168.0.0/16
Klik kumpulan default di menu navigasi kiri.
Membuat node pool
Cluster Anda harus memiliki setidaknya satu kumpulan node untuk node pekerja. J kumpulan node adalah template untuk grup node pekerja yang dibuat dalam .
Masukkan alamat IP node pekerja cluster pengguna di Nodes alamat 1:
USER_WORKER_NODE_IP
Membuat cluster
Klik Verify and Create untuk membuat cluster pengguna.
Perlu waktu 15 menit atau lebih untuk membuat cluster pengguna. Tujuan konsol menampilkan pesan status saat memverifikasi pengaturan dan membuat cluster.
Jika ada masalah dengan konfigurasi, konsol menampilkan pesan {i>error<i} yang seharusnya cukup jelas untuk Anda perbaiki masalah konfigurasi, lalu coba lagi untuk membuat cluster.
Untuk melihat informasi tambahan tentang proses pembuatan, klik Tampilkan detail untuk menampilkan panel samping. Klik
untuk menutup detail .Saat cluster dibuat, Status cluster: berjalan akan ditampilkan.
Setelah cluster dibuat, klik
Clusters yang akan dituju kembali ke halaman Clusters.
gcloud CLI
Bagian ini menampilkan cara membuat cluster pengguna dan kumpulan node menggunakan gcloud CLI.
Jalankan perintah berikut untuk membuat cluster pengguna:
gcloud container bare-metal clusters create USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=us-central1 \ --admin-cluster-membership=ADMIN_CLUSTER_NAME \ --admin-cluster-membership-project=PROJECT_ID \ --admin-cluster-membership-location=global \ --version=CLUSTER_VERSION \ --admin-users=GOOGLE_ACCOUNT_EMAIL \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --metal-lb-address-pools='pool=lb-pool-1,manual-assign=True,addresses=START_IP-END_IP' \ --control-plane-node-configs='node-ip=USER_CP_NODE_IP' \ --control-plane-vip=USER_CP_VIP \ --control-plane-load-balancer-port=443 \ --ingress-vip=USER_INGRESS_VIP \ --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
Output dari perintah ini 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 perintah berikut:gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=us-central1
Perlu waktu sekitar 15 menit atau lebih untuk membuat cluster. Sebagai cluster dibuat, Anda dapat sering menjalankan perintah sebelumnya untuk mendapatkan status terkini.
Saat cluster dibuat, Anda akan melihat output seperti berikut:
Created Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/bareMetalClusters/USER_CLUSTER_NAME].
Setelah cluster dibuat, jalankan perintah berikut untuk membuat pada cluster yang baru dibuat.
gcloud container bare-metal node-pools create node-pool-1 \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=us-central1 \ --node-configs node-ip=USER_WORKER_NODE_IP
Untuk informasi selengkapnya dan contoh lain, lihat referensi berikut:
Terraform
Bagian ini menampilkan cara membuat cluster pengguna dan kumpulan node menggunakan Terraform.
Buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi
.tf
. Dalam panduan ini, file tersebut disebutmain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Verifikasi resource Terraform cluster pengguna:
Contoh resource Terraform berikut sudah diisi dengan nilai yang yang Anda masukkan ke tabel perencanaan di bagian sebelumnya.
resource "google_gkeonprem_bare_metal_cluster" "cluster-basic" { provider = google-beta name = "USER_CLUSTER_NAME" project = "PROJECT_ID" location = "us-central1" admin_cluster_membership = "projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME" bare_metal_version = "CLUSTER_VERSION" network_config { island_mode_cidr { service_address_cidr_blocks = ["10.96.0.0/20"] pod_address_cidr_blocks = ["192.168.0.0/16"] } } control_plane { control_plane_node_pool_config { node_pool_config { labels = {} operating_system = "LINUX" node_configs { labels = {} node_ip = "USER_CP_NODE_IP" } } } } load_balancer { port_config { control_plane_load_balancer_port = 443 } vip_config { control_plane_vip = "USER_CP_VIP" ingress_vip = "USER_INGRESS_VIP" } metal_lb_config { address_pools { pool = "pool1" addresses = [ "START_IP-END_IP" ] avoid_buggy_ips = true manual_assign = true } } } 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" } } security_config { authorization { admin_users { username = "GOOGLE_ACCOUNT_EMAIL" } } } } resource "google_gkeonprem_bare_metal_node_pool" "node-pool-default" { provider = google-beta name = "node-pool-1" bare_metal_cluster = google_gkeonprem_bare_metal_cluster.cluster-basic.name project = "PROJECT_ID" location = "us-central1" node_pool_config { operating_system = "LINUX" node_configs { node_ip = "USER_WORKER_NODE_IP" } } }
Salin resource Terraform ke
main.tf
dan simpan file.Lakukan inisialisasi dan buat paket Terraform:
terraform init
Terraform menginstal semua 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
Saat diminta, masukkan
yes
.Perlu waktu sekitar 15 menit (atau lebih, bergantung pada jaringan Anda) untuk membuat cluster pengguna dasar dan kumpulan node.
Untuk membuat file kubeconfig bagi cluster pengguna, jalankan perintah berikut di workstation admin:
bmctl get credentials --cluster USER_CLUSTER_NAME \ --admin-kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Output dari perintah menampilkan nama file {i>kubeconfig<i} untuk cluster pengguna, misalnya:
bmctl-workspace/USER_CLUSTER_NAME/USER_CLUSTER_NAME-TIMESTAMP-kubeconfig
Huruf
TIMESTAMP
dalam nama file menunjukkan tanggal dan pada saat file tersebut dibuat.Karena file ini berisi kredensial autentikasi untuk cluster, Anda harus menyimpannya di lokasi yang aman dengan akses terbatas.
Pastikan bahwa cluster Anda telah dibuat dan sedang berjalan:
kubectl --kubeconfig bmctl-workspace/USER_CLUSTER_NAME/USER_CLUSTER_NAME-TIMESTAMP-kubeconfig \ get nodes
Jika cluster Anda berjalan, responsnya akan terlihat seperti ini:
NAME STATUS ROLES AGE VERSION nuc-3 Ready control-plane 4m32s v1.26.2-gke.1001 nuc-4 Ready worker 2m2s v1.26.2-gke.1001
Untuk informasi selengkapnya dan contoh lain, lihat referensi berikut:
Menghubungkan ke cluster pengguna
Apa pun alat yang Anda gunakan untuk membuat cluster pengguna, alamat email Anda diberi kebijakan kontrol akses berbasis peran (RBAC) yang memungkinkan Anda terhubung ke cluster yang memiliki hak istimewa administratif penuh. Lokasi alamat email Anda yang ditentukan bergantung pada alat:
bmctl
: Alamat email Anda disertakan di bagianclusterSecurity
dari contoh file konfigurasi pengguna.Terraform: Alamat email Anda disertakan di bagian
security_config
dari resourcegoogle_gkeonprem_bare_metal_cluster
contoh.Konsol: Sebagai pembuat cluster, alamat email Anda adalah disertakan secara otomatis di halaman Dasar-dasar cluster di Otorisasi.
Meskipun hanya alamat email yang ditentukan, Anda dapat menyertakan email lainnya untuk memberikan akses administratif ke cluster kepada pengguna lain.
Kebijakan RBAC yang diberikan ke alamat email Anda melakukan hal berikut:
Memberi Anda peran
clusterrole/cluster-admin
Kubernetes di cluster.Izinkan Anda login ke cluster di Konsol Google Cloud menggunakan identitas Anda. Anda dapat melihat cluster ini di Cluster GKE halaman di konsol.
Biarkan Anda menjalankan perintah
kubectl
di komputer lokal menggunakan hubungkan gateway kubeconfig.
Untuk mendapatkan kubeconfig gateway koneksi, jalankan perintah berikut perintah dari komputer lokal Anda:
Dapatkan entri kubeconfig yang dapat mengakses cluster melalui menghubungkan gateway.
gcloud container fleet memberships get-credentials USER_CLUSTER_NAME \ --project=PROJECT_ID
Outputnya mirip dengan hal berikut ini:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_USER_CLUSTER_NAME" has been generated and set as the current context.
Kini Anda dapat menjalankan perintah
kubectl
melalui gateway koneksi:kubectl get nodes
Outputnya mirip dengan hal berikut ini:
NAME STATUS ROLES AGE VERSION nuc-3 Ready control-plane 4m32s v1.26.2-gke.1001 nuc-4 Ready worker 2m2s v1.26.2-gke.1001
Banyak perintah
kubectl
memerlukan kubeconfig untuk cluster admin. Anda perlu menjalankan perintah tersebut di {i>workstation<i} admin.
Langkah selanjutnya
Pelajari lebih lanjut: