Menyiapkan resource Google Cloud

Halaman ini menjelaskan resource Google Cloud yang perlu Anda buat dan sebelum membuat cluster.

Sebelum memulai

  1. Membuat project Google Cloud dan akun penagihan.

  2. Jika Anda bukan pemilik project Google Cloud, mintalah pemilik project memberi Anda peran Identity and Access Management (IAM) berikut:

    Peran Tujuan
    roles/compute.viewer Wajib: Diperlukan saat bmctl memvalidasi clusterOperations.location dalam file konfigurasi cluster.
    roles/iam.serviceAccountAdmin Wajib: Diperlukan untuk membuat akun layanan yang diperlukan Google Distributed Cloud Anda butuhkan.
    roles/iam.securityAdmin Wajib: Diperlukan untuk memberikan peran IAM ke layanan yang diperlukan Google Distributed Cloud.
    roles/iam.serviceAccountKeyAdmin Wajib: Diperlukan untuk membuat file kunci JSON untuk akun layanan yang Google Distributed Cloud memerlukan
    roles/serviceusage.serviceUsageAdmin Wajib: Diperlukan untuk mengaktifkan Google API yang disediakan Google Distributed Cloud Anda butuhkan.
    roles/gkeonprem.admin Opsional: Diperlukan jika Anda ingin membuat cluster menggunakan GKE On-Prem API klien atau mengonfigurasi cluster yang akan dikelola dengan GKE On-Prem API.
    roles/gkehub.viewer
    roles/container.viewer
    Opsional: Diperlukan jika Anda ingin mengakses GKE Enterprise dan Halaman Google Kubernetes Engine di Konsol Google Cloud.

    Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Mengaktifkan API

Beberapa Google API harus diaktifkan di project Google Cloud terkait. Google Distributed Cloud menggunakan API saat membuat cluster. API merupakan juga perlu memelihara koneksi ke Google Cloud. Koneksi ke Google Cloud memungkinkan Google Distributed Cloud menggunakan Cloud Logging dan Cloud Monitoring dan fitur fleet seperti Cloud Service Mesh, Config Sync, Pengontrol Kebijakan, dan Pengontrol Konfigurasi.

Jika akan menggunakan alat bmctl untuk membuat cluster, Anda dapat menyertakan Flag --enable-apis saat Anda menjalankan bmctl create config, dan bmctl akan aktifkan API yang tercantum dalam perintah gcloud services enable berikut. Jika Anda akan menggunakan klien GKE On-Prem API untuk membuat cluster admin atau cluster pengguna, Anda harus mengaktifkan API sebelum membuat cluster.

Untuk mengaktifkan API, jalankan perintah berikut:

  1. Login ke Google Cloud CLI:

    gcloud auth login
    
  2. Mengaktifkan API berikut:

    gcloud services enable --project=PROJECT_ID \
        anthos.googleapis.com \
        anthosaudit.googleapis.com \
        anthosgke.googleapis.com \
        cloudresourcemanager.googleapis.com \
        compute.googleapis.com \
        connectgateway.googleapis.com \
        container.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        gkeonprem.googleapis.com \
        iam.googleapis.com \
        kubernetesmetadata.googleapis.com \
        logging.googleapis.com \
        monitoring.googleapis.com \
        opsconfigmonitoring.googleapis.com \
        serviceusage.googleapis.com \
        stackdriver.googleapis.com \
        storage.googleapis.com
    

    Dengan pengecualian gkeonprem.googleapis.com, Google API ini adalah yang diperlukan untuk proyek Anda. Dua API berikut diperlukan untuk versi Khusus 1.29 dan yang lebih baru:

    • compute.googleapis.com
    • kubernetesmetadata.googleapis.com

    Jika menginstal cluster di belakang proxy, Anda harus menambahkan banyak API ini ke daftar koneksi yang diizinkan. Untuk mengetahui daftar API dan endpoint yang yang harus ditambahkan ke daftar yang diizinkan beserta alasan aksesnya. Lihat Menginstal di belakang proxy .

  3. Untuk melihat API dan layanan yang diaktifkan di project Anda, jalankan perintah berikut berikut:

    gcloud services list --project=PROJECT_ID \
        --enabled
    

