Menyiapkan dan menggunakan mode tanpa kunci cluster

Dokumen ini menjelaskan cara menyiapkan dan menggunakan kemampuan mode tanpa kunci cluster untuk Google Distributed Cloud (khusus software) di bare metal. Sebagai ganti kunci akun layanan, mode tanpa kunci menggunakan token berumur pendek dan Workload Identity Federation untuk membuat dan mengamankan cluster Anda. Kredensial berumur pendek untuk akun layanan berbentuk token akses OAuth 2.0. Masa berlaku token akses akan berakhir setelah 1 jam secara default, kecuali untuk token pull image, yang masa berlakunya akan berakhir setelah 12 jam.

Mode tanpa kunci hanya tersedia untuk cluster versi 1.30 dan yang lebih tinggi.

Sebaliknya, mode dengan kunci, metode standar untuk membuat dan mengamankan cluster, menggunakan kunci akun layanan yang didownload. Saat membuat cluster mandiri (admin, campuran, atau mandiri), Anda menentukan jalur ke kunci yang didownload. Kunci tersebut kemudian disimpan sebagai Secret di cluster dan cluster pengguna terkelola. Secara default, kunci akun layanan tidak memiliki masa berlaku dan berisiko keamanan jika tidak dikelola dengan benar.

Mode tanpa kunci memberikan dua manfaat utama dibandingkan dengan menggunakan kunci akun layanan:

  • Keamanan yang ditingkatkan: Kunci akun layanan akan berisiko keamanan jika tidak dikelola dengan benar. Token OAuth 2.0 dan Federasi Workload Identity dianggap sebagai alternatif praktik terbaik untuk kunci akun layanan. Untuk mengetahui informasi selengkapnya tentang token akun layanan, lihat Kredensial akun layanan jangka pendek. Untuk mengetahui informasi selengkapnya tentang Workload Identity Federation, lihat Workload Identity Federation.

  • Pemeliharaan yang lebih sedikit: Kunci akun layanan memerlukan lebih banyak pemeliharaan. Memutar dan mengamankan kunci ini secara rutin dapat menjadi beban administrative yang signifikan.

Meskipun fitur ini masih dalam Pratinjau, ada beberapa batasan yang diketahui.

Sebelum memulai

Di bagian berikut, Anda akan membuat akun layanan dan memberikan peran yang diperlukan untuk mode tanpa kunci. Petunjuk penyiapan dalam dokumen ini bukan pengganti untuk petunjuk dalam Menyiapkan resource Google Cloud, petunjuk ini diperlukan selain prasyarat penginstalan khusus software Google Distributed Cloud standar. Akun layanan yang diperlukan untuk mode tanpa kunci mirip dengan akun layanan yang dijelaskan dalam Menyiapkan resource Google Cloud, tetapi akun layanan tersebut diberi nama unik, sehingga tidak mengganggu cluster yang menggunakan kunci akun layanan default.

Halaman ini ditujukan untuk Admin, arsitek, dan Operator yang menyiapkan, memantau, dan mengelola siklus proses infrastruktur teknologi yang mendasarinya. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud, lihat Tugas dan peran pengguna GKE Enterprise umum.

Tabel berikut menjelaskan akun layanan yang diperlukan untuk mode tanpa kunci:

Akun layanan Tujuan Peran
ADMIN_SA Anda menggunakan akun layanan ini untuk membuat token. Setiap token memiliki hak istimewa yang terkait dengan peran akun layanan. roles/gkehub.admin
roles/logging.admin
roles/monitoring.admin
roles/monitoring.dashboardEditor
roles/iam.serviceAccountAdmin
roles/iam.serviceAccountTokenCreator
baremetal-controller Connect Agent menggunakan akun layanan ini untuk mempertahankan koneksi antara cluster Anda dan Google Cloud serta mendaftarkan cluster Anda ke fleet. Akun layanan ini juga memuat ulang token untuk akun layanan baremetal-gcr. roles/gkehub.admin
roles/monitoring.dashboardEditor
roles/serviceusage.serviceUsageViewer
baremetal-cloud-ops Agen Stackdriver menggunakan akun layanan ini untuk mengekspor log dan metrik dari cluster ke Cloud Logging dan Cloud Monitoring. roles/logging.logWriter
roles/monitoring.metricWriter
roles/stackdriver.resourceMetadata.writer
roles/opsconfigmonitoring.resourceMetadata.writer
roles/monitoring.dashboardEditor
roles/monitoring.viewer
roles/serviceusage.serviceUsageViewer
roles/kubernetesmetadata.publisher
baremetal-gcr Google Distributed Cloud menggunakan akun layanan ini untuk mendownload image container dari Container Registry. Tidak ada

