Kontrol Layanan VPC untuk Cloud Service Mesh (Terkelola)

Cloud Service Mesh (Terkelola) mendukung Kontrol Layanan VPC sebagai fitur yang tersedia secara umum (GA) untuk platform kontrol baru.

Untuk memeriksa apakah platform kontrol Anda mendukung VPC Service Controls GA, periksa status fitur mesh langganan Anda untuk kondisi VPCSC_GA_SUPPORTED.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Outputnya mirip dengan:

(...)
membershipStates:
  projects/FLEET_PROJECT_NUMBER/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID:
    servicemesh:
      conditions:
      - code: VPCSC_GA_SUPPORTED
        details: This control plane supports VPC Service Controls GA.
        documentationLink: http://cloud.google.com/service-mesh/docs/managed/VPC Service Controls
        severity: INFO
(...)

Jika Anda memiliki bidang kontrol yang ada yang tidak melaporkan kondisi VPCSC_GA_SUPPORTED dan ingin mengandalkan Kontrol Layanan VPC, hubungi dukungan.

Sebelum memulai

Kebijakan organisasi dan perimeter layanan Kontrol Layanan VPC dikonfigurasi di tingkat organisasi. Pastikan Anda telah diberi peran yang tepat untuk mengelola Kontrol Layanan VPC.

Menyiapkan perimeter layanan Kontrol Layanan VPC

Buat atau perbarui perimeter layanan:

  1. Tambahkan project cluster dan project fleet Anda ke perimeter layanan. Memiliki mesh layanan yang tersebar di beberapa perimeter Kontrol Layanan VPC tidak didukung.

  2. Tambahkan layanan yang dibatasi ke perimeter layanan.

    Anda harus menambahkan layanan tertentu ke daftar layanan yang diizinkan dan dibatasi di perimeter layanan, sehingga cluster Cloud Service Mesh Anda dapat mengaksesnya. Akses ke layanan ini juga dibatasi dalam jaringan Virtual Private Cloud (VPC) cluster Anda.

    Jika tidak menambahkan layanan ini, penginstalan Cloud Service Mesh dapat gagal atau tidak berfungsi dengan benar. Misalnya, jika Anda tidak menambahkan Mesh Configuration API ke perimeter layanan, penginstalan akan gagal dan beban kerja tidak akan menerima konfigurasi Envoy dari platform kontrol terkelola.

    Konsol

    1. Ikuti langkah-langkah di artikel Memperbarui perimeter layanan untuk mengedit perimeter.
    2. Klik halaman Edit VPC Service Perimeter.
    3. Di bagian Layanan yang Dibatasi, Layanan yang akan dilindungi, klik Tambahkan Layanan.
    4. Pada dialog Specify services to restrict, klik Filter services, lalu masukkan Mesh Configuration API.
    5. Pilih kotak centang layanan.
    6. Klik Tambahkan Mesh Configuration API.
    7. Ulangi langkah c - f, untuk menambahkan:
      • Cloud Service Mesh Certificate Authority API
      • GKE Hub API
      • Cloud IAM API
      • Cloud Monitoring API
      • Cloud Trace API
      • Cloud Monitoring API
      • Google Cloud Resource Manager API
      • Google Compute Engine API
      • Google Container Registry API
      • Artifact Registry API
      • Google Cloud Storage API
      • Cloud Logging API
      • Security Token Service API
    8. Klik Simpan.

    gcloud

    Untuk memperbarui daftar layanan yang dibatasi, gunakan perintah update dan tentukan layanan yang akan ditambahkan sebagai daftar yang dipisahkan koma:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com,logging.googleapis.com,sts.googleapis.com \
      --policy=POLICY_NAME

    Dengan keterangan:

    • PERIMETER_NAME adalah nama perimeter layanan yang ingin Anda perbarui.

    • POLICY_NAME adalah nama numerik kebijakan akses organisasi Anda. Contoh, 330193482019.

  3. Klik Layanan yang dapat diakses VPC dan tetapkan ke 'Semua layanan terbatas', sehingga layanan yang dibatasi pada langkah di atas masih dapat diakses dari dalam perimeter Kontrol Layanan VPC.

  4. Kecuali jika Anda menginstal Cloud Service Mesh dari jaringan dalam perimeter, tambahkan aturan masuk untuk mengizinkan identitas yang menjalankan akses perintah asmcli ke perimeter layanan.

    Untuk mengetahui informasi selengkapnya, lihat Memperbarui perimeter layanan.

Menginstal Cloud Service Mesh terkelola di perimeter Kontrol Layanan VPC

Ikuti langkah-langkah di halaman Mengonfigurasi Cloud Service Mesh terkelola. Kemudian, verifikasi bahwa platform kontrol telah berhasil disediakan dan tidak ada error terkait Kontrol Layanan VPC.

Pemecahan masalah

Tidak dapat membuat cluster dengan image GKE 1.22 terbaru

Ada masalah umum yang mencegah pembuatan cluster dengan image 1.22 terbaru di lingkungan yang dibatasi Kontrol Layanan VPC. Solusi untuk mengatasinya adalah membuat cluster ini terlebih dahulu dengan image saluran GKE default, lalu mengupgrade image:

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Penampung tidak dapat mendownload image-nya.

Hal ini dapat terjadi jika gambar berada di luar perimeter layanan. Pindahkan gambar ke bucket yang terletak di dalam perimeter, atau perbarui perimeter untuk menambahkan aturan Egress. Biasanya, aturan Egress dapat mengizinkan identitas yang dipilih untuk mengakses Container Registry API, Artifact Registry API, dan Cloud Storage API.

Kolom Status CRD ControlPlaneRevision menampilkan error Kontrol Layanan VPC

Jalankan perintah ini untuk mendapatkan info selengkapnya tentang error:

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Dengan keterangan:

  • PROJECT_ID adalah project ID project yang mengalami error.