Konfigurasi akun layanan

Untuk menggunakan Google API, Google Distributed Cloud memerlukan service account yang dikonfigurasi dengan Peran IAM dalam project Google Cloud yang terkait. Sebagai, Anda harus membuat akun layanan terpisah untuk tujuan yang berbeda, terutama di lingkungan produksi.

Jika akan menggunakan alat bmctl untuk membuat cluster, Anda dapat menyertakan flag --create-service-accounts saat Anda menjalankan bmctl create config untuk bmctl membuat akun layanan dengan peran IAM yang diperlukan. Jika Anda akan menggunakan klien GKE On-Prem API untuk membuat cluster admin, secara default, perintah bmctl register bootstrap membuat akun layanan dengan peran IAM yang diperlukan saat Anda menjalankan perintah membuat cluster bootstrap.

Akun layanan juga diperlukan untuk pembuatan cluster pengguna, tetapi akun layanan akan dibuat dan dikonfigurasi saat membuat admin yang mengelola cluster pengguna.

Tabel berikut menjelaskan akun layanan yang dibuat secara otomatis:

Akun layanan Tujuan Peran
anthos-baremetal-gcr Google Distributed Cloud menggunakan akun layanan ini untuk mendownload image container dari Container Registry. Tidak ada
anthos-baremetal-connect Agen Connect menggunakan akun layanan ini untuk mempertahankan koneksi antara cluster Anda dan Google Cloud. Hal ini memungkinkan akses ke cluster dan pengelolaan workload fitur baru, termasuk Konsol Google Cloud hubungkan gateway untuk berinteraksi dengan cluster Anda. peran/gkehub.connect
anthos-baremetal-register Agen Connect menggunakan akun layanan ini untuk mendaftarkan cluster Anda ke fleet. peran/gkehub.admin
anthos-baremetal-cloud-ops Agen Stackdriver menggunakan akun layanan ini untuk mengekspor log dan metrik dari cluster ke Cloud Logging dan Cloud Monitoring. role/logging.logWriter
roles/monitoring.metricWriter
roles/stackdriver.resourceMetadata.writer
roles/opsconfigmonitoring.resourceMetadata.writer
role/monitoring.dashboardEditor
roles/monitoring.viewer
roles/serviceusage.serviceUsageViewer
roles/kubernetesmetadata.publisher

Mengonfigurasi akun layanan secara manual

Jika ingin, Anda dapat membuat akun layanan secara manual, mengonfigurasinya dengan peran yang diperlukan, dan mendownload file kunci JSON sebelum membuat cluster. Jika menggunakan bmctl untuk membuat cluster, Anda dapat menambahkan referensi ke File kunci JSON ke file konfigurasi cluster yang sesuai. Sebagai contoh, lihat Mengedit file konfigurasi. Jika menggunakan GKE On-Prem API untuk membuat cluster admin, Anda dapat menentukan file kunci saat Anda menjalankan bmctl register bootstrap untuk membuat cluster bootstrap.

