Membuat admin Google Distributed Cloud dan cluster pengguna di VM Compute Engine

Halaman ini menunjukkan cara membuat cluster pengguna Google Distributed Cloud dan cluster admin di Virtual Machine (VM) Compute Engine. Tujuan skrip yang diberikan membuat VM Compute Engine untuk node cluster admin dan pengguna, serta komputer admin.

Stasiun kerja admin menghosting alat antarmuka command line (CLI) dan file konfigurasi untuk menyediakan cluster selama instalasi, dan alat CLI untuk berinteraksi dengan cluster yang disediakan pasca-penginstalan. Skrip menginstal alat CLI di VM workstation admin.

Cluster pengguna adalah cluster Kubernetes yang menjalankan workload dalam container Anda. Node ini terdiri dari node bidang kontrol dan node pekerja. Cluster pengguna harus berisi satu atau beberapa worker node yang menjalankan beban kerja pengguna. Cluster admin adalah cluster Kubernetes yang mengelola satu atau beberapa cluster pengguna, yang membantu pembuatan, pembaruan, dan penghapusan cluster pengguna. Cluster admin terdiri dari hanya {i>node<i} bidang kontrol. Untuk mempelajari lebih lanjut, lihat Deployment cluster admin dan pengguna.

Skrip mengkonfigurasi jaringan overlay Virtual Extensible LAN (VXLAN) antara VM dan menyiapkan VM untuk pembuatan cluster. Secara opsional, skrip membuat cluster admin, atau Anda dapat memilih untuk membuat cluster admin sendiri untuk mempelajari alat yang disediakan Google Distributed Cloud guna membuat tugas admin klaster.

Dengan skrip yang disediakan, Anda dapat mencoba Google {i>Distributed Cloud<i} dengan cepat dan tanpa harus menyiapkan perangkat keras apa pun. Menyelesaikan langkah-langkah di halaman ini menyediakan lingkungan pengujian Google Distributed Cloud yang berfungsi menjalankan Compute Engine.

Apa itu GKE On-Prem API?

GKE On-Prem API adalah API yang dihosting Google Cloud dan dapat Anda gunakan untuk siklus proses cluster lokal Anda menggunakan Terraform dan standar aplikasi Google Cloud. GKE On-Prem API berjalan di infrastruktur IT. Terraform, konsol, dan gcloud CLI adalah klien dari API, dan mereka menggunakan API tersebut untuk membuat cluster di pusat data Anda.

Untuk mengelola siklus proses cluster Anda, GKE On-Prem API harus menyimpan metadata tentang status cluster Anda di Google Cloud, menggunakan Region Google Cloud yang Anda tentukan saat membuat cluster. Ini Dengan metadata, API dapat mengelola siklus proses cluster menyertakan data khusus beban kerja.

Saat membuat cluster menggunakan klien GKE On-Prem API, Anda menentukan project Google Cloud Anda. Setelah dibuat, cluster akan otomatis terdaftar ke akun fleet. Proyek ini disebut sebagai project host perangkat. Project host fleet tidak dapat diubah setelah cluster dibuat.

Sebelum memulai

  1. 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.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Catat project ID karena Anda memerlukannya untuk menyetel lingkungan variabel yang digunakan dalam skrip dan perintah di laman ini. Jika Anda memilih proyek yang sudah ada, pastikan bahwa Anda adalah pemilik proyek atau editor.
  7. Anda dapat menjalankan skrip ini di Cloud Shell atau komputer lokal yang menjalankan Linux atau macOS. Jika Anda tidak menggunakan Cloud Shell:
    1. Pastikan Anda telah menginstal versi terbaru Google Cloud CLI, alat command line untuk berinteraksi dengan Google Cloud. Mengupdate komponen gcloud CLI, jika diperlukan:
      gcloud components update

      Tergantung cara gcloud CLI diinstal, Anda mungkin melihat pesan berikut: "Anda tidak dapat melakukan tindakan ini karena Pengelola komponen gcloud CLI dinonaktifkan untuk penginstalan ini. Anda dapat menjalankan perintah berikut untuk mendapatkan hasil yang sama penginstalan:" Ikuti petunjuk untuk menyalin dan menempelkan perintah untuk mengupdate komponen-komponennya.

    2. Pastikan Anda telah menginstal kubectl. Jika Anda ingin instal kubectl, jalankan perintah berikut:
      gcloud components install kubectl

Membuat infrastruktur VM dan jika perlu, cluster admin

Lakukan langkah-langkah berikut untuk menyiapkan dan menjalankan skrip. Tujuan yang Anda unduh dan jalankan berasal dari sampel-anthos repositori resource. Jika Anda ingin mempelajari lebih lanjut tentang skrip sebelum Anda menjalankannya, lihat bagian berikutnya, Tentang skrip.

  1. 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
    
    • ON_PREM_API_REGION: Region Google Cloud di yang dijalankan oleh GKE On-Prem API dan menyimpan metadatanya. Menentukan us-central1 atau lainnya wilayah yang didukung.

    • ZONE: Zona Google Cloud yang VM Compute Engine akan dibuat. Anda dapat menggunakan us-central1-a atau yang lain Zona Compute Engine.

  2. Tetapkan 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 Anda masukkan. Jika project ID benar, jalankan gcloud auth login untuk login ke gcloud CLI dengan akun yang memiliki akses ke menyelesaikan proyek tersebut.

  3. Dapatkan daftar versi Google Distributed Cloud yang dapat Anda instal:

    gcloud container bare-metal admin-clusters query-version-config \
        --location=ON_PREM_API_REGION
    

    Beberapa petunjuk dalam dokumen ini bergantung pada GKE On-Prem API, yang mendukung subset versi Google Distributed Cloud yang tersedia.

  4. Pilih versi dari {i>output<i} perintah sebelumnya dan setel di variabel lingkungan:

    export BMCTL_VERSION=BMCTL_VERSION
    

    Sebaiknya pilih versi tertinggi yang kompatibel untuk mendapatkan fitur dan perbaikan terbaru dari Google Distributed Cloud.

  5. Clone repositori anthos-samples dan ubah ke direktori lokasi skrip:

    git clone https://github.com/GoogleCloudPlatform/anthos-samples
    cd anthos-samples/anthos-bm-gcp-bash
    
  6. Jalankan skrip:

    bash install_admin_cluster.sh
    
  7. Saat diminta, masukkan angka untuk memilih mode penginstalan:

    • Masukkan 1 untuk meminta skrip menyiapkan infrastruktur VM dan menginstalnya cluster admin.
    • Masukkan 2 agar skrip dapat menyiapkan infrastruktur VM saja.
  8. Jika diminta, konfirmasi pilihan Anda.

