Buat demo admin Google Distributed Cloud dan cluster pengguna di VM Compute Engine

Pelajari Google Distributed Cloud dengan membuat cluster demo di Compute Engine Virtual Mesin (VM). Membuat cluster admin dan cluster pengguna dengan panduan ini mungkin membutuhkan waktu 40 menit hingga satu jam. Cluster demo yang Anda buat dalam panduan ini membantu Anda mengevaluasi proses penyediaan dan pengoperasian Google Distributed Cloud cluster, tetapi tidak dimaksudkan untuk digunakan dalam produksi.

Dokumen ini akan memandu Anda melalui proses menjalankan skrip yang:

  • Menyediakan lima VM Compute Engine untuk menginstal cluster demo Anda
  • Menyiapkan jaringan VPC untuk menyediakan konektivitas cluster

Setelah skrip menyediakan resource yang diperlukan, gunakan salah satu hal berikut klien untuk membuat cluster admin dan cluster pengguna pendamping yang dapat workload host: bmctl, Konsol Google Cloud, Google Cloud CLI, atau Terraform.

Ringkasan prosedur

Panduan ini berisi langkah-langkah utama berikut:

  1. Siapkan lingkungan lokal Anda sehingga skrip memiliki persyaratan yang diperlukan variabel lingkungan dan telah mengumpulkan informasi dasar yang dibutuhkan untuk menjalankan perintah.

  2. Buat VM dan jaringan dengan skrip yang didownload.

  3. Buat cluster admin dengan salah satu klien yang didukung.

  4. Buat cluster pengguna dengan salah satu klien yang didukung.

  5. Pembersihan untuk menghapus cluster dan VM yang Anda buat dengan panduan ini.

1. Menyiapkan lingkungan lokal Anda

Karena panduan ini menggunakan skrip yang menyiapkan jaringan untuk Anda, Anda tidak perlu perlu mengumpulkan banyak informasi atau melakukan perencanaan apa pun. Langkah-langkah penyiapan berikut lingkungan lokal Anda dan mengumpulkan informasi dasar yang diperlukan selanjutnya dalam panduan ini:

  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:

      You cannot perform this action because the Google Cloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation:

      Ikuti petunjuk untuk menyalin dan menempelkan perintah untuk mengupdate komponen-komponennya.

    2. Pastikan Anda telah menginstal kubectl. Jika Anda ingin instal kubectl, jalankan perintah berikut:
      gcloud components install kubectl
  8. 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
    
    • ADMIN_CLUSTER_NAME: nama yang Anda pilih untuk ke cluster admin.
    • ON_PREM_API_REGION: region Google Cloud tempat GKE On-Prem API menjalankan dan menyimpan metadatanya. Menentukan us-central1 atau lainnya wilayah yang didukung.
    • ZONE: Zona Google Cloud yang VM Compute Engine telah dibuat. Anda dapat menggunakan us-central1-a atau yang lainnya Mesin Komputasi zona yang sama.
  9. Jalankan perintah berikut untuk menetapkan 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 dimasukkan. Jika project ID benar, jalankan gcloud auth login untuk login ke gcloud CLI dengan akun yang memiliki akses ke project.

  10. Dapatkan daftar versi yang didukung dan dapat Anda instal:
    gcloud container bare-metal admin-clusters query-version-config \
        --location=ON_PREM_API_REGION
    
  11. Pilih versi dari {i>output<i} perintah sebelumnya dan setel dalam variabel lingkungan (lingkungan):
    export BMCTL_VERSION=BMCTL_VERSION
    

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

2. Membuat VM dan jaringan