Untuk membuat akun layanan dan file kunci:

  1. Di workstation admin, pastikan Anda berada di direktori baremetal.

  2. Login ke Google Cloud CLI jika Anda belum melakukannya:

    gcloud auth login
    
  3. Buat akun layanan:

    gcloud iam service-accounts create anthos-baremetal-gcr \
        --project=PROJECT_ID
    
    gcloud iam service-accounts create anthos-baremetal-connect \
        --project=PROJECT_ID
    
    gcloud iam service-accounts create anthos-baremetal-register \
        --project=PROJECT_ID
    
    gcloud iam service-accounts create anthos-baremetal-cloud-ops \
        --project=PROJECT_ID
    
  4. Berikan peran IAM yang diperlukan pada akun layanan:

    gcloud projects add-iam-policy-binding  PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-connect@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/gkehub.connect"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-register@PROJECT_ID.iam.gserviceaccount.com" \
        --role=roles/gkehub.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/logging.logWriter"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/monitoring.metricWriter"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/stackdriver.resourceMetadata.writer"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/opsconfigmonitoring.resourceMetadata.writer"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/monitoring.dashboardEditor"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/monitoring.viewer"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/serviceusage.serviceUsageViewer"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/kubernetesmetadata.publisher"
    
  5. Download file kunci JSON akun layanan:

    gcloud iam service-accounts keys create anthos-baremetal-gcr.json \
        --project=PROJECT_ID \
        --iam-account=anthos-baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com
    
    gcloud iam service-accounts keys create connect-agent.json \
        --project=PROJECT_ID \
        --iam-account=anthos-baremetal-connect@PROJECT_ID.iam.gserviceaccount.com
    
    gcloud iam service-accounts keys create connect-register.json \
        --project=PROJECT_ID \
        --iam-account=anthos-baremetal-register@PROJECT_ID.iam.gserviceaccount.com
    
    gcloud iam service-accounts keys create anthos-baremetal-cloud-ops.json \
        --project=PROJECT_ID \
        --iam-account=anthos-baremetal-cloud-ops@PROJECT_ID.iam.gserviceaccount.com
    

Mengonfigurasi akun layanan yang dapat mengakses bucket Cloud Storage

Anda menggunakan akun layanan dan file kunci untuk mengakses Cloud Storage. Anda dapat menggunakan akun layanan ini agar snapshot cluster dapat otomatis diupload ke bucket Cloud Storage, atau untuk mengimpor image virtual machine (VM) dari bucket Cloud Storage untuk digunakan dengan VM Runtime di GDC.

Untuk membuat akun layanan dan file kunci, selesaikan langkah-langkah berikut:

  1. Pastikan Anda berada di direktori baremetal.

  2. Login ke Google Cloud CLI jika Anda belum melakukannya:

    gcloud auth login
    
  3. Jika belum, aktifkan Cloud Storage API, storage.googleapis.com di project Google Cloud Anda:

    gcloud services enable --project=PROJECT_ID \
        storage.googleapis.com
    
  4. Buat akun layanan yang dapat digunakan cluster Anda untuk mengakses Bucket Cloud Storage:

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

    Ganti SA_NAME dengan nama akun layanan yang baru. Ini nama akun layanan muncul di alamat email yang disediakan selama dibuat, dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com.

  5. Buat peran khusus dengan izin berikut:

    • storage.buckets.create
    • storage.buckets.get
    • storage.buckets.list
    • storage.objects.create
    • resourcemanager.projects.get
    gcloud iam roles create ROLE_ID \
        --permissions=storage.buckets.create,storage.buckets.get,storage.buckets.list,storage.objects.create \
        --project=PROJECT_ID
    

    Ganti ROLE_ID dengan nama peran khusus baru, seperti snapshotUpload. Jalur lengkap peran khusus ini memiliki format projects/PROJECT_ID/roles/ROLE_ID.

  6. Tambahkan binding kebijakan ke akun layanan:

    gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --member=serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --role='projects/PROJECT_ID/roles/ROLE_ID'
    
  7. Download file kunci JSON akun layanan:

    gcloud iam service-accounts keys create OUTPUT_FILE \
        --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
    

Untuk mengetahui informasi selengkapnya tentang cara membuat snapshot cluster secara otomatis menguploadnya ke bucket Cloud Storage, lihat Buat snapshot untuk membantu mendiagnosis masalah cluster.

Untuk informasi lebih lanjut tentang cara mengimpor gambar VM dari Cloud Storage, lihat Buat dan gunakan kredensial untuk mengimpor gambar dari Cloud Storage untuk VM Runtime di GDC.