Skrip menghasilkan setiap perintah yang dijalankan dan statusnya. Setelah selesai, output berikut tergantung pada apakah Anda memilih untuk menginstal cluster admin:

Cluster admin dibuat

✅ Installation 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-cp1 | 10.200.0.3            | Has control plane of admin cluster running inside       |
| abm-user-cluster-cp1  | 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         |
|---------------------------------------------------------------------------------------------------------|

Siapkan VM saja

|---------------------------------------------------------------------------------------------------------|
| VM Name               | L2 Network IP (VxLAN) | INFO                                                    |
|---------------------------------------------------------------------------------------------------------|
| abm-admin-cluster-cp1 | 10.200.0.3            | 🌟 Ready for use as control plane for the admin cluster |
| abm-user-cluster-cp1  | 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         |
|---------------------------------------------------------------------------------------------------------|

Tentang skrip

Untuk mempelajari lebih lanjut tentang install_admin_cluster.sh, klik Tentang skrip di baris berikutnya.

Tentang skrip

Skrip mengotomatiskan langkah-langkah manual berikut:

  1. Membuat akun layanan bernama baremetal-gcr, dan memberikan izin tambahan akun layanan agar tidak memerlukan banyak layanan untuk API dan layanan yang berbeda.
  2. Mengaktifkan Google Cloud API berikut:
      anthos.googleapis.com
      anthosaudit.googleapis.com
      anthosgke.googleapis.com
      cloudresourcemanager.googleapis.com
      connectgateway.googleapis.com
      container.googleapis.com
      gkeconnect.googleapis.com
      gkehub.googleapis.com
      gkeonprem.googleapis.com
      iam.googleapis.com
      logging.googleapis.com
      monitoring.googleapis.com
      opsconfigmonitoring.googleapis.com
      serviceusage.googleapis.com
      stackdriver.googleapis.com
      storage.googleapis.com
  3. Membuat VM berikut:
    • Satu VM untuk workstation admin. Workstation admin memiliki akses ke semua node cluster lainnya menggunakan SSH.
    • Satu VM untuk node bidang kontrol cluster admin.
    • Dua VM untuk node pekerja cluster pengguna.
    • Satu VM untuk node bidang kontrol cluster pengguna.
    Skrip ini juga memverifikasi bahwa SSH diaktifkan di semua VM.
  4. Membuat jaringan overlay Virtual Extensible LAN (VXLAN) untuk lapisan 2 konektivitas antar-VM. VXLAN tidak persisten, jadi jika Anda memulai ulang instance VM yang jaringan dihancurkan. Jaringan ini diatur agar aktif subnet 10.200.0.0/24. Konektivitas lapisan 2 adalah persyaratan untuk load balancer paket.
  5. Menginstal alat berikut di workstation admin:
    • bmctl
    • kubectl
    • Docker

    Skrip juga mendownload kunci akun layanan untuk baremetal-gcr akun layanan ke workstation admin.

  6. Memastikan bahwa root@10.200.0.x dari workstation admin berfungsi dengan melakukan tugas berikut:
    1. Membuat kunci SSH baru di workstation admin.
    2. Menambahkan kunci publik ke semua VM lain dalam deployment.
  7. Secara opsional, skrip membuat cluster admin dengan hal-hal berikut file konfigurasi:
      gcloud compute ssh root@"$VM_WS" --zone "${ZONE}" <<EOF
    set -x
    export PROJECT_ID=\$(gcloud config get-value project)
    ADMIN_CLUSTER_NAME=\$(curl http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster_id -H "Metadata-Flavor: Google")
    BMCTL_VERSION=\$(curl http://metadata.google.internal/computeMetadata/v1/instance/attributes/bmctl_version -H "Metadata-Flavor: Google")
    export ADMIN_CLUSTER_NAME
    export BMCTL_VERSION
    bmctl create config -c \$ADMIN_CLUSTER_NAME
    cat > bmctl-workspace/\$ADMIN_CLUSTER_NAME/\$ADMIN_CLUSTER_NAME.yaml << EOB
    ---
    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
      anthosBareMetalVersion: \$BMCTL_VERSION
      gkeConnect:
        projectID: \$PROJECT_ID
      controlPlane:
        nodePoolSpec:
          clusterName: \$ADMIN_CLUSTER_NAME
          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:
        # might need to be this location
        location: us-central1
        projectID: \$PROJECT_ID
      storage:
        lvpNodeMounts:
          path: /mnt/localpv-disk
          storageClassName: node-disk
        lvpShare:
          numPVUnderSharedPath: 5
          path: /mnt/localpv-share
          storageClassName: local-shared
      nodeConfig:
        podDensity:
          maxPodsPerNode: 250
    EOB
    
    bmctl create cluster -c \$ADMIN_CLUSTER_NAME
    EOF

    Jika Anda memilih agar skrip membuat cluster admin, skrip menggunakan SSH untuk login ke workstation admin sebagai pengguna root. Selanjutnya, skrip menjalankan alat command line bmctl untuk membuat cluster admin. Ini adalah salah satu alat yang dapat Anda gunakan untuk membuat cluster admin.

    Saat membuat cluster, Google Distributed Cloud men-deploy Kubernetes di Docker (jenis) yang ada di workstation admin. bootstrap ini cluster menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster dan yang digunakan untuk membuat cluster admin. Setelah dibuat, pengontrol yang relevan dipindahkan dari cluster bootstrap ke dalam cluster admin. Akhirnya, kecuali Anda menentukan sebaliknya, cluster bootstrap akan dihapus saat pembuatan cluster berhasil diselesaikan. Cluster bootstrap memerlukan Docker untuk mengambil image container.

Jika ingin, buat cluster admin

Jika skrip membuat cluster admin, lanjutkan ke bagian berikutnya Verifikasi cluster admin. Atau, ikuti langkah-langkah di bagian ini untuk membuat cluster bootstrap dan cluster admin.

Sebelum membuat cluster admin, Anda perlu menjalankan Perintah bmctl register bootstrap di workstation admin Anda. Perintah ini men-deploy Kubernetes sementara di cluster Docker (jenis) pada admin Infrastruktur Cloud. Cluster bootstrap ini menghosting pengontrol Kubernetes yang diperlukan untuk membuat cluster admin. Saat Anda membuat cluster admin, pengontrol di cluster bootstrap akan menyediakan {i>node<i}, menjalankan pemeriksaan {i>preflight<i}, dan mendaftarkan cluster admin ke fleet. Cluster bootstrap akan dihapus secara otomatis setelah cluster berhasil dibuat.

Konsol

  1. Di konsol, buka Membuat cluster bare metal kami.

    Buka bagian Create a bare metal cluster

  2. Pastikan untuk memilih PROJECT_ID dari daftar proyek.

  3. Di menu navigasi sebelah kiri, klik Install bootstrap environment.

  4. Masukkan ADMIN_CLUSTER_NAME sebagai nama cluster admin. Perhatikan, nama cluster bootstrap diperoleh dari menambahkan bootstrap- ke nama cluster admin.

  5. Pilih VERSION sebagai versi untuk ke cluster admin. Skrip mendownload versi bmctl ini baris perintah ke {i>workstation<i} admin. Google Distributed Cloud versi yang Anda instal harus cocok dengan versi bmctl.

  6. Di kolom Lokasi Google Cloud API, pilih ON_PREM_API_REGION dari daftar. Setelan ini menentukan region tempat GKE On-Prem API dijalankan, dan region tempat penyimpanan berikut ini:

    • Metadata cluster yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
    • Data Cloud Logging dan Cloud Monitoring komponen sistem
    • Log Audit Admin yang dibuat oleh Cloud Audit Logs

    Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.

Gunakan langkah-langkah di bagian berikutnya, bukan langkah-langkah yang ditampilkan di konsol untuk membuat cluster bootstrap. Keluar dari halaman konsol Anda ditampilkan karena Anda akan kembali ke sana untuk membuat cluster admin.

gcloud CLI

Buka jendela terminal baru. Anda akan menggunakan jendela terminal kedua untuk menghubungkan ke workstation admin untuk membuat cluster bootstrap. Anda akan menggunakan jendela terminal pertama untuk menjalankan perintah gcloud CLI ke cluster admin.

Membuat cluster bootstrap

Lakukan langkah-langkah berikut di workstation admin Anda.

  1. 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 proses ini tutorial. Jika Anda berencana untuk menyimpan VM sebagai lingkungan tes, Anda mungkin ingin mengupdate OS atau meng-upgrade ke rilis berikutnya seperti dijelaskan dalam Dokumentasi Ubuntu.

  2. Tetapkan kredensial pengguna Anda sebagai Application Default Credentials (ADC):

    gcloud auth application-default login
    

    Ikuti petunjuk guna memilih Akun Google Anda untuk ADC.

  3. Membuat cluster bootstrap.

    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 mirip dengan contoh 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

Konsol

  1. Di halaman Install bootstrap environment di Bootstrap dari workstation admin, klik Check Connection.

    Jika berhasil, konsol akan menampilkan Koneksi dibuat.

    Koneksi ke cluster bootstrap harus dibuat sebelum Anda melanjutkan. Jika koneksi tidak berhasil, periksa argumen yang yang Anda tentukan ke perintah bmctl register bootstrap:

    • Pastikan nilai untuk --name cocok dengan Nama bootstrap turunan ditampilkan dalam Bagian Dasar-dasar lingkungan booting.

    • Pastikan nilai untuk --project-id cocok dengan ID project yang dipilih di konsol.

    Jika Anda perlu mengubah nama cluster bootstrap atau project ID, masukkan Ctrl-C untuk keluar dari bmctl register bootstrap dan jalankan kembali perintah tersebut.

  2. Klik Networking di menu navigasi sebelah kiri.

  3. Di bagian Bidang kontrol, masukkan hal berikut ke dalam Kontrol bidang node IP 1:

    10.200.0.3
    

    Ini adalah alamat IP VM abm-admin-cluster-cp di VXLAN yang dibuat oleh skrip.

  4. Di bagian Load balancer, pastikan Bundled dipilih.

  5. Di bagian Virtual IP (VIP), masukkan baris berikut dalam kolom Kolom VIP bidang kontrol:

    10.200.0.48
    
  6. Klik Verifikasi dan Buat.

    Konsol menampilkan pesan status saat konsol itu memverifikasi pengaturan dan akan membuat cluster.

gcloud CLI

  1. Pastikan variabel lingkungan yang Anda tetapkan sebelumnya memiliki nilai yang benar. Meskipun perintah {i>example<i} menggunakan {i>placeholder<i}, mereka harus cocok dengan variabel lingkungan yang digunakan skrip.

    echo $PROJECT_ID
    echo $ADMIN_CLUSTER_NAME
    echo $ON_PREM_API_REGION
    echo $BMCTL_VERSION
    
  2. Konfirmasikan bahwa cluster bootstrap telah terdaftar sebagai anggota perangkat Anda:

    gcloud container fleet memberships list \
      --project=PROJECT_ID
    

    Jika cluster bootstrap tidak tercantum, periksa nama cluster bootstrap dan project ID yang Anda tentukan untuk bmctl register bootstrap. Jika Anda ingin ubah nama cluster bootstrap atau ID project, masukkan Ctrl-C untuk keluar dari bmctl register bootstrap dan jalankan kembali perintah tersebut.

  3. Buat cluster admin dengan load balancer yang dipaketkan:

    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
    

    Pada perintah sebelumnya:

    • --control-plane-vip: Ditetapkan ke 10.200.0.48. Ini adalah IP virtual (VIP) di load balancer untuk server Kubernetes API cluster.

    • --control-plane-node-configs: node-ip disetel ke 10.200.0.3. Ini adalah alamat IP VM abm-admin-cluster-cp di VXLAN yang dibuat oleh skrip.

    Untuk mengetahui daftar lengkap tanda dan deskripsinya, lihat Referensi gcloud CLI.

    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 adalah OPERATION_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
    

Detail tentang proses pembuatan cluster ada di output admin Anda Infrastruktur Cloud. Sebelum membuat cluster, bmctl menjalankan serangkaian preflight pemeriksaan untuk memverifikasi konfigurasi. Jika pemeriksaan preflight lulus, Anda akan melihat sesuatu seperti berikut:

[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK
[2023-03-22 23:15:47+0000] Writing kubeconfig file
[2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig
[2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster.
[2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK
[2023-03-22 23:20:17+0000] Please run
[2023-03-22 23:20:17+0000] kubectl --kubeconfig bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes
[2023-03-22 23:20:17+0000] to get cluster nodes status.
[2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK
[2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK
[2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK
[2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster
[2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK
[2023-03-22 23:27:41+0000] Flushing logs... OK
[2023-03-22 23:27:41+0000] Deleting membership... OK
[2023-03-22 23:27:42+0000] Deleting bootstrap cluster.

Memverifikasi cluster admin

Anda dapat menemukan file kubeconfig cluster admin Anda pada workstation admin di direktori bmctl-workspace akun root. Untuk memverifikasi deployment Anda, menyelesaikan langkah-langkah berikut.

  1. Jika skrip membuat cluster admin, gunakan SSH untuk mengakses admin workstation sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    

    Anda dapat mengabaikan pesan apa pun tentang mengupdate VM dan menyelesaikan proses ini tutorial. Jika Anda berencana untuk menyimpan VM sebagai lingkungan tes, Anda mungkin ingin mengupdate OS atau meng-upgrade ke rilis berikutnya seperti dijelaskan dalam Dokumentasi Ubuntu.

  2. Tetapkan variabel lingkungan KUBECONFIG dengan jalur ke cluster file konfigurasi untuk menjalankan perintah kubectl di cluster.

    export clusterid=ADMIN_CLUSTER_NAME
    export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig
    kubectl get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane,master   91m   v1.24.2-gke.1900
    
  3. Tetapkan konteks saat ini dalam variabel lingkungan:

    export CONTEXT="$(kubectl config current-context)"
    
  4. Jalankan perintah gcloud berikut. Perintah ini akan melakukan hal berikut:

    • Memberi akun pengguna Anda clusterrole/cluster-admin Kubernetes peran pada cluster.
    • Mengonfigurasi cluster agar Anda dapat menjalankan perintah kubectl di komputer lokal tanpa harus melakukan SSH ke workstation admin.
    • Anda dapat login ke cluster di konsol menggunakan Identitas Google.

    Ganti YOUR_EMAIL_ADDRESS dengan alamat email yang dikaitkan dengan akun Google Cloud Anda. Contoh: --users=alex@example.com.

    gcloud container fleet memberships generate-gateway-rbac  \
        --membership=ADMIN_CLUSTER_NAME \
        --role=clusterrole/cluster-admin \
        --users=YOUR_EMAIL_ADDRESS \
        --project=PROJECT_ID \
        --kubeconfig=$KUBECONFIG \
        --context=$CONTEXT\
        --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/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig, context: ADMIN_CLUSTER_NAME-admin@ADMIN_CLUSTER_NAME
    Writing RBAC policy for user: YOUR_EMAIL_ADDRESS to cluster.
    Successfully applied the RBAC policy to cluster.
    
  5. Setelah selesai menjelajah, masukkan exit untuk logout dari admin Infrastruktur Cloud.

  6. Jalankan perintah berikut di komputer lokal Anda untuk mendapatkan file kubeconfig yang dapat mengakses cluster melalui gateway koneksi:

    gcloud container fleet memberships get-credentials ADMIN_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_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
    
  7. Kini Anda dapat menjalankan perintah kubectl melalui gateway koneksi:

    kubectl get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane,master   94m   v1.24.2-gke.1900
    

Pada Google Distributed Cloud 1.16 dan yang lebih baru, cluster ini otomatis terdaftar di GKE On-Prem API. Hal ini memungkinkan Anda menggunakan gcloud CLI dan konsol untuk mengupgrade dan mengupdate cluster admin.

Membuat cluster pengguna

Ketika skrip membuat L2 VXLAN untuk VM, skrip itu menetapkan alamat IP alamat dalam jaringan 10.200.0.0/24. Anda menggunakan alamat IP ini saat melakukan konfigurasi setelan jaringan dan kumpulan node untuk cluster pengguna.

Nama VM IP jaringan Deskripsi node
abm-admin-cluster-cp1 10.200.0.3 Node bidang kontrol untuk cluster admin
abm-user-cluster-cp1 10.200.0.4 Node bidang kontrol untuk cluster pengguna
abm-user-cluster-w1 10.200.0.5 Node pekerja untuk cluster pengguna
abm-user-cluster-w2 10.200.0.6 Node pekerja lain untuk cluster pengguna

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform untuk membuat cluster pengguna.

Konsol

Lakukan langkah-langkah berikut untuk membuat cluster pengguna di konsol:

  1. Di konsol, buka Membuat cluster bare metal kami.

    Buka bagian Create a bare metal cluster

  2. Pastikan bahwa project Google Cloud tempat Anda membuat admin cluster dipilih.

  3. Klik Create Cluster.

  4. Pada dialog, klik On-Premises.

  5. Di samping Bare metal, klik Configure. Halaman Prasyarat layar.

  6. Pada Pilih jenis cluster Anda, pilih Buat cluster pengguna untuk cluster admin yang ada

  7. Klik Berikutnya.

Dasar-dasar cluster

  1. Masukkan nama untuk cluster pengguna atau gunakan nama default.

  2. Pastikan cluster admin yang baru dibuat telah dipilih. Anda dapat menggunakan setelan default untuk setelan lainnya di halaman ini.

  3. Klik Networking di menu navigasi sebelah kiri.

Jaringan

  1. Di bagian Bidang kontrol, masukkan hal berikut di Bidang kontrol kolom node IP 1:

    10.200.0.4
    

    Ini adalah alamat IP dari VM abm-user-cluster-cp1 di VXLAN yang dibuat oleh skrip.

  2. Di bagian Load balancer, gunakan load balancer default. Dipaketkan dengan MetalLB.

  3. Di bagian Kumpulan alamat baru, masukkan alamat IP berikut rentang di kolom IP address range 1:

    10.200.0.51-10.200.0.70
    
  4. Klik Done.

  5. Di bagian Virtual IPs, masukkan alamat IP berikut di bagian Kolom VIP Pesawat Kontrol:

    10.200.0.50
    
  6. Masukkan alamat IP berikut untuk Ingress VIP:

    10.200.0.51
    
  7. Gunakan alamat IP default di bagian CIDR Layanan dan Pod.

  8. 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 berikut di kolom Nodes address 1:

10.200.0.5

Ini adalah alamat IP dari VM abm-user-cluster-w1 di VXLAN yang dibuat oleh skrip.

Membuat cluster

  1. 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.

  2. Setelah cluster dibuat, klik Clusters yang akan dituju kembali ke halaman Clusters.

gcloud CLI

Gunakan perintah berikut untuk membuat cluster pengguna:

gcloud container bare-metal clusters create

Setelah membuat cluster, Anda perlu membuat setidaknya satu kumpulan node menggunakan perintah berikut:

gcloud container bare-metal node-pools create

Untuk membuat cluster pengguna:

  1. Pastikan variabel lingkungan yang Anda tetapkan sebelumnya memiliki nilai yang benar. Meskipun perintah {i>example<i} menggunakan {i>placeholder<i}, mereka harus cocok dengan variabel lingkungan yang digunakan skrip.

    echo $PROJECT_ID
    echo $ADMIN_CLUSTER_NAME
    echo $ON_PREM_API_REGION
    echo $BMCTL_VERSION
    
  2. Jalankan perintah berikut untuk membuat cluster pengguna. Ganti hal berikut:

    • USER_CLUSTER_NAME: Nama cluster.

    • Pastikan bahwa --admin-users disetel ke alamat email yang terkait dengan Akun Google Anda agar Anda dapat mengelola cluster.

    Nilai penanda lainnya telah diisi untuk Anda. Scroll jika diperlukan, pastikan flag --admin-cluster-membership memiliki nilai yang benar untuk nama cluster admin, yang merupakan segmen terakhir dalam nama keanggotaan yang ditentukan secara lengkap.

    gcloud container bare-metal clusters create USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --admin-cluster-membership=projects/PROJECT_ID/locations/global/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
    

Daftar berikut menjelaskan flag:

  • --project: ID project tempat cluster pengguna akan berada terdaftar. Project ini disebut sebagai project host fleet.

  • --admin-cluster-membership: Nama cluster admin yang ditentukan sepenuhnya dan mengidentifikasi cluster admin dalam fleet.

  • --location: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan {i>metadata<i}-nya.

  • --version: Versi Google Distributed Cloud.

  • --admin-users: Sertakan alamat email Anda untuk diberi Kubernetes kebijakan kontrol akses berbasis peran (RBAC) yang memberi Anda akses administratif ke cluster.

  • --metal-lb-address-pools: Konfigurasi kumpulan alamat untuk paket load balancer MetalLB. Rentang alamat IP harus dalam Jaringan 10.200.0.0/24 yang dibuat oleh skrip. Rentang alamat IP harus tidak berisi alamat IP yang ditetapkan ke VM maupun bidang kontrol VIP. Namun, perlu diketahui bahwa VIP masuk harus berada dalam rentang alamat ini.

  • --control-plane-node-configs: Konfigurasi node bidang kontrol untuk cluster pengguna. Nilai untuk node-ip adalah 10.200.0.4, yang merupakan IP yang ditetapkan oleh skrip ke VM abm-user-cluster-cp1.

  • --control-plane-vip: IP virtual untuk bidang kontrol. Nilainya 10.200.0.50 berada di jaringan 10.200.0.0/24 tempat skrip dibuat, tetapi tidak tumpang tindih dengan rentang alamat IP yang digunakan untuk Kumpulan alamat load balancer MetalLB.

  • --control-plane-load-balancer-port: Port yang dilayani load balancer bidang kontrol. Meskipun Anda dapat mengonfigurasi nilai lain, port 443 adalah porta standar yang digunakan untuk koneksi HTTPS.

  • --ingress-vip: IP virtual untuk layanan masuk. Alamat IP ini harus berada dalam rentang alamat IP yang digunakan untuk alamat load balancer MetalLB Google Cloud.

  • --island-mode-service-address-cidr-blocks: Rentang alamat IP, dalam Format CIDR, yang akan digunakan untuk Layanan di cluster pengguna. Contoh menggunakan 10.96.0.0/20, yang merupakan nilai default yang disediakan oleh konsol. Rentang CIDR harus antara /24 dan /12, di mana /12 memberikan alamat IP terbanyak. Sebaiknya gunakan dalam ruang alamat IP untuk internet pribadi, seperti yang didefinisikan dalam RFC 1918.

  • --island-mode-pod-address-cidr-blocks: Rentang alamat IP, dalam Format CIDR, yang akan digunakan untuk Pod di cluster pengguna. Contoh menggunakan 192.168.0.0/16, yang merupakan nilai default yang disediakan oleh konsol. Rentang CIDR harus antara /18 dan /8, dengan /8 menyediakan alamat IP terbanyak. Sebaiknya gunakan rentang di ruang alamat IP untuk internet pribadi, seperti yang dijelaskan dalam RFC 1918.

  • --lvp-share-path: Ini adalah jalur mesin host tempat subdirektori dapat dibuat. PersistentVolume (PV) lokal dibuat untuk setiap subdirektori.

  • --lvp-share-storage-class: Ini adalah StorageClass yang akan digunakan untuk membuat volume persisten. StorageClass dibuat selama pembuatan cluster.

  • --lvp-node-mounts-config-path: Ini adalah jalur mesin host tempat pemasangan {i>disk<i} dapat ditemukan. PersistentVolume (PV) lokal dibuat untuk setiap terpasang.

  • --lvp-node-mounts-config-storage: Kelas penyimpanan yang dibuat PV selama pembuatan cluster.

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 adalah OPERATION_ID dari operasi yang berjalan lama.

Untuk mengetahui status operasinya, salin OPERATION_ID dari output Anda ke yang berikut perintah. Buka jendela terminal lain dan jalankan perintah.

gcloud container bare-metal operations describe OPERATION_ID \
    --project=PROJECT_ID \
    --location=ON_PREM_API_REGION

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/ON_PREM_API_REGION/bareMetalClusters/USER_CLUSTER_NAME].

Membuat node pool

Setelah cluster berhasil dibuat, jalankan perintah berikut untuk membuat kumpulan node. Ganti NODE_POOL_NAME dengan nama untuk kumpulan node, dan pastikan bahwa placeholder untuk flag --cluster masih ditetapkan ke nama cluster pengguna.

gcloud container bare-metal node-pools create NODE_POOL_NAME \
  --cluster=USER_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=ON_PREM_API_REGION \
  --node-configs='node-ip=10.200.0.5'
  • -node-configs: Nilai yang ditetapkan ke node-ip adalah alamat IP VM abm-user-cluster-w1 di VXLAN yang dibuat oleh skrip.

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. Ketika kumpulan node 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/USER_CLUSTER_NAME/bareMetalNodePools/NODE_POOL_NAME].

Perintah cluster pengguna lainnya

Selain membuat cluster, ada gcloud CLI lainnya yang dapat Anda jalankan, misalnya:

  • Untuk menampilkan daftar cluster pengguna:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=ON_PREM_API_REGION
  • Untuk mendeskripsikan cluster pengguna:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=ON_PREM_API_REGION

Untuk informasi selengkapnya, lihat gcloud container bare-metal clusters.

Perintah node pool lainnya

Selain membuat node pool, ada gcloud CLI lain yang dapat Anda jalankan, misalnya:

  • Untuk membuat daftar kumpulan node:
gcloud container bare-metal node-pools list \
    --cluster=USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=ON_PREM_API_REGION
  • Untuk mendeskripsikan kumpulan node:
gcloud container bare-metal node-pools describe NODE_POOL_NAME \
    --cluster=USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=ON_PREM_API_REGION

Untuk informasi selengkapnya, lihat gcloud container bare-metal node-pools.

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.

  1. Di direktori tempat Anda meng-clone anthos-samples, ubah ke direktori lokasi sampel Terraform:

    cd anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb
    

    Contoh ini memberikan contoh file variabel untuk diteruskan ke main.tf.

  2. Buat salinan file terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
    
    project_id          = "PROJECT_ID"
    region              = "ON_PREM_API_REGION"
    admin_cluster_name  = "ADMIN_CLUSTER_NAME"
    bare_metal_version  = "VERSION"
    admin_user_emails   = ["YOUR_EMAIL_ADDRESS", "ADMIN_2_EMAIL_ADDRESS"]
    cluster_name        = "abm-user-cluster-metallb"
    control_plane_ips   = ["10.200.0.4"]
    worker_node_ips     = ["10.200.0.5", "10.200.0.6"]
    control_plane_vip   = "10.200.0.50"
    ingress_vip         = "10.200.0.51"
    lb_address_pools    = [
        { name = "lbpool_1", addresses = ["10.200.0.51-10.200.0.70"] }
    ]
    
  3. Ubah nilai parameter di terraform.tfvars dan simpan file tersebut.

    Daftar berikut menjelaskan variabel:

    • project_id: ID project tempat cluster pengguna akan berada terdaftar. Project ini disebut sebagai project host fleet.

    • region: Region Google Cloud yang Anda tetapkan di awal tutorial. Jalankan echo $ON_PREM_API_REGION untuk mendapatkan nilainya.

    • admin_cluster_name: Nama cluster admin yang Anda tetapkan awal tutorial ini. Jalankan echo $ADMIN_CLUSTER_NAME untuk mendapatkan nilai.

    • bare_metal_version: Versi Google Distributed Cloud untuk pengguna Anda . Agar dapat menggunakan versi yang sama dengan yang Anda gunakan untuk cluster admin, jalankan echo $BMCTL_VERSION untuk mendapatkan nilainya. Jika mau, Anda dapat menentukan versi yang tidak lebih dari satu versi minor lebih rendah dari versi cluster admin. Versi cluster pengguna tidak boleh lebih tinggi dari versi versi cluster admin.

    • cluster_name: Anda dapat menggunakan nama di file TVARS untuk cluster pengguna atau tentukan nama pilihan Anda. Nama tidak boleh setelah cluster dibuat.

    • admin_user_emails: Daftar alamat email pengguna yang akan yang telah diberi hak istimewa administratif di cluster. Pastikan untuk menambahkan agar Anda dapat mengelola cluster tersebut.

      Saat cluster dibuat, GKE On-Prem API menerapkan Kubernetes kebijakan role-based access control (RBAC) ke cluster untuk memberikan peran clusterrole/cluster-admin Kubernetes kepada pengguna admin, memberikan akses penuh ke setiap resource di cluster di semua namespace. Hal ini juga memungkinkan pengguna masuk ke konsol menggunakan Identitas Google.

    Gunakan nilai default yang ditentukan di terraform.tvars untuk nilai yang tersisa variabel. Skrip menggunakan nilai ini saat membuat VM dan admin .

    • control_plane_ips: Daftar satu atau beberapa alamat IPv4 untuk node bidang kontrol. Gunakan nilai defaultnya, yaitu alamat IP yang skrip yang ditetapkan ke VM abm-user-cluster-cp1.

    • worker_node_ips: Daftar satu atau beberapa alamat IPv4 untuk pekerja mesin node. Gunakan nilai default, yang merupakan alamat IP skrip yang ditetapkan ke VM abm-user-cluster-w1 dan abm-user-cluster-w2.

    • control_plane_vip: IP virtual (VIP) untuk bidang kontrol. Gunakan nilai default, 10.200.0.50, yang ada di 10.200.0.0/24 jaringan yang dibuat oleh skrip. Perhatikan bahwa alamat IP ini tumpang tindih dengan rentang alamat IP yang digunakan untuk load balancer MetalLB pada kumpulan alamat IP.

    • ingress_vip: Alamat IP virtual yang akan dikonfigurasi di load balancer untuk proxy masuknya. Gunakan nilai default, 10.200.0.51, yang ada jaringan 10.200.0.0/24 yang dibuat oleh skrip. Perhatikan bahwa IP ini berada dalam rentang alamat IP yang digunakan untuk load balancer MetalLB pada kumpulan alamat IP.

    • lb_address_pools: Daftar peta yang menentukan kumpulan alamat untuk Load balancer MetalLB. Gunakan nilai default.

  4. Simpan perubahan di terraform.tfvars.

  5. Lakukan inisialisasi dan buat paket Terraform:

    terraform init
    

    Terraform menginstal semua library yang diperlukan, seperti penyedia Google Cloud.

  6. Tinjau konfigurasi dan buat perubahan jika diperlukan:

    terraform plan
    
  7. Terapkan rencana Terraform untuk membuat cluster pengguna:

    terraform apply
    

    Perlu waktu 15 menit atau lebih untuk membuat cluster pengguna. Anda dapat melihat cluster di Konsol Google Cloud di Cluster GKE kami.

Menghubungkan ke cluster pengguna

Saat Anda membuat cluster pengguna menggunakan konsol atau gcloud CLI, cluster dikonfigurasi dengan Kubernetes yang sama kebijakan kontrol akses berbasis peran (RBAC) yang Anda konfigurasikan untuk admin cluster saat Anda menjalankan gcloud container fleet memberships generate-gateway-rbac. Dengan kebijakan RBAC ini, Anda dapat terhubung ke cluster menggunakan layanan Google Cloud identitas, yaitu alamat email yang terkait dengan data Google Cloud menggunakan akun layanan. Dengan kebijakan RBAC ini, Anda dapat login ke konsol tanpa konfigurasi tambahan apa pun.

Menghubungkan ke cluster di konsol

Jika Anda menggunakan gcloud CLI atau Terraform untuk membuat cluster pengguna, buka halaman GKE clusters di konsol:

Buka cluster GKE

Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat admin dan cluster pengguna di daftar.

Perhatikan bahwa cluster pengguna memiliki Bare metal: Pengguna di bagian Kolom Jenis. Hal ini menunjukkan bahwa cluster dikelola oleh GKE On-Prem API.

Jika Anda menggunakan skrip tersebut untuk membuat cluster admin, skrip tersebut memiliki Eksternal di Kolom Jenis. Hal ini menunjukkan bahwa cluster tidak dikelola oleh GKE On-Prem API. Anda dapat mengonfigurasi cluster admin agar dikelola dengan GKE On-Prem API setelah cluster dibuat.

Untuk login ke cluster:

  1. Klik link pada nama cluster, lalu di panel samping, klik Login.

  2. Pilih Gunakan identitas Google Anda untuk login.

  3. Klik Login.

Ulangi langkah yang sama untuk login ke cluster admin.

Menghubungkan ke cluster di command line

GKE On-Prem API mengonfigurasi kebijakan RBAC untuk Anda sebagai pengguna pembuat cluster. Kebijakan ini memungkinkan Anda menjalankan perintah kubectl di jaringan lokal desktop menggunakan gateway koneksi kubeconfig.

Dari komputer lokal Anda:

  1. Dapatkan entri kubeconfig yang dapat mengakses cluster melalui menghubungkan gateway.

    gcloud container fleet memberships get-credentials USER_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_USER_CLUSTER_NAME" has been generated and set as the current context.
    
  2. Kini Anda dapat menjalankan perintah kubectl melalui gateway koneksi:

    kubectl get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                  STATUS   ROLES                  AGE     VERSION
    abm-user-cluster-cp   Ready    control-plane,master   14m     v1.24.2-gke.1900
    abm-user-cluster-w1   Ready    worker                 8m28s   v1.24.2-gke.1900
    

Menambahkan kumpulan node lain ke cluster pengguna

Konsol

  1. Di konsol, buka cluster GKE kami.

    Buka cluster GKE

  2. Dalam daftar cluster, klik nama cluster, lalu klik Detail selengkapnya di panel Details.

  3. Klik tab Nodes.

  4. Klik Add Node Pool.

  5. Masukkan nama untuk kumpulan node.

  6. Di kolom Node address 1, masukkan alamat IP berikut:

    10.200.0.6
    

    Ini adalah alamat IP VM abm-user-cluster-w2 yang dibuat.

  7. Klik Buat

  8. Klik tab Nodes lagi jika perlu.

  9. Kumpulan node baru menampilkan status Rekonsiliasi.

  10. Klik di pojok kanan atas untuk melihat status pembuatan kumpulan node. Anda mungkin harus memuat ulang halaman untuk melihat status yang diperbarui dalam daftar kumpulan node.

gcloud CLI

Jalankan perintah berikut untuk membuat node pool lainnya. Ganti NODE_POOL_NAME_2 dengan nama untuk kumpulan node, dan pastikan placeholder untuk flag --cluster masih ditetapkan untuk pengguna nama cluster.

gcloud container bare-metal node-pools create NODE_POOL_NAME_2 \
  --cluster=USER_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=ON_PREM_API_REGION \
  --node-configs='node-ip=10.200.0.6'
  • -node-configs: Nilai yang ditetapkan ke node-ip adalah alamat IP VM abm-user-cluster-w2 di VXLAN yang dibuat oleh skrip.

Terraform

Jika Anda membuat cluster menggunakan Terraform, cluster dibuat dengan dua {i>node<i}, sehingga tidak ada VM tambahan di VXLAN yang tersedia untuk tambahkan node lain. Untuk informasi cara menambahkan kumpulan node, lihat lihat Dokumentasi referensi google_gkeonprem_bare_metal_cluster.

Anda juga dapat memverifikasi node baru menggunakan kubectl. Anda harus terlebih dahulu menjalankan Perintah gcloud container fleet memberships get-credentials seperti yang ditunjukkan sebelumnya untuk mengambil konfigurasi cluster:

kubectl get nodes

Outputnya mirip dengan hal berikut ini:

NAME                  STATUS   ROLES                  AGE     VERSION
abm-user-cluster-cp   Ready    control-plane,master   24m   v1.24.2-gke.1900
abm-user-cluster-w1   Ready    worker                 18m   v1.24.2-gke.1900
abm-user-cluster-w2   Ready    worker                 52s   v1.24.2-gke.1900

Pembersihan

Bagian berikut berisi petunjuk untuk menghapus cluster dan VM yang dibuat dengan panduan ini.

Menghapus cluster pengguna

Konsol

  1. Di konsol, buka cluster GKE kami.

    Buka cluster GKE

  2. Pada daftar cluster, klik cluster pengguna.

  3. Di panel Details, klik Detail selengkapnya.

  4. Di dekat bagian atas jendela, klik Hapus.

  5. Saat diminta untuk mengonfirmasi, masukkan nama cluster, lalu klik Confirm.

  6. Klik di di pojok kanan atas untuk melihat status penghapusan. Anda mungkin harus muat ulang halaman untuk memperbarui daftar cluster.

gcloud CLI

Jalankan perintah berikut untuk menghapus cluster:

gcloud container bare-metal clusters delete USER_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=ON_PREM_API_REGION \
  --force

Tanda --force memungkinkan Anda menghapus cluster yang memiliki kumpulan node. Tanpa flag --force, Anda harus menghapus kumpulan node terlebih dahulu, lalu hapus cluster tersebut.

Untuk mengetahui informasi tentang tanda lain, lihat gcloud container bare-metal clusters delete.

Terraform

Jalankan perintah berikut:

terraform destroy

Tunggu hingga cluster pengguna dihapus sebelum menghapus cluster admin dan VM.

Menghapus cluster admin dan VM

  1. 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
    
  2. Hubungkan ke workstation admin:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  3. Hapus cluster admin:

    bmctl reset -c ADMIN_CLUSTER_NAME
    

    bmctl membatalkan pendaftaran cluster dari fleet, lalu menghapus . Tunggu hingga cluster dihapus sebelum dapat menghapus VM.

  4. Keluar dari workstation admin.

  5. Cantumkan semua VM yang memiliki abm dalam namanya:

    gcloud compute instances list | grep 'abm'
    
  6. Pastikan Anda tidak keberatan menghapus semua VM yang berisi abm di nama.

    Setelah memverifikasi, Anda dapat menghapus abm VM dengan menjalankan perintah berikut berikut:

    gcloud compute instances list --format="value(name)" | \
      grep 'abm'  | \
      xargs gcloud --quiet compute instances delete --zone ZONE
    
  7. Hapus akun layanan:

    gcloud iam service-accounts delete baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com
    

    Pada dialog konfirmasi, masukkan y.

    Langkah selanjutnya