Membuat dan mengonfigurasi akun layanan untuk mode tanpa kunci

Bagian berikut berisi petunjuk untuk membuat akun layanan yang diperlukan dan memberikan peran yang diperlukan untuk mode tanpa kunci. Untuk mengetahui daftar akun layanan dan peran yang diperlukan, lihat tabel di bagian sebelumnya.

Membuat akun layanan

Untuk membuat akun layanan untuk mode tanpa kunci, gunakan langkah-langkah berikut:

  1. Di workstation admin, login ke Google Cloud CLI:

    gcloud auth login
    
  2. Atau, buat akun layanan administratif:

    Nama akun layanan ADMIN_SA bersifat arbitrer. Anda bahkan dapat menggunakan akun layanan yang ada, jika akun tersebut memiliki peran yang diidentifikasi dalam tabel di bagian sebelumnya, tetapi hal ini tidak direkomendasikan karena bertentangan dengan prinsip hak istimewa terendah.

    gcloud iam service-accounts create ADMIN_SA \
        --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  3. Buat akun layanan standar untuk fitur tanpa kunci:

    Akun layanan standar untuk fitur tanpa kunci memiliki nama yang telah ditentukan sebelumnya yang dapat disesuaikan, jika Anda mau.

    gcloud iam service-accounts create baremetal-controller \
        --project=PROJECT_ID
    
    gcloud iam service-accounts create baremetal-cloud-ops \
        --project=PROJECT_ID
    
    gcloud iam service-accounts create baremetal-gcr \
        --project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Menambahkan binding kebijakan Identity and Access Management untuk akun layanan

  1. Tambahkan binding kebijakan IAM untuk peran yang diperlukan untuk akun layanan ADMIN_SA:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/gkehub.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/logging.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.dashboardEditor
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/iam.serviceAccountAdmin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/iam.serviceAccountTokenCreator
    
  2. Tambahkan binding kebijakan IAM untuk peran yang diperlukan untuk akun layanan baremetal-controller:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/gkehub.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.dashboardEditor
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/serviceusage.serviceUsageViewer
    
  3. Tambahkan binding kebijakan IAM untuk peran yang diperlukan untuk akun layanan baremetal-cloud-ops:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/logging.logWriter
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.dashboardEditor
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.metricWriter
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/opsconfigmonitoring.resourceMetadata.writer
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/stackdriver.resourceMetadata.writer
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/monitoring.viewer
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/serviceusage.serviceUsageViewer
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/kubernetesmetadata.publisher
    
  4. Berikan kemampuan kepada akun layanan baremetal-controller untuk membuat token akses atas nama akun layanan baremetal-gcr:

    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com \
        --member=serviceAccount:baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/iam.serviceAccountTokenCreator
    

Mengonfigurasi Workload Identity Federation untuk cluster Anda

Untuk memberikan akses Google Cloud dengan Workload Identity Federation untuk GKE, Anda membuat kebijakan izin IAM yang memberikan akses pada resource Google Cloud tertentu kepada akun utama yang sesuai dengan identitas aplikasi Anda. Dalam hal ini, Workload Identity Federation memberikan akses ke operator tertentu di cluster. Untuk mengetahui informasi selengkapnya tentang Workload Identity Federation untuk GKE, lihat Workload Identity Federation dalam dokumentasi IAM.

Menambahkan binding kebijakan IAM untuk operator cluster

