Menerapkan, melihat, dan menghapus konfigurasi stateful di MIG


Setelah membuat atau mengupdate konfigurasi stateful untuk grup instance terkelola stateful (MIG), Anda dapat:

  • Menerapkan konfigurasi stateful agar dapat diterapkan.
  • Melihat konfigurasi stateful serta status efektif yang dipertahankan dari instance terkelola Anda.
  • Menghapus konfigurasi stateful.

Sebelum memulai

  • Tinjau kapan harus menggunakan MIG stateful dan cara kerja MIG stateful.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Menerapkan konfigurasi stateful ke instance terkelola

Konfigurasi stateful Anda berlaku setelah Anda atau MIG menerapkannya.

  • Perubahan konfigurasi dalam kebijakan stateful secara otomatis diterapkan ke semua instance terkelola.
  • Perubahan konfigurasi dalam konfigurasi per instance dapat diterapkan secara manual atau otomatis.

Untuk informasi konseptual selengkapnya, baca Cara konfigurasi stateful diterapkan ke instance terkelola.

Menerapkan konfigurasi dari kebijakan stateful

Semua perubahan konfigurasi dalam kebijakan stateful secara otomatis diterapkan ke semua instance terkelola. Update pada kebijakan stateful tidak akan mengganggu instance virtual machine (VM) yang berjalan.

Memverifikasi apakah kebijakan stateful telah diterapkan

Memverifikasi semua VM

Verifikasi apakah perubahan pada kebijakan stateful telah diterapkan ke semua VM dengan memeriksa apakah MIG telah menjadi stabil setelah perubahan.

Memverifikasi VM tertentu

Verifikasi apakah perubahan pada kebijakan stateful telah diterapkan ke VM tertentu di MIG dengan melihat status yang dipertahankan instance terkelola dan memeriksa apakah semua disk dari kebijakan stateful ada di salah satu preservedStateFromPolicy atau preservedStateFromConfig untuk instance terkelola.

Menerapkan konfigurasi stateful dari konfigurasi per instance

Anda dapat menerapkan konfigurasi baru atau yang diupdate per instance, baik secara manual maupun otomatis. Gunakan salah satu pendekatan berikut:

  • Terapkan konfigurasi yang diupdate secara selektif pada instance tertentu: Gunakan pendekatan ini untuk mengontrol gangguan, waktu, dan urutan update.
  • Terapkan konfigurasi yang diupdate secara otomatis dengan update berkelanjutan: Gunakan pendekatan ini untuk menerapkan perubahan konfigurasi pada instance terkelola secara otomatis dan berkelanjutan.

Kedua metode ini menerapkan update yang belum selesai dari konfigurasi per instance dan versi atau template instance yang belum diterapkan, jika relevan.

Menerapkan konfigurasi yang diupdate secara selektif ke instance tertentu

Untuk menerapkan konfigurasi per instance secara manual ke instance tertentu, gunakan langkah-langkah berikut:

  1. Konfigurasikan kebijakan update oportunistik untuk mencegah race dengan update proaktif otomatis.
  2. Buat atau update konfigurasi per instance.
  3. Terapkan konfigurasi yang telah diupdate ke VM tertentu dengan secara selektif mengupdate VM tersebut.

Atau, Anda dapat menggunakan pendekatan berikut:

  • Saat membuat atau mengupdate konfigurasi per instance dengan gcloud CLI, gunakan flag --update-instance untuk segera menerapkan konfigurasi ke instance terkelola yang terkait.
  • Saat membuat instance baru secara manual, tentukan nama dan konfigurasi per instance-nya pada waktu pembuatan. MIG langsung menerapkan konfigurasi pada pembuatan VM.

Menerapkan konfigurasi yang diupdate secara otomatis dengan update berkelanjutan

Konfigurasikan update berkelanjutan yang proaktif untuk MIG Anda guna menerapkan update konfigurasi secara otomatis ke instance terkelola yang sesuai secara bertahap.

MIG stateful memerlukan konfigurasi berikut untuk kebijakan update proaktif:

Konfigurasi ini memastikan bahwa MIG membuat ulang instance stateful yang sudah ada dan tidak menggantinya dengan instance lain.

Anda juga dapat memastikan bahwa perubahan dalam konfigurasi per instance diterapkan tanpa menghentikan instance, jika memungkinkan, dengan menetapkan tindakan minimal ke REFRESH dalam kebijakan update grup.

