全部产品
Search
文档中心

Elastic Container Instance:Konfigurasikan pod Elastic Container Instance untuk menggunakan alamat IP tetap

更新时间:Jun 29, 2025

Dalam beberapa skenario bisnis, pod memerlukan penggunaan alamat IP tetap. Topik ini menjelaskan cara mengonfigurasi pod Elastic Container Instance agar menggunakan alamat IP tetap.

Deskripsi fitur

Secara default, saat membuat pod Elastic Container Instance, sistem secara acak menetapkan alamat IP dari blok CIDR vSwitch yang ditentukan dalam eci-profile. Jika pod dilepaskan karena kesalahan, alamat IP tersebut juga dilepaskan dan instance baru diberi alamat IP baru. Dalam skenario tertentu, seperti skenario di mana alamat IP layanan terpapar, pod memerlukan penggunaan alamat IP tetap. Tanpa alamat IP tetap, operasional bisnis dapat terganggu.

Untuk kebutuhan ini, Elastic Container Instance mendukung penggunaan alamat IP tetap. Saat fitur ini diaktifkan selama pembuatan pod Elastic Container Instance, sistem menetapkan dua alamat IP dari blok CIDR vSwitch yang ditentukan. Salah satu alamat IP adalah alamat IP dinamis yang tidak terlihat dalam kluster, sedangkan alamat IP lainnya adalah alamat IP tetap. Setelah pod dilepaskan, sistem mempertahankan alamat IP tetap tersebut. Selama periode validitas (default 48 jam), jika ID kluster, namespace, dan nama pod yang ingin dibuat sama dengan pod yang telah dilepaskan dan fitur alamat IP tetap diaktifkan baik pada pod lama maupun pod baru, sistem akan menetapkan alamat IP yang dipertahankan kepada pod baru. Dengan cara ini, pod yang memenuhi persyaratan bisnis yang sama menggunakan alamat IP yang sama.

Catatan

Dalam skenario ini, Anda dapat menggunakan StatefulSet untuk menerapkan layanan. Setelah pod dalam StatefulSet dilepaskan, sistem secara otomatis membuat pod baru dengan nama yang sama dan diterapkan di namespace yang sama dengan pod sebelumnya.

Deskripsi konfigurasi

Anda dapat menambahkan anotasi ke metadata pod untuk mengonfigurasi penggunaan alamat IP tetap serta mengatur periode retensi alamat IP tetap setelah alamat IP tersebut tidak digunakan. Tabel berikut menjelaskan anotasi yang tersedia.

Anotasi

Contoh

Deskripsi

k8s.aliyun.com/eci-fixed-ip

"true"

Menentukan apakah akan mengonfigurasi pod untuk menggunakan alamat IP tetap.

k8s.aliyun.com/eci-fixed-ip-retain-hour

"24"

Menentukan periode retensi alamat IP tetap setelah pod asli dilepaskan dan alamat IP tetap menjadi tidak digunakan. Unit: jam.

Jika Anda tidak mengonfigurasi anotasi ini, alamat IP tetap dipertahankan selama 48 jam secara default.

Contoh konfigurasi

  1. Buat Service dan StatefulSet.

    kubectl apply -f fixedIp.yaml

    Contoh berikut menunjukkan isi dari fixedIp.yaml yang digunakan untuk membuat Service dan StatefulSet. StatefulSet mencakup pod dengan alamat IP tetap yang diaktifkan.

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      ports:
      - port: 80
        name: web
      clusterIP: None
      selector:
        app: nginx
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: web
    spec:
      selector:
        matchLabels:
          app: nginx
      serviceName: "nginx"
      minReadySeconds: 10
      template:
        metadata:
          annotations:
            k8s.aliyun.com/eci-fixed-ip: "true"  # Mengaktifkan alamat IP tetap.
          labels:
            app: nginx
            alibabacloud.com/eci: "true"
        spec:
          containers:
          - name: nginx
            image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
              name: web
  2. Jalankan perintah berikut untuk memantau status pod:

    kubectl get pod -o wide -w

    Contoh respons berikut menunjukkan bahwa StatefulSet mencakup pod bernama web-0 dengan alamat IP 172.16.0.129.

    ECI固定IP1..png

  3. Buka kembali terminal CLI untuk terhubung ke kluster. Jalankan perintah berikut untuk menghapus pod dari StatefulSet:

    kubectl delete pod web-0
  4. Kembali ke terminal CLI sebelumnya dan lanjutkan memantau perubahan status pod.

    Contoh berikut menunjukkan respons baru. Setelah pod dihapus, StatefulSet secara otomatis membuat pod baru dengan alamat IP yang sama dengan pod yang dihapus.

    Catatan

    Pod asli mempertahankan alamat IP hingga sepenuhnya dihapus, yang dapat memengaruhi kecepatan pembuatan pod baru.

    ECI固定IP2..png