Di bagian ini, Anda akan mendownload dan menjalankan skrip install_admin_cluster.sh.

  1. Clone repositori anthos-samples dan ubah ke direktori tempat skrip terletak:

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

    bash install_admin_cluster.sh
    
  3. Ketika diminta, masukkan 2 untuk menyiapkan infrastruktur Compute Engine saja dan konfirmasi pilihan Anda ketika diminta.

    Skrip ini membuat VM Compute Engine, membuat jaringan VXLAN, dan menyiapkan workstation admin dan node cluster. Infrastruktur ini membutuhkan waktu sekitar 5 menit untuk disiapkan.

    Untuk mempelajari skrip lebih lanjut, klik link berikut:

    Tentang skrip

    Anda dapat melihat skrip di anthos-bm-gcp-bash folder di sampel-anthos repositori GitHub ASL. Skrip mengotomatiskan langkah-langkah manual berikut:

    1. Mengaktifkan Google Cloud API berikut:
      anthos.googleapis.com
      anthosaudit.googleapis.com
      anthosgke.googleapis.com
      cloudresourcemanager.googleapis.com
      connectgateway.googleapis.com
      container.googleapis.com
      compute.googleapis.com
      gkeconnect.googleapis.com
      gkehub.googleapis.com
      gkeonprem.googleapis.com
      serviceusage.googleapis.com
      stackdriver.googleapis.com
      monitoring.googleapis.com
      logging.googleapis.com
      kubernetesmetadata.googleapis.com
      iam.googleapis.com
      opsconfigmonitoring.googleapis.com
    2. Daripada membuat beberapa akun layanan untuk API dan layanan, skrip membuat satu akun layanan yang disebut baremetal-gcr dan memberikan peran IAM berikut:
      • roles/gkehub.admin
      • roles/gkehub.connect
      • roles/logging.logWriter
      • roles/monitoring.dashboardEditor
      • roles/monitoring.metricWriter
      • roles/monitoring.viewer
      • roles/opsconfigmonitoring.resourceMetadata.writer
      • roles/serviceusage.serviceUsageViewer
      • roles/stackdriver.resourceMetadata.writer
    3. Membuat VM berikut:
      • Satu VM untuk workstation admin.
      • Satu VM untuk node bidang kontrol cluster admin.
      • Dua VM untuk node pekerja cluster pengguna.
      • Satu VM untuk node bidang kontrol cluster pengguna.
    4. Memverifikasi bahwa SSH diaktifkan di semua VM dan bahwa workstation admin memiliki akses SSH ke semua VM lain yang dibuat untuk cluster node.
    5. 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 disiapkan berada di subnet 10.200.0.0/24. Lapisan 2 konektivitas adalah persyaratan bagi load balancer paket.
    6. Menginstal alat berikut di workstation admin:
      • bmctl
      • kubectl
      • Docker

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

    7. Memastikan bahwa root@10.200.0.x dari workstation admin bekerja dengan melakukan tugas-tugas berikut:
      1. Membuat kunci SSH baru di workstation admin.
      2. Menambahkan kunci publik ke semua VM lain dalam deployment.

    Skrip menghasilkan setiap perintah yang dijalankan dan statusnya. Setelah selesai, skrip menghasilkan hal berikut:

    ✅ Successfully set up SSH access from admin workstation to cluster node VMs.
    
    ✅ GCE Infrastructure setup 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-cp  | 10.200.0.3            | 🌟 Ready for use as control plane for the admin cluster |
    | abm-user-cluster-cp   | 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         |
    |---------------------------------------------------------------------------------------------------------|
    

3. Membuat cluster admin

bmctl

Untuk membuat cluster admin dengan bmctl, Anda mengakses VM workstation admin di jendela terminal dan menjalankan perintah dari sana:

  1. Gunakan SSH untuk mengakses VM workstation admin, abm-ws, sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  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. Buat file konfigurasi cluster:

    bmctl create config -c ADMIN_CLUSTER_NAME --project-id=PROJECT_ID
    
  4. Verifikasi file konfigurasi cluster admin:

    File konfigurasi cluster berikut sudah diisi dengan nilai yang yang Anda berikan sebelumnya. Selain nilai yang dimasukkan, perhatikan perbedaan berikut dari file konfigurasi yang dihasilkan:

    • Komentar telah dihapus dari sampel ini untuk meningkatkan keterbacaan.
    • Skrip membuat satu akun layanan dengan semua izin yang diperlukan dan mendownload kunci bm-gcr.json yang dirujuk dalam file konfigurasi.
    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
      profile: default
      anthosBareMetalVersion: BMCTL_VERSION
      gkeConnect:
        projectID: PROJECT_ID
      controlPlane:
        nodePoolSpec:
          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:
        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: 110
    
  5. 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.

  6. Buat cluster admin:

    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 in baremetal/bmctl-workspace/abm-user-cluster-metallb/log di workstation admin.

    Proses pembuatan cluster dapat memerlukan waktu beberapa menit.

  7. Di konsol, buka halaman GKE clusters.

    Buka cluster GKE

    Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin tercantum.

  8. Login ke cluster admin:

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

    2. Pilih Gunakan identitas Google Anda untuk login.

    3. Klik Login.