Perintah berikut memberi akun layanan Kubernetes anthos-cluster-operator kemampuan untuk meniru identitas akun layanan baremetal-controller dan berinteraksi dengan resource Google Cloud atas nama cluster:

  1. Untuk setiap cluster tanpa kunci (atau cluster tanpa kunci yang direncanakan), termasuk cluster bootstrap, berikan kemampuan kepada anthos-cluster-operator di cluster untuk meniru akun layanan baremetal-controller:

    Dalam perintah berikut, principalSet terdiri dari kumpulan identitas beban kerja dan akun layanan Kubernetes, anthos-cluster-operator, di namespace kube-system.

    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-controller@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/anthos-cluster-operator \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    

    Ganti kode berikut:

  2. Verifikasi binding kebijakan untuk akun layanan baremetal-controller:

    gcloud iam service-accounts get-iam-policy \
        baremetal-controller@PROJECT_ID.iam.gserviceaccount.com
    

    Responsnya akan terlihat seperti berikut:

    bindings:
    - members:
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/anthos-cluster-operator
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/anthos-cluster-operator
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/anthos-cluster-operator
      role: roles/iam.workloadIdentityUser
    etag: BwYoN3QLig0=
    version: 1
    

Menambahkan binding kebijakan IAM untuk operator Google Cloud Observability

Perintah berikut memberi akun layanan Kubernetes Google Cloud Observability berikut kemampuan untuk meniru akun layanan baremetal-cloud-ops dan berinteraksi dengan resource Google Cloud atas nama cluster:

  • cloud-audit-logging
  • gke-metrics-agent
  • kubestore-collector
  • metadata-agent
  • stackdriver-log-forwarder
  1. Untuk setiap cluster tanpa kunci (atau cluster tanpa kunci yang direncanakan), termasuk cluster bootstrap, berikan kemampuan kepada operator Google Cloud Observability di cluster tersebut untuk meniru akun layanan baremetal-cloud-ops:

    Dalam setiap perintah berikut, principalSet terdiri dari kumpulan identitas beban kerja dan akun layanan Kubernetes, seperti cloud-audit-logging, di namespace kube-system.

    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/cloud-audit-logging \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    
    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/gke-metrics-agent \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    
    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/kubestore-collector \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    
    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/metadata-agent \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    
    gcloud iam service-accounts add-iam-policy-binding \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com \
        --member=principalSet://iam.googleapis.com/projects/PROJECT_NUM/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/attribute.fleetclusteridentity/projects/PROJECT_ID/locations/REGION/memberships/CLUSTER_NAME/ns/kube-system/sa/stackdriver-log-forwarder \
        --role=roles/iam.workloadIdentityUser \
        --project=PROJECT_ID
    
  2. Verifikasi binding kebijakan untuk akun layanan baremetal-cloud-ops:

    gcloud iam service-accounts get-iam-policy \
        baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com
    

    Responsnya akan terlihat seperti berikut:

    bindings:
    - members:
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/cloud-audit-logging
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/gke-metrics-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/kubestore-collector
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/metadata-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/bmctl-admin-ws/kube-system/stackdriver-log-forwarder
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/cloud-audit-logging
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/gke-metrics-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/kubestore-collector
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/metadata-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/admin-cluster/kube-system/stackdriver-log-forwarder
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/cloud-audit-logging
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/gke-metrics-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/kubestore-collector
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/metadata-agent
      - principalSet://iam.googleapis.com/projects/112233445566/locations/global/workloadIdentityPools/my-project.svc.id.goog/attribute.fleetclusteridentity/user-cluster/kube-system/stackdriver-log-forwarder
      role: roles/iam.workloadIdentityUser
    etag: BwYhT4gL-dY=
    version: 1
    

Konfigurasi cluster