Memverifikasi apakah konfigurasi per instance telah diterapkan

Memverifikasi semua konfigurasi per instance

Untuk memverifikasi apakah semua konfigurasi per instance di MIG telah diterapkan, lihat status stateful MIG dan periksa status.stateful.perInstanceConfigs.allEffective:

  • true: Semua konfigurasi per instance dalam grup telah diterapkan dan berlaku, atau grup tidak memiliki konfigurasi per instance.
  • false: Grup memiliki setidaknya satu konfigurasi per instance yang belum berlaku: entah Anda belum menerapkannya atau sedang dalam proses penerapan.

Memverifikasi konfigurasi per instance tertentu

Untuk memverifikasi apakah perubahan pada konfigurasi per instance tertentu telah diterapkan ke VM yang sesuai, lihat semua konfigurasi per instance dan periksa kolom status konfigurasi per instance tertentu:

  • UNAPPLIED: Konfigurasi per instance dibuat atau diupdate dan Anda perlu menerapkannya ke VM dengan update instance manual.
  • APPLYING: MIG sedang menerapkan konfigurasi per instance baru atau yang diupdate ke VM.
  • EFFECTIVE: Konfigurasi per instance telah berhasil diterapkan ke VM dan sudah berlaku.
  • UNAPPLIED_DELETION: Konfigurasi per instance disetel untuk dihapus. Anda harus menerapkan update ini ke VM dengan update instance manual agar update dapat diterapkan.
  • DELETING: Konfigurasi per instance sedang dihapus dan perubahan sedang diterapkan ke VM.

Melihat konfigurasi stateful dan status yang dipertahankan

Dapatkan informasi tentang MIG stateful Anda untuk tugas berikut:

  • Memverifikasi apakah MIG memiliki konfigurasi stateful serta apakah konfigurasi ini diterapkan dan efektif.
  • Melihat konfigurasi stateful yang umum untuk semua instance di MIG, yang disimpan dalam kebijakan stateful.
  • Melihat konfigurasi stateful yang khusus untuk instance individual, yang disimpan dalam konfigurasi per instance, dan memeriksa apakah konfigurasi ini diterapkan dan efektif.
  • Melihat status dipertahankan yang efektif untuk setiap instance dalam MIG berdasarkan kebijakan stateful dan konfigurasi yang diterapkan per instance.

Melihat status konfigurasi stateful MIG

MIG dianggap stateful jika memiliki konfigurasi stateful, yaitu, kebijakan stateful atau setidaknya satu konfigurasi per instance yang tidak kosong.

Jika Anda membuat kebijakan stateful, MIG akan otomatis menerapkannya agar berlaku. Jika membuat konfigurasi per instance, Anda dapat memutuskan untuk menerapkannya nanti.

Untuk memverifikasi apakah MIG memiliki konfigurasi stateful dan semua konfigurasi per instance diterapkan, lihat status stateful MIG menggunakan gcloud CLI atau REST.

gcloud

Untuk memverifikasi apakah MIG memiliki konfigurasi stateful, lihat status stateful-nya dengan menjalankan perintah gcloud compute instance-groups managed describe. Contoh:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

Dalam output ini:

  • hasStatefulConfig:
    • true: Grup memiliki konfigurasi stateful, yaitu, grup memiliki kebijakan stateful yang tidak kosong atau setidaknya satu konfigurasi per-instance yang tidak kosong.
    • false: Tidak ada konfigurasi stateful.
  • perInstanceConfigs.allEffective:
    • true: Semua konfigurasi per instance dalam grup telah diterapkan dan sudah efektif, atau grup tidak memiliki konfigurasi per instance.
    • false: Grup memiliki setidaknya satu konfigurasi per instance yang belum efektif: entah Anda belum menerapkannya atau sedang dalam proses penerapan.

REST

Untuk memverifikasi apakah MIG memiliki konfigurasi stateful, gunakan metode instanceGroupManagers.get atau regionInstanceGroupManagers.get dan periksa kolom status.stateful. Contoh:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Metode ini akan menampilkan objek instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

