全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Gunakan Terraform untuk Mengelola Instance ASM

更新时间:Nov 11, 2025

Terraform adalah alat open source dari HashiCorp untuk orkestrasi sumber daya cloud. Dengan Terraform, Anda dapat melihat pratinjau, mengonfigurasi, dan mengelola infrastruktur serta sumber daya cloud secara aman dan efisien. Alat ini memungkinkan Anda membuat dan memperbarui sumber daya di infrastruktur Alibaba Cloud secara otomatis. Topik ini menjelaskan cara membuat dan menghapus instance Service Mesh (ASM) menggunakan Terraform.

Prasyarat

  • Terraform telah diinstal dan dikonfigurasi pada mesin lokal Anda. Untuk informasi lebih lanjut, lihat Instal dan konfigurasikan Terraform di PC lokal.

  • Akun Alibaba Cloud Anda telah dikonfigurasi. Variabel lingkungan dibuat untuk menentukan kredensial autentikasi dan informasi wilayah Anda.

    # Ganti YOUR_ACCESS_KEY_ID dan YOUR_ACCESS_KEY_SECRET dalam perintah berikut dengan ID dan rahasia AccessKey akun Alibaba Cloud Anda.
    export ALICLOUD_ACCESS_KEY="YOUR_ACCESS_KEY_ID"
    export ALICLOUD_SECRET_KEY="YOUR_ACCESS_KEY_SECRET"
    # Ganti nilai berikut dengan ID wilayah kluster.
    export ALICLOUD_REGION="cn-beijing"
    # Jika kluster berada di wilayah AS, konfigurasikan variabel lingkungan berikut untuk menggunakan titik akhir wilayah AS.
    export ALIBABA_CLOUD_ENDPOINT_SERVICEMESH="servicemesh.us-east-1.aliyuncs.com"
    Catatan

    Untuk meningkatkan fleksibilitas dan keamanan manajemen izin, kami sarankan Anda membuat Pengguna Resource Access Management (RAM) bernama Terraform. Kemudian, buat pasangan AccessKey untuk pengguna RAM tersebut dan berikan izin kepada pengguna RAM tersebut. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM dan Berikan Izin kepada Pengguna RAM.

Informasi latar belakang

Untuk informasi lebih lanjut tentang Terraform, kunjungi situs resmi Terraform.

