Mengupgrade grup instance terkelola Apigee

Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Dokumen ini menjelaskan cara memeriksa dan mengupgrade grup instance terkelola Compute Engine yang merutekan traffic northbound ke Apigee.

Ringkasan

Beberapa deployment Apigee merutekan traffic proxy dari load balancer melalui MIG Compute Engine yang berjalan di project Anda dan meneruskan permintaan ke endpoint runtime Apigee, termasuk load balancing northbound dan health check aktif dengan Private Service Connect. Apigee tidak mengelola MIG ini. Sebagai praktik terbaik keamanan dan keandalan, Anda harus melacak, mengelola, dan mengupgrade MIG ini beserta VM-nya sendiri agar tetap mengikuti siklus proses sistem operasi Compute Engine.

Saat OS mencapai akhir siklus proses, Compute Engine akan menghapus alias kelompok image untuk VM baru. VM yang ada di MIG terus berjalan dan bertahan dari peristiwa pemeliharaan host langsung. Namun, jika MIG mencoba membuat VM baru selama penskalaan otomatis, autohealing, atau penggantian berkelanjutan, pembuatan VM akan gagal karena kelompok image sumber tidak lagi ditemukan. Jika VM proxy yang responsif menjadi tidak tersedia, load balancer akan menampilkan error HTTP 502 Bad Gateway dan traffic API akan berhenti.

Sebelum memulai

Perintah dalam dokumen ini adalah contoh. Deployment Anda mungkin menggunakan tag jaringan, jenis mesin, ukuran disk, metadata, atau jumlah VM yang berbeda. Periksa konfigurasi yang ada terlebih dahulu dan sesuaikan flag perintah agar sesuai dengan lingkungan Anda.

Ganti placeholder berikut dalam contoh perintah dengan nilai dari lingkungan Anda:

  • PROJECT_ID: project ID Google Cloud tempat MIG dan template instance Anda di-deploy.
  • REGION: region Compute Engine MIG Anda.
  • EXISTING_MIG_NAME: nama MIG yang ada.
  • OLD_TEMPLATE_NAME: nama template instance yang dilampirkan ke EXISTING_MIG_NAME.
  • NEW_TEMPLATE_NAME: nama template instance baru yang Anda buat.
  • VPC_NAME: nama jaringan VPC yang digunakan oleh MIG Anda.
  • VPC_SUBNET: nama subnet VPC di REGION yang digunakan oleh MIG Anda.
  • IMAGE_FAMILY: kelompok OS image yang didukung dari detail sistem operasi Compute Engine.
  • IMAGE_PROJECT: project image yang berisi IMAGE_FAMILY.
  • APIGEE_ENDPOINT: alamat IP target yang dikonfigurasi dalam metadata ENDPOINT template instance yang ada.
  • STARTUP_SCRIPT_URL: URL Cloud Storage yang dikonfigurasi dalam metadata startup-script-url dari template instance yang ada.

Memeriksa MIG dan template instance Anda

MIG perutean Apigee biasanya menggunakan tag apigee-mig-proxy dan metadata ENDPOINT. Selesaikan langkah-langkah berikut untuk memeriksa MIG dan template instance Anda:

  1. Buat daftar MIG di project Anda dan identifikasi template instance yang terpasang:

    gcloud compute instance-groups managed list --project=PROJECT_ID \
      --format="table(name,region.basename(),zone.basename(),instanceTemplate.basename())"
    
  2. Periksa image OS sumber dari template instance yang ada. Tambahkan --region=REGION jika template bersifat regional:

    gcloud compute instance-templates describe OLD_TEMPLATE_NAME \
      --project=PROJECT_ID \
      --format="value(properties.disks[0].initializeParams.sourceImage)"
    
  3. Periksa jenis mesin, konfigurasi disk, jaringan, subnet, tag, dan metadata OLD_TEMPLATE_NAME agar Anda dapat mencocokkan setelan ini saat membuat template baru. Tambahkan --region=REGION jika template bersifat regional:

    gcloud compute instance-templates describe OLD_TEMPLATE_NAME \
      --project=PROJECT_ID \
      --format="yaml(properties.machineType,properties.disks,properties.networkInterfaces,properties.tags,properties.metadata)"
    

Membuat template instance baru dan menjalankan update berkelanjutan

Buat template instance baru dengan kelompok image OS yang didukung dan mulai update berkelanjutan pada MIG. Penggunaan --max-surge dengan --max-unavailable=0 menyediakan dan memverifikasi VM baru sebelum mengosongkan dan menghapus instance lama, sehingga mencegah gangguan traffic meskipun VM baru gagal dimulai karena kehabisan stok resource atau error konfigurasi.

  1. Buat template instance yang baru. Perintah berikut adalah contoh; sesuaikan jaringan, subnet, tag, jenis mesin, ukuran disk, dan metadata agar sesuai dengan konfigurasi template yang ada:

    gcloud compute instance-templates create NEW_TEMPLATE_NAME \
      --project=PROJECT_ID \
      --region=REGION \
      --network=VPC_NAME \
      --subnet=VPC_SUBNET \
      --tags=https-server,apigee-mig-proxy,gke-apigee-proxy \
      --machine-type=e2-medium \
      --image-family=IMAGE_FAMILY \
      --image-project=IMAGE_PROJECT \
      --boot-disk-size=20GB \
      --no-address \
      --metadata=ENDPOINT=APIGEE_ENDPOINT,startup-script-url=STARTUP_SCRIPT_URL
    

    Perintah ini membuat template instance global di projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME. Jika Anda lebih suka membuat template instance regional, tambahkan --instance-template-region=REGION dan gunakan projects/PROJECT_ID/regions/REGION/instanceTemplates/NEW_TEMPLATE_NAME pada langkah berikutnya.

  2. Mulai update bertahap pada MIG. Sesuaikan --max-surge jika diperlukan berdasarkan ukuran dan kuota MIG Anda:

    gcloud compute instance-groups managed rolling-action start-update EXISTING_MIG_NAME \
      --project=PROJECT_ID \
      --region=REGION \
      --version=template=projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME \
      --max-surge=3 \
      --max-unavailable=0
    
  3. Pastikan semua VM di MIG menjalankan NEW_TEMPLATE_NAME dan melaporkan status RUNNING:

    gcloud compute instance-groups managed list-instances EXISTING_MIG_NAME \
      --project=PROJECT_ID \
      --region=REGION
    

Langkah berikutnya