Perbedaan konfigurasi cluster yang paling jelas untuk cluster yang menggunakan mode tanpa kunci adalah Anda tidak menentukan jalur ke kunci akun layanan yang didownload.

  1. Saat Anda mengisi setelan cluster dalam file konfigurasi, biarkan jalur kunci akun layanan di bagian kredensial kosong seperti yang ditunjukkan dalam contoh berikut:

    gcrKeyPath:
    sshPrivateKeyPath: /home/USERNAME/.ssh/id_rsa
    gkeConnectAgentServiceAccountKeyPath:
    gkeConnectRegisterServiceAccountKeyPath:
    cloudOperationsServiceAccountKeyPath:
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: cluster-CLUSTER_NAME
    ---
    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: cluster-CLUSTER_NAME
    spec:
      type: admin
      profile: default
      anthosBareMetalVersion: 1.30.0-gke.1930
      ...
    
  2. Secara opsional, tetapkan nama kustom untuk akun layanan mode tanpa kunci:

    Dengan menentukan nama kustom, Anda dapat menggunakan akun layanan yang ada. Dengan menentukan nama kustom yang sama untuk lebih dari satu akun layanan, Anda dapat menggabungkan ke lebih sedikit akun layanan.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: cluster-CLUSTER_NAME
      annotations:
        baremetal.cluster.gke.io/controller-service-account: "CUSTOM_CONTROLLER_GSA"
        baremetal.cluster.gke.io/cloud-ops-service-account: "CUSTOM_CLOUD_OPS_GSA"
        baremetal.cluster.gke.io/gcr-service-account: "CUSTOM_GCR_GSA"
    spec:
      type: admin
      profile: default
      anthosBareMetalVersion: 1.30.0-gke.1930
        ...
    

Operasi cluster

Jika Anda siap membuat, mengupgrade, atau menghapus cluster mode tanpa kunci, gunakan langkah-langkah berikut:

  1. Login ke Google Cloud CLI:

    gcloud auth login
    
  2. Di workstation admin, buat dan download kunci untuk akun layanan ADMIN_SA:

    gcloud iam service-accounts keys create TMP_KEY_FILE_PATH \
        --iam-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com
    

    Ganti TMP_KEY_FILE_PATH dengan jalur, termasuk nama file, dari file kunci yang didownload.

  3. Beri otorisasi akses ke Google Cloud dengan akun layanan ADMIN_SA:

    gcloud auth activate-service-account ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com \
        --key-file=TMP_KEY_FILE_PATH
    
  4. Hapus file kunci JSON yang didownload:

    rm TMP_KEY_FILE_PATH
    
  5. Di workstation admin, buat variabel lingkungan GCP_ACCESS_TOKEN dengan nilai token akses yang dibuat oleh akun layanan ADMIN_SA:

    export GCP_ACCESS_TOKEN=$(gcloud auth print-access-token \
        --impersonate-service-account=ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)
    

    Secara default, token akses memiliki masa berlaku 1 jam.

  6. Pastikan token dihasilkan oleh akun layanan ADMIN_SA dengan masa berlaku yang benar:

    curl "https://oauth2.googleapis.com/tokeninfo?access_token=$GCP_ACCESS_TOKEN"
    

    Responsnya akan menyertakan baris yang terlihat seperti berikut:

    ...
    "expires_in": "3582",
    "email": "ADMIN_SA@PROJECT_ID.iam.gserviceaccount.com)",
    ...
    

    Nilai masa berlaku dalam hitungan detik dan harus kurang dari 3600, yang menunjukkan bahwa masa berlaku token kurang dari satu jam.

  7. Jalankan perintah bmctl untuk membuat, mengupgrade, atau menghapus cluster mode tanpa kunci:

    Jika bmctl mendeteksi bahwa variabel lingkungan GCP_ACCESS_TOKEN telah ditetapkan, bmctl akan melakukan validasi token. Jika token valid, bmctl akan menggunakannya untuk operasi cluster mode tanpa kunci.

    Untuk cluster yang menggunakan mode tanpa kunci, perintah berikut mengharuskan variabel lingkungan GCP_ACCESS_TOKEN ditetapkan ke token akses aktif yang valid:

    • bmctl create cluster -c CLUSTER_NAME
    • bmctl reset cluster -c CLUSTER_NAME
    • bmctl upgrade cluster -c CLUSTER_NAME

Batasan

Meskipun mode tanpa kunci masih dalam Pratinjau, fitur berikut tidak didukung untuk digunakan dengan cluster yang berjalan dalam mode tanpa kunci:

  • Menggunakan server proxy
  • Kontrol Layanan VPC

Langkah selanjutnya