Buat Instance ASM

  1. Buat file konfigurasi bernama main.tf secara lokal.

    • Jika Anda tidak memiliki virtual private cloud (VPC) atau vSwitch, buat file main.tf yang berisi konten berikut:

      terraform {
        required_providers {
          alicloud = {
            source = "aliyun/alicloud"
          }
        }
      }
      
      variable "k8s_name_prefix" {
        description = "Awalan nama yang digunakan untuk membuat Service Mesh (ASM)."
        default     = "tf-asm"
      }
      
      resource "random_uuid" "this" {}
      
      # Nama dan konfigurasi sumber daya default. 
      locals {
        # Nama instans ASM. 
        mesh_name = substr(join("-", [var.k8s_name_prefix, random_uuid.this.result]), 0, 63)
        # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
        mesh_spec = "enterprise"
        # Nama VPC yang akan dibuat. 
        new_vpc_name = "vpc-for-${local.mesh_name}"
        # Nama vSwitch yang akan dibuat. 
        new_vsw_name = "vsw-for-${local.mesh_name}"
      }
      
      # Zona tempat Anda dapat membuat vSwitch. 
      data "alicloud_zones" "default" {
        available_resource_creation = "VSwitch"
      }
      # VPC. 
      resource "alicloud_vpc" "default" {
        vpc_name = local.new_vpc_name
      }
      # vSwitch. 
      resource "alicloud_vswitch" "default" {
        vpc_id       = alicloud_vpc.default.id
        cidr_block   = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 2)
        zone_id      = data.alicloud_zones.default.zones.0.id
        vswitch_name = local.new_vsw_name
      }
      # Kueri edisi ASM yang tersedia untuk membuat instans ASM. 
      data "alicloud_service_mesh_versions" "default" {
        edition = local.mesh_spec == "standard" ? "Default" : "Pro"
      }
      # Pilih edisi pertama yang tersedia untuk membuat instans ASM. 
      locals {
        mesh_version = split(":", data.alicloud_service_mesh_versions.default.ids[0])[1]
      }
      # Instans ASM. 
      resource "alicloud_service_mesh_service_mesh" "default" {
        # Nama instans ASM. 
        service_mesh_name = local.mesh_name
        # Konfigurasi jaringan instans ASM. 
        network {
          # ID VPC. 
          vpc_id        = alicloud_vpc.default.id
          # Daftar ID vSwitch. 
          vswitche_list = [alicloud_vswitch.default.id]
        }
        # Edisi instans ASM. 
        version = local.mesh_version
        # Load balancer untuk mengekspos server API dan Istio Pilot dari instans ASM. 
        load_balancer {
          # Tentukan apakah akan mengekspos load balancer untuk server API instans ASM menggunakan alamat IP elastis (EIP). 
          api_server_public_eip = true
        }
      
        # Konfigurasikan instans ASM dengan mendefinisikan opsi Mesh Config. 
        mesh_config {
          # Kumpulkan log akses ke Simple Log Service Alibaba Cloud. 
          access_log {
            enabled = true
          }
      
          # Aktifkan pengumpulan log lapisan kontrol. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
          control_plane_log {
            enabled = true
          }
      
          # Aktifkan Analisis Tracing di Application Real-Time Monitoring Service (ARMS). 
          tracing = true
      
          # Jika Analisis Tracing diaktifkan, atur persentase pengambilan sampel. 
          pilot {
            trace_sampling = 100
          }
      
          # Aktifkan pemantauan Prometheus. 
          telemetry = true
      
          # Aktifkan Topologi Mesh. Untuk mengaktifkan Topologi Mesh, pastikan Anda telah mengaktifkan pemantauan Prometheus. 
          kiali {
            enabled = true
          }
      
          # Aktifkan fitur audit mesh. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
          audit {
            enabled = true
          }
        }
        # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
        cluster_spec = local.mesh_spec
      }

      Sesuaikan parameter yang dijelaskan dalam tabel berikut di file main.tf sesuai kebutuhan Anda. Terraform akan secara otomatis memanggil operasi API terkait untuk mendapatkan nilai parameter lainnya.

      Parameter

      Deskripsi

      mesh_name

      Nama kustom dari instance Service Mesh.

      mesh_spec

      Edisi dari instance Service Mesh. Nilai valid:

      • Standard: Edisi Standar (Gratis).

      • enterprise: Edisi Enterprise

      • ultimate: Edisi Ultimate

      new_vpc_name

      Nama kustom dari VPC.

      new_vsw_name

      Nama kustom dari vSwitch.

      api_server_public_eip

      Menentukan apakah akan mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP. Nilai yang valid:

      • true: mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP.

      • false: tidak mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP.

    • Jika Anda telah membuat VPC dan vSwitch, buat file main.tf yang berisi konten berikut:

      Penting

      VPC dan vSwitch harus termasuk dalam wilayah yang Anda tentukan dalam variabel lingkungan ALICLOUD_REGION saat mengonfigurasi Terraform. Jika tidak, Terraform tidak dapat mengenali VPC atau vSwitch tersebut.

      terraform {
        required_providers {
          alicloud = {
            source = "aliyun/alicloud"
          }
        }
      }
      
      variable "asm_name_prefix" {
        description = "Awalan nama yang digunakan untuk membuat Service Mesh (ASM)."
        default     = "tf-asm"
      }
      
      resource "random_uuid" "this" {}
      
      # Nama dan konfigurasi sumber daya default. 
      locals {
        # Nama instans ASM. 
        mesh_name = substr(join("-", [var.asm_name_prefix, random_uuid.this.result]), 0, 63)
        # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
        mesh_spec = "enterprise"
        # Nama VPC yang telah dibuat. 
        vpc_name = "vpc-luying-hangzhou1"
        # Nama vSwitch yang telah dibuat. 
        vsw_name = "vsw-luying-hangzhou1"
      }
      
      # VPC. 
      data "alicloud_vpcs" "default" {
        name_regex = local.vpc_name # Nama VPC yang telah dibuat. 
      }
      # vSwitch. 
      data "alicloud_vswitches" "default" {
        vpc_id = data.alicloud_vpcs.default.ids[0]
      }
      locals {
        exist_vswitch_ids = [for vsw in data.alicloud_vswitches.default.vswitches : vsw.id if vsw.name == local.vsw_name]
      }
      # Kueri edisi ASM yang tersedia untuk membuat instans ASM. 
      data "alicloud_service_mesh_versions" "default" {
        edition = local.mesh_spec == "standard" ? "Default" : "Pro"
      }
      # Pilih edisi pertama yang tersedia untuk membuat instans ASM. 
      locals {
        mesh_version = split(":", data.alicloud_service_mesh_versions.default.ids[0])[1]
      }
      # Instans ASM. 
      resource "alicloud_service_mesh_service_mesh" "default" {
        # Nama instans ASM. 
        service_mesh_name = local.mesh_name
        # Konfigurasi jaringan instans ASM. 
        network {
          # ID VPC. 
          vpc_id        =  data.alicloud_vpcs.default.ids[0]
          # Daftar ID vSwitch. 
          vswitche_list = [local.exist_vswitch_ids[0]]
        }
        # Edisi instans ASM. 
        version = local.mesh_version
        # Load balancer untuk mengekspos load balancer untuk server API dan Istio Pilot dari instans ASM. 
        load_balancer {
          # Tentukan apakah akan mengekspos load balancer untuk server API instans ASM menggunakan EIP. 
          api_server_public_eip = true
        }
      
        # Konfigurasikan instans ASM dengan mendefinisikan opsi Mesh Config. 
        mesh_config {
          # Kumpulkan log akses ke Simple Log Service Alibaba Cloud. 
          access_log {
            enabled = true
          }
      
          # Aktifkan pengumpulan log lapisan kontrol. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
          control_plane_log {
            enabled = true
          }
      
          # Aktifkan Analisis Tracing di ARMS. 
          tracing = true
      
          # Jika Analisis Tracing diaktifkan, atur persentase pengambilan sampel. 
          pilot {
            trace_sampling = 100
          }
      
          # Aktifkan pemantauan Prometheus. 
          telemetry = true
      
          # Aktifkan Topologi Mesh. Untuk mengaktifkan Topologi Mesh, pastikan Anda telah mengaktifkan pemantauan Prometheus. 
          kiali {
            enabled = true
          }
      
          # Aktifkan fitur audit mesh. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
          audit {
            enabled = true
          }
        }
        # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
        cluster_spec = local.mesh_spec
      }

      Sesuaikan parameter yang dijelaskan dalam tabel berikut di file main.tf sesuai kebutuhan Anda. Terraform akan secara otomatis memanggil operasi API terkait untuk mendapatkan nilai parameter lainnya.

      Parameter

      Deskripsi

      mesh_name

      Nama kustom dari instance Service Mesh.

      mesh_spec

      Edisi dari instance Service Mesh. Nilai valid:

      • Standard: Edisi Standar (Gratis)

      • enterprise: Edisi Enterprise

      • ultimate: Edisi Ultimate

      vpc_name

      Nama VPC yang dibuat.

      vsw_name

      Nama vSwitch yang dibuat.

      api_server_public_eip

      Menentukan apakah akan mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP.

      • true: mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP.

      • false: tidak mengekspos load balancer untuk server API instans Service Mesh menggunakan EIP.

  2. Jalankan perintah berikut untuk menginisialisasi lingkungan runtime untuk Terraform:

    terraform init

    Keluaran yang diharapkan:

    Initializing the backend...
    
    Initializing provider plugins...
    - Finding aliyun/alicloud versions matching "1.166.0"...
    - Finding latest version of hashicorp/random...
    ...
    
    Terraform has been successfully initialized!
    
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.
  3. Jalankan perintah berikut untuk membuat rencana eksekusi untuk Terraform:

    terraform plan

    Keluaran yang diharapkan:

    Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
      + create
    
    Terraform will perform the following actions:
    ...
    Plan: 2 to add, 0 to change, 0 to destroy.
  4. Jalankan perintah berikut untuk membuat instance ASM menggunakan file main.tf:

    terraform apply

    Keluaran yang diharapkan:

    alicloud_service_mesh_service_mesh.example: Refreshing state...
    ...
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value:                    

    Masukkan yes di sebelah kanan Enter a value. Keluaran yang diharapkan:

    ...
    alicloud_service_mesh_service_mesh.default: Creating...
    alicloud_service_mesh_service_mesh.default: Still creating... [10s elapsed]
    ...
    alicloud_service_mesh_service_mesh.example: Creation complete after 2m42s [id=**********]
    
    Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Hapus Instance ASM