Dalam output ini:

  • hasStatefulConfig:
    • true: Grup memiliki konfigurasi stateful, yaitu, grup memiliki kebijakan stateful yang tidak kosong atau setidaknya satu konfigurasi per-instance yang tidak kosong.
    • false: Tidak ada konfigurasi stateful.
  • perInstanceConfigs.allEffective:
    • true: Semua konfigurasi per instance dalam grup telah diterapkan dan efektif, atau grup tidak memiliki konfigurasi per instance.
    • false: Grup memiliki setidaknya satu konfigurasi per instance yang belum efektif: entah Anda belum menerapkannya atau sedang dalam proses penerapan.

Melihat kebijakan stateful MIG

Lihat kebijakan stateful MIG dengan memeriksa detail grup menggunakan konsol Google Cloud, gcloud CLI, atau REST.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance groups.

    Buka Grup instance

  2. Klik nama grup instance tempat Anda ingin melihat kebijakan stateful.

  3. Buka tab Detail.

  4. Di bagian Resource stateful, semua resource dalam kebijakan stateful telah dicantumkan.

gcloud

Untuk melihat kebijakan stateful MIG, jalankan perintah gcloud compute instance-groups managed describe. Contoh:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Untuk melihat kebijakan stateful MIG, gunakan metode instanceGroupManagers.get atau regionInstanceGroupManagers.get dan periksa kolom statefulPolicy. Contoh:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Metode ini akan menampilkan objek instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Melihat konfigurasi per instance MIG

Lihat konfigurasi per instance dengan mencantumkan semua konfigurasi per instance dalam MIG. Gunakan gcloud CLI atau REST.

Jika Anda memutuskan untuk menerapkan konfigurasi per instance secara manual, beberapa konfigurasi per instance mungkin belum diterapkan ke instance terkait, sehingga status instance yang dipertahankan mungkin belum mencerminkan konfigurasi per instance Anda. Untuk informasi selengkapnya, lihat Menerapkan konfigurasi per instance dan Memverifikasi apakah konfigurasi per instance telah diterapkan

gcloud

Buat daftar semua konfigurasi per instance dalam MIG dengan menjalankan perintah gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Ganti kode berikut:

  • NAME: nama MIG untuk mencantumkan konfigurasi per instance dari

Filter daftar menggunakan flag --filter standar.

Misalnya, untuk mencantumkan semua konfigurasi per instance di example-group:

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Cantumkan semua konfigurasi per instance dalam MIG dengan memanggil metode instanceGroupManagers.listPerInstanceConfigs atau regionInstanceGroupManagers.listPerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan
  • ZONE: zona tempat MIG berada (berlaku untuk MIG zona)
    • Untuk MIG regional, ganti zones/ZONE dengan regions/REGION dan tentukan region MIG
  • NAME: nama MIG untuk mencantumkan konfigurasi per instance dari

Misalnya, untuk mencantumkan semua konfigurasi per instance di example-group:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

Metode ini akan menampilkan daftar konfigurasi per instance dalam grup:

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Melihat status instance terkelola yang dipertahankan

Saat konfigurasi stateful diterapkan, MIG akan membuat dan menetapkan status efektif yang dipertahankan setiap instance terkelola dalam dua kolom:

  • preservedStateFromPolicy: Berisi status dipertahankan yang dibuat berdasarkan kebijakan stateful, tidak termasuk konfigurasi stateful yang diganti oleh konfigurasi per instance.
  • preservedStateFromConfig: Berisi status dipertahankan yang dihasilkan berdasarkan konfigurasi per instance yang telah diterapkan ke instance terkelola.

Untuk melihat status dipertahankan yang efektif dalam setiap instance terkelola di MIG, cantumkan instance terkelola menggunakan gcloud CLI atau REST.

gcloud

Periksa instance terkelola mana yang telah mempertahankan status dengan menggunakan perintah gcloud compute instance-groups managed list-instances dan melihat nilai di kolom PRESERVED_STATE. Contoh:

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

Kolom PRESERVED_STATE dapat berisi nilai berikut:

  • POLICY: Instance terkelola telah mempertahankan status berdasarkan kebijakan stateful.
  • CONFIG: Instance terkelola telah mempertahankan status berdasarkan konfigurasi per instance.
  • Tidak ada nilai: Instance pengelolaan tidak memiliki status yang dipertahankan dan bersifat stateless.

Lihat status dipertahankan instance terkelola tertentu dengan menjalankan perintah gcloud compute instance-groups managed describe-instance.

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG
  • INSTANCE_NAME: nama instance terkelola dalam grup