Memverifikasi cluster admin

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

  1. Gunakan SSH untuk mengakses workstation admin sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  2. Pastikan cluster admin Anda telah dibuat dan sedang berjalan:

    kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane   94m   v1.27.4-gke.1600
    
  3. Setelah selesai menjelajah, masukkan exit untuk memutuskan hubungan dari admin Infrastruktur Cloud.

Konsol

Untuk membuat cluster admin di konsol, Anda harus menjalankan bmctl register bootstrap dari VM workstation admin untuk membuat cluster bootstrap. Selagi perintah bmctl register bootstrap berjalan, Anda harus melakukan langkah-langkah konsol untuk membuat cluster admin.

Memasukkan dasar-dasar lingkungan bootstrap

  1. Di konsol Google Cloud, buka cluster GKE kami.

    Buka cluster GKE

  2. Klik Create.

  3. Dalam dialog Create a cluster, pilih On-prem, lalu klik Mengonfigurasi untuk bare metal:

  4. Pastikan untuk memilih PROJECT_ID dari daftar proyek.

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

  6. Masukkan ADMIN_CLUSTER_NAME sebagai nama cluster admin.

  7. Pilih BMCTL_VERSION sebagai untuk cluster admin Anda. Skrip mendownload versi ini bmctl alat command line ke workstation admin. Google Distributed Cloud versi yang Anda instal harus cocok dengan versi bmctl.

  8. 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 ditampilkan karena Anda melanjutkan untuk membuat cluster admin.

Membuat cluster bootstrap

Saat Anda menggunakan klien GKE On-Prem API, seperti konsol, untuk membuat Anda harus membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat ke cluster admin.

  1. Dari command line, gunakan SSH untuk mengakses VM 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. Ubah ke direktori baremetal/ dan jalankan perintah berikut untuk membuat cluster bootstrap.

    Nama cluster bootstrap diperoleh dengan menambahkan bootstrap- ke nama cluster admin.

    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

  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.