Untuk menjalankan perintah destroy di Terraform guna menghapus instance ASM, Anda harus masuk ke direktori tempat file main.tf berada.

Masuk ke direktori tempat file main.tf berada dan jalankan perintah berikut untuk menghapus instance ASM:

terraform destroy

Keluaran yang diharapkan:

...
Do you really want to destroy all resources?
  Terraform will destroy all your managed infrastructure, as shown above.
  There is no undo. Only 'yes' will be accepted to confirm.

  Enter a value: 

Masukkan yes di sebelah kanan Enter a value. Keluaran yang diharapkan:

...
Destroy complete! Resources: 2 destroyed.

Ubah atribut instance ASM

Anda dapat mengubah definisi atribut dalam file .tf, lalu menjalankan perintah terraform apply untuk menerapkan perubahan ke instance ASM. Contoh berikut mengubah atribut http10_enabled. Anda dapat menggunakan contoh ini sebagai referensi untuk mengubah atribut instance ASM melalui Terraform.

  1. Contoh ini menggunakan file .tf untuk skenario di mana VPC dan switch virtual sudah tersedia. Ubah nilai properti mesh_config.pilot.http10_enabled pada sumber daya service mesh menjadi true.

    terraform {
      required_providers {
        alicloud = {
          source = "aliyun/alicloud"
        }
      }
    }
    
    variable "asm_name_prefix" {
      description = "Awalan nama yang digunakan untuk membuat Service Mesh (ASM)."
      default     = "tf-asm"
    }
    
    resource "random_uuid" "this" {}
    
    # Nama dan konfigurasi sumber daya default. 
    locals {
      # Nama instans ASM. 
      mesh_name = substr(join("-", [var.asm_name_prefix, random_uuid.this.result]), 0, 63)
      # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
      mesh_spec = "enterprise"
      # Nama VPC yang telah dibuat. 
      vpc_name = "prod-hz-vpc"
      # Nama vSwitch yang telah dibuat. 
      vsw_name = "prod-hz-vpc-default"
    }
    
    # VPC. 
    data "alicloud_vpcs" "default" {
      name_regex = local.vpc_name # Nama VPC yang telah dibuat. 
    }
    # vSwitch. 
    data "alicloud_vswitches" "default" {
      vpc_id = data.alicloud_vpcs.default.ids[0]
    }
    locals {
      exist_vswitch_ids = [for vsw in data.alicloud_vswitches.default.vswitches : vsw.id if vsw.name == local.vsw_name]
    }
    # Kueri edisi ASM yang tersedia untuk membuat instans ASM. 
    data "alicloud_service_mesh_versions" "default" {
      edition = local.mesh_spec == "standard" ? "Default" : "Pro"
    }
    # Pilih edisi pertama yang tersedia untuk membuat instans ASM. 
    locals {
      mesh_version = split(":", data.alicloud_service_mesh_versions.default.ids[0])[1]
    }
    # Instans ASM. 
    resource "alicloud_service_mesh_service_mesh" "default" {
      # Nama instans ASM. 
      service_mesh_name = local.mesh_name
      # Konfigurasi jaringan instans ASM. 
      network {
        # ID VPC. 
        vpc_id        =  data.alicloud_vpcs.default.ids[0]
        # Daftar ID vSwitch. 
        vswitche_list = [local.exist_vswitch_ids[0]]
      }
      # Edisi instans ASM. 
      version = local.mesh_version
      # Load balancer untuk mengekspos server API dan Istio Pilot dari instans ASM. 
      load_balancer {
        # Tentukan apakah akan mengekspos load balancer untuk server API instans ASM menggunakan EIP. 
        api_server_public_eip = true
      }
    
      # Konfigurasikan instans ASM dengan mendefinisikan opsi Mesh Config. 
      mesh_config {
        # Kumpulkan log akses ke Simple Log Service Alibaba Cloud. 
        access_log {
          enabled = true
        }
    
        # Aktifkan pengumpulan log lapisan kontrol. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
        control_plane_log {
          enabled = true
          project = "mesh-log-cab09b566d4a64c1fa05271d5365495f1"
        }
    
        # Aktifkan Analisis Tracing di ARMS. 
        tracing = true
    
        # Jika Analisis Tracing diaktifkan, atur persentase pengambilan sampel. 
        pilot {
          trace_sampling = 100
          http10_enabled = true 
        }
    
        # Aktifkan pemantauan Prometheus. 
        telemetry = true
    
        # Aktifkan Topologi Mesh. Untuk mengaktifkan Topologi Mesh, pastikan Anda telah mengaktifkan pemantauan Prometheus. 
        kiali {
          enabled = true
        }
    
        # Aktifkan fitur audit mesh. Untuk mengaktifkan fitur ini, pastikan Anda telah mengaktifkan Simple Log Service. 
        audit {
          enabled = true
        }
      }
      # Edisi instans ASM. Nilai yang valid: enterprise dan ultimate, yang masing-masing menunjukkan Edisi Perusahaan dan Edisi Ultimate. 
      cluster_spec = local.mesh_spec
    }
    
  2. Jalankan terraform apply. Keluarannya menunjukkan perubahan yang direncanakan untuk bidang tersebut.

    terraform apply
    random_uuid.this: Refreshing state... [id=6ab24265-2381-dad9-3be5-351329c5665a]
    data.alicloud_vpcs.default: Reading...
    data.alicloud_service_mesh_versions.default: Reading...
    data.alicloud_service_mesh_versions.default: Read complete after 1s [id=605899410]
    data.alicloud_vpcs.default: Read complete after 1s [id=2909606812]
    data.alicloud_vswitches.default: Reading...
    data.alicloud_vswitches.default: Read complete after 0s [id=866499268]
    alicloud_service_mesh_service_mesh.default: Refreshing state... [id=cab09b566d4a64c1fa05271d5365495f1]
    
    Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
      ~ update in-place
    
    Terraform will perform the following actions:
    
      # alicloud_service_mesh_service_mesh.default will be updated in-place
      ~ resource "alicloud_service_mesh_service_mesh" "default" {
            id                = "cab09b566d4a64c1fa05271d5365495f1"
            # (6 unchanged attributes hidden)
    
          ~ mesh_config {
                # (5 unchanged attributes hidden)
    
              ~ pilot {
                  ~ http10_enabled = false -> true
                    # (1 unchanged attribute hidden)
                }
    
                # (7 unchanged blocks hidden)
            }
    
            # (2 unchanged blocks hidden)
        }
    
    Plan: 0 to add, 1 to change, 0 to destroy.
    
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value:
  3. Masukkan yes untuk menerapkan perubahan.

    ...Omit irrelevant content...
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    
    alicloud_service_mesh_service_mesh.default: Modifying... [id=cab09b566d4a64c1fa05271d5365495f1]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=cab09b566d4a64c1fa05271d5365495f1, 10s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=cab09b566d4a64c1fa05271d5365495f1, 20s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=cab09b566d4a64c1fa05271d5365495f1, 30s elapsed]
    alicloud_service_mesh_service_mesh.default: Modifications complete after 37s [id=cab09b566d4a64c1fa05271d5365495f1]