Misalnya, untuk melihat status yang dipertahankan instance terkelola node-1 di example-group, jalankan:

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Cantumkan instance terkelola untuk melihat setiap status yang dipertahankan instance dengan memanggil metode instanceGroupManagers.listManagedInstances atau regionInstanceGroupManagers.listManagedInstances.

Misalnya, untuk mencantumkan semua instance terkelola:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

Metode ini menampilkan daftar instance terkelola dalam grup, yang berisi informasi tentang statusnya yang dipertahankan:

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Melihat resource alamat IP statis yang terkait

Untuk mengambil alamat IP statis (resource Address) yang ditetapkan ke instance terkelola di MIG, lihat status yang dipertahankan instance tersebut. Anda dapat melihat alamat statis di kolom ipAddress.address.

Jika MIG atau instance sudah tidak ada lagi, tetapi reservasi alamat IP masih ada, Anda dapat mencantumkan internal statis atau eksternal alamat reservasi.

Menghapus konfigurasi stateful

Menghapus konfigurasi stateful berguna dalam skenario berikut:

  • Anda telah memigrasikan VM mandiri ke MIG stateful dan sekarang ingin memindahkan konfigurasi stateful dari konfigurasi per instance ke kebijakan stateful umum.
  • Anda telah mendesain ulang workload dan tidak perlu lagi mempertahankan status apa pun di instance VM.
  • Anda telah membuat konfigurasi stateful untuk tujuan pengujian dan sekarang ingin membersihkannya.

Bagian ini menjelaskan cara menghapus kebijakan stateful sepenuhnya pada konfigurasi per instance. Jika Anda hanya perlu menghapus subset kebijakan stateful atau konfigurasi per instance, lihat bagian berikut:

Menghapus kebijakan stateful

Saat menghapus kebijakan stateful, Anda akan memengaruhi semua VM di MIG. MIG memperlakukan semua resource stateful yang dikonfigurasi dalam kebijakan stateful sebagai stateless, kecuali jika resource tersebut juga dikonfigurasi dalam konfigurasi per instance untuk instance individual. Pada pembuatan ulang instance, autohealing, atau operasi update berikutnya, resource yang sekarang stateless dapat kehilangan statusnya:

  • Disk dapat dihapus dan dibuat ulang dari sumber, yang ditentukan dalam template instance.
  • Alamat IP mungkin berubah.

Untuk informasi konseptual, lihat cara menghapus resource dari kebijakan stateful memengaruhi status yang dipertahankan.

gcloud

Untuk menghapus semua konfigurasi dari kebijakan stateful, jalankan perintah gcloud compute instance-groups managed update dengan flag yang berlaku. Flag yang berlaku adalah sebagai berikut:

  • --remove-stateful-disks, lalu cantumkan nama perangkat semua disk stateful yang dikonfigurasi.
  • --remove-stateful-internal-ips, dan cantumkan nama antarmuka jaringan semua alamat IP internal stateful yang dikonfigurasi.
  • --remove-stateful-external-ips, dan cantumkan nama antarmuka jaringan semua alamat IP eksternal stateful yang dikonfigurasi.

Misalnya, jika kebijakan stateful berisi konfigurasi untuk dua disk stateful dengan nama perangkat data-disk dan logs-disk, serta berisi konfigurasi untuk alamat IP internal dan eksternal stateful dalam jaringan nic0, jalankan perintah berikut untuk menghapus kebijakan:

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

MIG menghapus konfigurasi stateful data-disk dan logs-disk dari kebijakan stateful, serta konfigurasi IP internal dan eksternal stateful untuk antarmuka jaringan nic0. Akibatnya, MIG akan menghapus disk dan alamat IP statis tersebut dari status semua instance terkelola yang dipertahankan dalam grup secara otomatis dan asinkron, kecuali jika disk atau alamat IP tersebut juga dikonfigurasi dalam konfigurasi per instance.

REST

Untuk menghapus semua konfigurasi dalam kebijakan stateful, tetapkan kolom statefulPolicy untuk null dengan menggunakan instanceGroupManagers.patch atau regionInstanceGroupManagers.patch.

Misalnya, panggilan berikut akan menghapus konfigurasi kebijakan stateful:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

{
  "statefulPolicy": null
}