Jaringan

  1. Klik Networking di menu navigasi sebelah kiri.

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

  3. Di bagian Load balancer, pastikan Bundled dipilih.

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

    10.200.0.48
    

    Langkah berikut bergantung pada ketersediaan cluster bootstrap. Perintah bmctl register bootstrap di jendela terminal harus dijalankan untuk beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota yang terdaftar. Jika, setelah beberapa menit, video masih belum tersedia, periksa cluster bootstrap dan project ID yang Anda gunakan. Jika Anda perlu mengubah bootstrap nama cluster atau project ID, masukkan Ctrl-C di jendela terminal lainnya untuk keluar dari bmctl register bootstrap dan menjalankan kembali perintah tersebut.

  5. Klik Verifikasi dan Buat.

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

    Saat cluster admin dibuat, cluster bootstrap di admin workstation dihapus. Output bmctl register bootstrap di jendela terminal lainnya serupa dengan berikut ini:

    ...
    [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK
    [2024-04-15 23:16:38+0000] Please run
    [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes
    [2024-04-15 23:16:38+0000] to get cluster nodes status.
    [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK
    [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK
    [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK
    [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster
    [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK
    [2024-04-15 23:24:30+0000] Flushing logs... OK
    [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster.
    [2024-04-15 23:24:30+0000] Deleting membership... OK
    [2024-04-15 23:24:32+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, selesaikan langkah-langkah berikut:

  1. Gunakan SSH untuk mengakses workstation admin sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  2. Pastikan cluster admin Anda telah dibuat dan sedang berjalan:

    kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane   94m   v1.27.4-gke.1600
    
  3. Setelah selesai menjelajah, masukkan exit untuk memutuskan hubungan dari admin Infrastruktur Cloud.

gcloud CLI

Petunjuk berikut memerlukan dua jendela terminal. Dalam satu jendela terminal, Anda menjalankan bmctl register bootstrap untuk membuat cluster bootstrap. Sementara Perintah bmctl register bootstrap sedang berjalan, jalankan gcloud container bare-metal admin-clusters create di jendela terminal lain untuk membuat admin .

Membuat cluster bootstrap

Saat Anda menggunakan klien GKE On-Prem API, seperti gcloud CLI, untuk membuat Anda harus membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat ke cluster admin.

  1. Dari command line, gunakan SSH untuk mengakses VM 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. Ubah ke direktori baremetal/ dan jalankan perintah berikut untuk membuat cluster bootstrap.

    Nama cluster bootstrap diperoleh dengan menambahkan bootstrap- ke nama cluster admin.

    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

  1. Di jendela terminal baru, pastikan bahwa cluster bootstrap telah terdaftar sebagai anggota armada:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Perintah gcloud container bare-metal admin-clusters create di langkah berikut tergantung pada ketersediaan cluster bootstrap. Tujuan Perintah bmctl register bootstrap di jendela terminal lainnya harus dijalankan untuk beberapa menit sebelum cluster bootstrap ditampilkan sebagai anggota yang terdaftar. Jika, setelah beberapa menit, video masih belum tercantum, periksa nama cluster bootstrap dan project ID yang Anda gunakan. Jika Anda perlu mengubah cluster bootstrap atau ID project, masukkan Ctrl-C di jendela terminal lain untuk keluar dari bmctl register bootstrap dan jalankan kembali perintah tersebut.

  2. Buat cluster admin dengan load balancer yang dipaketkan:

    Pastikan nilai yang Anda tentukan cocok dengan variabel lingkungan yang Anda yang ditentukan sebelumnya untuk skrip.

    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
    

    Dalam perintah ini:

    • --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 dari 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
    

    Saat gcloud container bare-metal admin-clusters create selesai berhasil, output-nya mirip dengan berikut ini:

    Created Anthos on bare metal Admin Cluster
    [https://gkeonprem.googleapis.com/v1/projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-gcloud-001].
    NAME           LOCATION     VERSION           MEMBERSHIP     STATE
    abm-cluster-1  us-central1  1.28.300-gke.131  abm-cluster-1  RUNNING
    

    Saat cluster admin dibuat, cluster bootstrap di admin workstation dihapus. Output bmctl register bootstrap di jendela terminal lainnya serupa dengan berikut ini:

    ...
    [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK
    [2024-04-15 23:16:38+0000] Please run
    [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes
    [2024-04-15 23:16:38+0000] to get cluster nodes status.
    [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK
    [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK
    [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK
    [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster
    [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK
    [2024-04-15 23:24:30+0000] Flushing logs... OK
    [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster.
    [2024-04-15 23:24:30+0000] Deleting membership... OK
    [2024-04-15 23:24:32+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, selesaikan langkah-langkah berikut:

  1. Gunakan SSH untuk mengakses workstation admin sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  2. Pastikan cluster admin Anda telah dibuat dan sedang berjalan:

    kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane   94m   v1.27.4-gke.1600
    
  3. Setelah selesai menjelajah, masukkan exit untuk memutuskan hubungan dari admin Infrastruktur Cloud.

Terraform

Petunjuk berikut memerlukan dua jendela terminal. Dalam satu jendela terminal, Anda menjalankan bmctl register bootstrap untuk membuat cluster bootstrap. Sementara Perintah bmctl register bootstrap sedang berjalan, Anda menjalankan perintah Terraform di jendela terminal lain untuk membuat cluster admin.

Mengubah file contoh cluster pengguna agar berfungsi untuk cluster admin

Repositori anthos-samples tidak menyertakan contoh yang secara spesifik untuk membuat cluster admin Google Distributed Cloud. Langkah berikut menunjukkan cara membuat cluster admin dengan mengubah Terraform cluster pengguna yang ada contoh.

  1. Di direktori tempat Anda meng-clone anthos-samples, jalankan perintah berikut untuk menyalin file sampel untuk sampel cluster pengguna MetalLB ke dalam folder baru untuk cluster admin Anda:

    cp -r anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb \
        anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
    
  2. Ubah ke direktori abm_admin_cluster_basic:

    cd anthos-samples/anthos-onprem-terraform/abm_admin_cluster_basic
    
  3. Edit file Terraform:

    • variables.tf:

      • Menentukan variabel untuk alamat IP node bidang kontrol (meskipun kita gunakan salah satu saja untuk demo ini). Variabel ini harus mirip dengan variable "control_plane_ips" { ... } entri.

      • Tentukan variabel untuk alamat VIP bidang kontrol. Variabel ini harus mirip dengan entri variable "control_plane_vip" { ... }.

    • terraform.tfvars:

      • Tetapkan nilai variabel untuk setelan cluster admin berikut:

        • Alamat IP node bidang kontrol: 10.200.0.3

        • Alamat VIP bidang kontrol: 10.200.0.48

    • main.tf:

      • Ganti resource google_gkeonprem_bare_metal_cluster dengan Resource google_gkeonprem_bare_metal_admin_cluster.

      • Hapus resource google_gkeonprem_bare_metal_node_pool dan yang terkait lifecycle.

      • Update resource untuk menggunakan variabel yang baru ditentukan.

    Berikut adalah contoh tampilan file main.tf saat diedit menjadi membuat cluster admin:

    /**
    * Copyright 2023 Google LLC
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    *      http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
    
    #[START anthos_onprem_terraform_bare_metal_admin_cluster_basic_main]
    
    module "enable_google_apis_primary" {
      source     = "terraform-google-modules/project-factory/google//modules/project_services"
      version    = "~> 14.0"
      project_id = var.project_id
      activate_apis = [
        "anthos.googleapis.com",
        "anthosaudit.googleapis.com",
        "anthosgke.googleapis.com",
        "cloudresourcemanager.googleapis.com",
        "compute.googleapis.com",
        "connectgateway.googleapis.com",
        "container.googleapis.com",
        "file.googleapis.com",
        "gkehub.googleapis.com",
        "iam.googleapis.com",
        "kubernetesmetadata.googleapis.com",
        "logging.googleapis.com",
        "monitoring.googleapis.com",
        "opsconfigmonitoring.googleapis.com",
        "serviceusage.googleapis.com",
        "stackdriver.googleapis.com"
      ]
      disable_services_on_destroy = false
    }
    
    # Enable GKE OnPrem API
    resource "google_project_service" "default" {
      project            = var.project_id
      service            = "gkeonprem.googleapis.com"
      disable_on_destroy = false
    }
    
    # Create an anthos baremetal admin cluster and enroll it with the gkeonprem API
    resource "google_gkeonprem_bare_metal_admin_cluster" "admin-cluster-basic" {
      name                     = var.admin_cluster_name
      description              = "Anthos bare metal admin cluster"
      provider                 = google
      depends_on               = [google_project_service.default]
      location                 = var.region
      bare_metal_version       = var.bare_metal_version
      network_config {
        island_mode_cidr {
          service_address_cidr_blocks = ["0.96.0.0/20"]
          pod_address_cidr_blocks     = ["192.168.0.0/16"]
        }
      }
      node_config {
        max_pods_per_node = 250
      }
      control_plane {
        control_plane_node_pool_config {
          node_pool_config {
            operating_system = "LINUX"
            dynamic "node_configs" {
              for_each = var.admin_cp_ips
              content {
                node_ip = node_configs.value
              }
            }
          }
        }
      }
      load_balancer {
        port_config {
          control_plane_load_balancer_port = 443
        }
        vip_config {
          control_plane_vip = var.admin_cp_vip
        }
      }
      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"
        }
      }
    
      dynamic "security_config" {
        for_each = length(var.admin_user_emails) == 0 ? [] : [1]
        content {
          authorization {
            dynamic "admin_users" {
              for_each = var.admin_user_emails
              content {
                username = admin_users.value
              }
            }
          }
        }
      }
    
      lifecycle {
        ignore_changes = [
          annotations["onprem.cluster.gke.io/user-cluster-resource-link"],
          annotations["alpha.baremetal.cluster.gke.io/cluster-metrics-webhook"],
          annotations["baremetal.cluster.gke.io/operation"],
          annotations["baremetal.cluster.gke.io/operation-id"],
          annotations["baremetal.cluster.gke.io/start-time"],
          annotations["baremetal.cluster.gke.io/upgrade-from-version"]
        ]
      }
    }
    
    #[END anthos_onprem_terraform_bare_metal_admin_cluster_basic_main]
    

    Untuk informasi selengkapnya tentang resource Terraform untuk cluster admin, lihat google_gkeonprem_bare_metal_admin_cluster di registry Terraform.

Membuat cluster bootstrap

Saat Anda menggunakan klien GKE On-Prem API, seperti Terraform, untuk membuat Anda harus membuat cluster bootstrap di workstation admin. Cluster bootstrap menghosting pengontrol Kubernetes yang diperlukan untuk membuat ke cluster admin.

  1. Dari command line, gunakan SSH untuk mengakses VM 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. Ubah ke direktori baremetal/ dan jalankan perintah berikut untuk membuat cluster bootstrap.

    Nama cluster bootstrap diperoleh dengan menambahkan bootstrap- ke nama cluster admin.

    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

  1. Lakukan inisialisasi dan buat paket Terraform:

    terraform init
    

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

  2. Tinjau konfigurasi dan buat perubahan jika diperlukan:

    terraform plan
    
  3. Terapkan rencana Terraform untuk membuat cluster admin:

    terraform apply
    

    Perlu waktu 15 menit atau lebih untuk membuat cluster admin. Saat cluster pembuatan selesai, Anda akan melihat pesan seperti berikut:

    ...
    google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Still creating... [20m10s elapsed]
    google_gkeonprem_bare_metal_admin_cluster.admin-cluster-basic: Creation complete after 20m11s
    [id=projects/anonuser-anonproject/locations/us-central1/bareMetalAdminClusters/gce-admin-terra002]
    
    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
    

    Saat cluster admin dibuat, cluster bootstrap di admin workstation dihapus. Output bmctl register bootstrap di jendela terminal lainnya serupa dengan berikut ini:

    ...
    [2024-04-15 23:10:48+0000] Waiting for cluster to become ready OK
    [2024-04-15 23:16:38+0000] Please run
    [2024-04-15 23:16:38+0000] kubectl --kubeconfig bmctl-workspace/gce-admin-gcloud-001/gce-admin-gcloud-001-kubeconfig get nodes
    [2024-04-15 23:16:38+0000] to get cluster nodes status.
    [2024-04-15 23:16:38+0000] Waiting for node pools to become ready OK
    [2024-04-15 23:16:58+0000] Waiting for metrics to become ready in GCP OK
    [2024-04-15 23:21:58+0000] Waiting for cluster API provider to install in the created admin cluster OK
    [2024-04-15 23:22:08+0000] Moving admin cluster resources to the created admin cluster
    [2024-04-15 23:22:10+0000] Waiting for node update jobs to finish OK
    [2024-04-15 23:24:30+0000] Flushing logs... OK
    [2024-04-15 23:24:30+0000] Unregistering bootstrap cluster.
    [2024-04-15 23:24:30+0000] Deleting membership... OK
    [2024-04-15 23:24:32+0000] Deleting bootstrap cluster.
    

  4. Di konsol, buka halaman GKE clusters.

    Buka cluster GKE

    Pastikan project tempat Anda membuat cluster pengguna dipilih. Anda akan melihat cluster admin tercantum.

  5. Login ke cluster admin:

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

    2. Pilih Gunakan identitas Google Anda untuk login.

    3. Klik Login.

Memverifikasi cluster admin

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

  1. Gunakan SSH untuk mengakses workstation admin sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  2. Pastikan cluster admin Anda telah dibuat dan sedang berjalan:

    kubectl --kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig get nodes
    

    Outputnya mirip dengan hal berikut ini:

    NAME                   STATUS   ROLES                  AGE   VERSION
    abm-admin-cluster-cp   Ready    control-plane   94m   v1.27.4-gke.1600
    
  3. Setelah selesai menjelajah, masukkan exit untuk memutuskan hubungan dari admin Infrastruktur Cloud.

4. Membuat cluster pengguna

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform untuk membuat cluster pengguna. Untuk mempermudah, gunakan abm-user-cluster-metallb untuk pengguna nama cluster terlebih dahulu, agar sesuai dengan nama hard code dalam skrip Terraform.

bmctl

  1. Gunakan SSH untuk mengakses VM workstation admin, abm-ws, sebagai root:

    gcloud compute ssh root@abm-ws --zone ZONE
    
  2. Buat file konfigurasi cluster:

    bmctl create config -c abm-user-cluster-metallb \
        --project-id=PROJECT_ID
    
  3. Di file konfigurasi cluster pengguna berikut, setel alamat email Anda di bagian clusterSecurity dan verifikasi setelan lainnya:

    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.
    • Bagian kredensial telah dihapus seperti biasa untuk cluster pengguna.
    • Jenis cluster, spec.type, telah ditetapkan ke user.
    • Kolom spec.clusterSecurity.authorization.clusterAdmin.gcpAccounts telah ditambahkan untuk memberikan clusterrole/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-abm-user-cluster-metallb
    ---
    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: abm-user-cluster-metallb
      namespace: cluster-abm-user-cluster-metallb
    spec:
      type: user
      profile: default
      anthosBareMetalVersion: BMCTL_VERSION
      gkeConnect:
        projectID: PROJECT_ID
      controlPlane:
        nodePoolSpec:
          nodes:
          - address: 10.200.0.4
      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.50
          ingressVIP: 10.200.0.51
        addressPools:
        - name: pool1
          addresses:
          - 10.200.0.51-10.200.0.70
      clusterOperations:
        projectID: PROJECT_ID
        location: us-central1
      clusterSecurity:
        authorization:
          clusterAdmin:
            gcpAccounts:
            - YOUR_EMAIL_ADDRESS
      storage:
        lvpNodeMounts:
          path: /mnt/localpv-disk
          storageClassName: local-disks
        lvpShare:
          path: /mnt/localpv-share
          storageClassName: local-shared
          numPVUnderSharedPath: 5
      nodeConfig:
        podDensity:
          maxPodsPerNode: 250
    ---
    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: node-pool-1
      namespace: cluster-abm-user-cluster-metallb
    spec:
      clusterName: abm-user-cluster-metallb
      nodes:
      - address: 10.200.0.5
    
  4. Ganti konten file konfigurasi yang dibuat di admin Anda dengan konten dari sampel sebelumnya.

    Buka {i>file<i} yang dihasilkan, bmctl-workspace/abm-user-cluster-metallb/abm-user-cluster-metallb.yaml dan ganti kontennya dengan konten sampel yang telah Anda verifikasi dalam langkah sebelumnya.

  5. Buat cluster pengguna:

    bmctl create cluster -c abm-user-cluster-metallb \
      --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 in baremetal/bmctl-workspace/abm-user-cluster-metallb/log di workstation admin.

    Proses pembuatan cluster dapat memerlukan waktu beberapa menit.

  6. Di konsol Google Cloud, buka cluster GKE kami.

    Buka cluster GKE

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

  7. Login ke cluster pengguna:

    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.

Konsol

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

  1. Di konsol, buka halaman Create a bare metal cluster.

    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

Skrip yang Anda jalankan untuk membuat VM dan cluster admin juga membuat VXLAN Lapisan 2 dengan alamat IP di subnet 10.200.0.0/24.

  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 pengguna Anda harus memiliki setidaknya satu kumpulan node untuk node pekerja.

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

  3. Login ke cluster pengguna:

    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.

gcloud CLI

Untuk membuat cluster pengguna:

  1. Jalankan perintah berikut untuk membuat cluster pengguna:

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

    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.

  2. Untuk mengetahui status operasi, buka jendela terminal lain dan jalankan perintah tersebut.

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

    Ganti OPERATION_ID dengan string yang sesuai dari output dari langkah sebelumnya.

    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/abm-user-cluster-metallb].

    Untuk mengetahui informasi selengkapnya tentang gcloud container bare-metal clusters create termasuk deskripsi setiap flag, lihat pembuatan cluster bare-metal container untuk resource cluster dalam referensi gcloud CLI.

Membuat node pool

Setelah cluster berhasil dibuat, Anda dapat membuat kumpulan node untuk .

Untuk membuat kumpulan node:

  1. Jalankan perintah berikut untuk membuat node pool:

    gcloud container bare-metal node-pools create NODE_POOL_NAME \
        --cluster=abm-user-cluster-metallb \
        --project=PROJECT_ID \
        --location=ON_PREM_API_REGION \
        --node-configs='node-ip=10.200.0.5'
    

    Ganti NODE_POOL_NAME dengan nama untuk kumpulan node.

    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/abm-user-cluster-metallb/bareMetalNodePools/NODE_POOL_NAME].
    
  2. Buka halaman Create a bare metal cluster di konsol:

    Buka halaman Create a bare metal cluster

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

  3. Login ke cluster pengguna:

    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.

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
    
  3. Verifikasi nilai dalam contoh berikut:

    File variabel Terraform berikut, terraform.tfvars.sample, adalah diisi otomatis dengan alamat IP dan dengan nilai yang Anda masukkan sebelumnya bagian-bagian dari panduan ini.

    
    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"] }
    ]
    

    Ganti ADMIN_2_EMAIL_ADDRESS dengan email yang terkait dengan akun Google Cloud Anda atau menghapusnya saat Anda mengedit file variabel.

    Untuk informasi selengkapnya tentang argumen dalam contoh ini yang akan Anda variabel setelan, lihat Referensi Argumen dalam dokumentasi Terraform untuk cluster pengguna Google Distributed Cloud.

  4. Ganti konten salinan file variabel Anda dengan konten dari sampel sebelumnya.

  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.

  8. Di konsol Google Cloud, buka cluster GKE kami.

    Buka cluster GKE

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

  9. Login ke cluster pengguna:

    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.

5. Pembersihan

Gunakan petunjuk berikut untuk menghapus cluster dan VM yang Anda buat dengan panduan ini.

Menghapus cluster pengguna

bmctl

  • Untuk menghapus cluster pengguna dengan bmctl, jalankan perintah berikut dari VM workstation admin, abm-ws:

    bmctl reset \
        --cluster abm-user-cluster-metallb \
        --admin-kubeconfig bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
    

Konsol

  1. Di konsol, buka cluster GKE kami.

    Buka cluster GKE

  2. Pada daftar cluster, klik cluster pengguna.

  3. Di panel Detail, klik Lihat detail selengkapnya.

  4. Di dekat bagian atas jendela, klik Hapus.

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

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

gcloud CLI

  • Untuk menghapus cluster, jalankan perintah berikut:

    gcloud container bare-metal clusters delete abm-user-cluster-metallb \
        --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

Perintah terraform destroy menghentikan resource yang dibuat saat Anda menjalankan terraform apply untuk membuat cluster pengguna.

  • Jalankan perintah berikut dari direktori tempat pengguna Terraform file contoh cluster, seperti main.tf berada:

    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:

    exit
    
  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 compute instances delete --quiet --zone ZONE
    
  7. Jalankan perintah berikut untuk menghapus akun layanan dan, jika diminta, masukkan y:

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

    Langkah selanjutnya