Tambah atau hapus kluster Kubernetes

Anda dapat memodifikasi array cluster_ids dalam file .tf. Untuk menambahkan kluster agar dikelola oleh ASM, tambahkan ID-nya ke dalam array. Untuk menghapus kluster dari ASM, hapus ID-nya dari array. Setelah itu, jalankan terraform apply untuk menerapkan perubahan ke instance ASM.

  1. Contoh berikut menunjukkan cara menambahkan kluster ke instance ASM. Modifikasi cluster_ids pada sumber daya service mesh dengan menambahkan ID kluster ke dalam array:

    ......Omit irrelevant content......
    # Instans ASM.
    resource "alicloud_service_mesh_service_mesh" "default" {
      # Nama service mesh.
      service_mesh_name = local.mesh_name
      # Konfigurasi jaringan service mesh.
      network {
        # ID VPC.
        vpc_id        =  data.alicloud_vpcs.default.ids[0]
        # ID switch virtual.
        vswitche_list = [local.exist_vswitch_ids[0]]
      }
      # Versi service mesh.
      version = local.mesh_version
      # Konfigurasi load balancer untuk API Server dan Pilot service mesh.
      load_balancer {
        # Menentukan apakah akan menggunakan EIP untuk mengekspos API Server melalui load balancer.
        api_server_public_eip = true
      }
      cluster_ids = [
        "c94a1a1d968e04c55861b8747********" # Tambahkan ID kluster ke dalam array.
      ]
      ......Omit irrelevant content......
    }
    ......Omit irrelevant content......
  2. Jalankan terraform apply. Keluarannya menunjukkan perubahan yang direncanakan pada array ID kluster di bidang data.

    random_uuid.this: Refreshing state... [id=6ab24265-2381-dad9-3be5-351329c5665a]
    data.alicloud_service_mesh_versions.default: Reading...
    data.alicloud_vpcs.default: Reading...
    data.alicloud_vpcs.default: Read complete after 1s [id=2909606812]
    data.alicloud_vswitches.default: Reading...
    data.alicloud_vswitches.default: Read complete after 0s [id=866499268]
    data.alicloud_service_mesh_versions.default: Read complete after 1s [id=3077056360]
    alicloud_service_mesh_service_mesh.default: Refreshing state... [id=c71fe2f2301234701b2e4116397426342]
    
    Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
      ~ update in-place
    
    Terraform will perform the following actions:
    
      # alicloud_service_mesh_service_mesh.default will be updated in-place
      ~ resource "alicloud_service_mesh_service_mesh" "default" {
          ~ cluster_ids       = [
              + "c94a1a1d968e04c55861b8747********",
            ]
            id                = "c71fe2f2301234701b2e4116397426342"
            tags              = {}
            # (6 unchanged attributes hidden)
        }
    
    Plan: 0 to add, 1 to change, 0 to destroy.
    
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: 
  3. Masukkan yes untuk menerapkan perubahan.

    ...Omit irrelevant content...
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    
    alicloud_service_mesh_service_mesh.default: Modifying... [id=c71fe2f2301234701b2e4116397426342]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 10s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 20s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 30s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 40s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 50s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 1m0s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 1m10s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 1m20s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 1m30s elapsed]
    alicloud_service_mesh_service_mesh.default: Still modifying... [id=c71fe2f2301234701b2e4116397426342, 1m40s elapsed]
    alicloud_service_mesh_service_mesh.default: Modifications complete after 1m44s [id=c71fe2f2301234701b2e4116397426342]
    
    Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