MIG menghapus konfigurasi kebijakan stateful dan menghapus resource stateful dari status yang dipertahankan semua instance terkelola dalam grup secara otomatis dan asinkron, kecuali jika resource juga dikonfigurasi dalam konfigurasi per instance.

Menghapus konfigurasi stateful untuk VM tertentu

Menghapus konfigurasi stateful untuk VM tertentu dilakukan dalam dua langkah:

  1. Hapus konfigurasi per instance yang terkait.
  2. Terapkan perubahan pada instance terkelola. Anda dapat memilih apakah perubahan harus diterapkan secara manual atau otomatis.

Setelah perubahan diterapkan, semua item stateful yang sebelumnya dikonfigurasi dalam konfigurasi per instance kini diperlakukan sebagai stateless, kecuali jika item tersebut juga dikonfigurasi dalam kebijakan stateful grup. Saat VM selanjutnya dibuat ulang atau diupdate, status item akan hilang:

  • Disk dapat dilepas atau dibuat ulang dari sumbernya di template instance.
  • Metadata dihapus atau direset ke nilai yang ditentukan dalam template instance.
  • Alamat IP mungkin berubah.

Untuk mengetahui informasi selengkapnya, lihat pengaruh penghapusan item dari konfigurasi per instance terhadap status yang dipertahankan.

gcloud

Untuk menghapus konfigurasi per instance sepenuhnya, jalankan perintah gcloud compute instance-groups managed instance-configs delete.

Gunakan flag --update-instance opsional untuk segera menerapkan perubahan ke instance (default). Jika Anda menetapkan tanda --no-update-instance, perubahan akan diterapkan saat Anda membuat ulang atau mengupdate instance berikutnya.

Flag --instance-update-minimal-action hanya dapat digunakan bersama dengan flag --update-instance.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: Nama MIG.
  • INSTANCE_NAME: Nama instance yang konfigurasi per instance-nya akan dihapus
  • MINIMAL_ACTION: Tindakan minimal yang akan dilakukan saat menerapkan update konfigurasi per instance ke VM. Nilai ini harus berupa salah satu dari berikut:
    • none: Tidak ada tindakan.
    • refresh: Menerapkan update yang dapat diterapkan tanpa menghentikan VM.
    • restart: Menghentikan VM, lalu memulainya lagi.
    • replace: Membuat ulang VM.

Misalnya, untuk menghapus konfigurasi per instance untuk node-1 di example-group, jalankan perintah berikut:

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

MIG menghapus konfigurasi per instance untuk node-1 dan, karena VM telah diupdate dan perubahan konfigurasi diterapkan, MIG tidak lagi memperlakukan item yang sebelumnya stateful sebagai stateful.

REST

Untuk menghapus sepenuhnya konfigurasi per instance untuk satu atau beberapa instance, gunakan metode instanceGroupManagers.deletePerInstanceConfigs atau regionInstanceGroupManagers.deletePerInstanceConfigs .

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan
  • ZONE: zona tempat MIG berada (berlaku untuk MIG zona)
    • Untuk MIG regional, ganti zones/ZONE dengan regions/REGION dan tentukan region MIG
  • INSTANCE_GROUP_NAME: nama MIG
  • INSTANCE_NAME: nama instance yang konfigurasi per instance-nya akan dihapus

Metode deletePerInstanceConfig akan menghapus konfigurasi per instance yang ditentukan, tetapi tidak menerapkan perubahan pada VM terkait. Perubahan tersebut diterapkan ke VM saat Anda membuat ulang atau mengupdate instance. Update VM yang dipilih secara manual untuk menerapkan perubahan.

Misalnya, untuk menghapus konfigurasi per instance untuk node-1 di example-group, panggil metode berikut:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

Metode ini akan menghapus konfigurasi per instance untuk instance node-1 dari example-group. Perubahan akan diterapkan ke instance terkelola saat Anda membuat ulang atau mengupdate instance.

Untuk menerapkan perubahan konfigurasi, panggil metode instanceGroupManagers.applyUpdatesToInstances:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

Metode ini akan menghapus item stateful dari status yang dipertahankan instance terkelola.

Masukan

Kami ingin mempelajari kasus penggunaan, tantangan, dan masukan Anda tentang MIG stateful. Berikan masukan Anda kepada tim kami di mig-discuss@google.com.

Langkah berikutnya