Sumber daya dan sumber data Terraform

Tabel berikut menjelaskan sumber daya dan sumber data Terraform yang dapat digunakan untuk mengelola sumber daya ASM.

Tipe

Nama

Deskripsi

Sumber daya

alicloud_service_mesh_service_mesh

Mengelola instance ASM.

alicloud_service_mesh_user_permission

Mengonfigurasi izin pada instance ASM.

Sumber Data

alicloud_service_mesh_service_meshes

Mengkueri semua instance ASM.

alicloud_service_mesh_versions

Mengkueri semua versi Service Mesh yang tersedia.

Apa yang harus saya lakukan jika ada prompt yang menunjukkan bahwa beberapa field akan dihapus saat saya menjalankan perintah terraform apply?

Untuk menyederhanakan operasi, server memberikan nilai default ke beberapa properti ASM meskipun Anda tidak menentukannya saat pembuatan. Hal ini mirip dengan tag atribut Computed di Terraform. Namun, jika properti-properti ini ditetapkan sebagai Computed, nilainya tidak dapat diubah menjadi nilai kosong, seperti string kosong, angka 0, atau nilai Boolean false. Agar properti-properti ini dapat diubah menjadi nilai kosong, penyedia Terraform ASM tidak menetapkannya sebagai Computed. Saat Anda menjalankan terraform apply, server mengembalikan properti-properti ini. Jika properti tersebut tidak dideklarasikan secara eksplisit dalam file .tf Anda, Terraform menganggap Anda ingin menghapus nilainya. Jika Anda tidak ingin menghapus properti ini, tambahkan secara manual ke file .tf Anda sesuai permintaan, lalu jalankan kembali terraform apply.