Dalam beberapa skenario bisnis, pod pekerja memerlukan penggunaan alamat IP tetap. Topik ini menjelaskan cara menentukan alamat IP privat untuk pod berbasis Elastic Container Instance saat membuat pod tersebut.
Deskripsi fitur
Secara default, sistem secara acak menetapkan alamat IP privat ke pod berbasis Elastic Container Instance dari blok CIDR vSwitch yang ditentukan di eci-profile saat membuat pod. Dalam beberapa skenario bisnis, Anda mungkin ingin menentukan alamat IP privat pod. Misalnya, jika Anda ingin memigrasikan layanan, setelah menghapus pod lama, Anda dapat menentukan alamat IP pod lama untuk pod baru. Ini memastikan kontinuitas layanan.
Untuk informasi lebih lanjut tentang cara mengonfigurasi vSwitch untuk kluster atau pod, lihat Buat Pod di Beberapa Zona.
Batasan
Alamat IP privat yang Anda tentukan untuk pod harus berupa alamat IPv4.
Deskripsi konfigurasi
Anda dapat menambahkan anotasi k8s.aliyun.com/eci-private-ip-address ke metadata pod untuk menentukan alamat IP privat untuk pod tersebut. Perhatikan hal-hal berikut:
Alamat IP yang ditentukan harus termasuk dalam blok CIDR vSwitch yang ditentukan dalam parameter
vSwitchIdsdi eci-profile. Pastikan alamat IP tersebut tidak digunakan.Anda tidak dapat menentukan beberapa alamat IP. Jika Anda menambahkan anotasi saat membuat sumber daya seperti Deployment, Anda hanya dapat mengonfigurasi satu replika untuk pod. Jika Anda mengonfigurasi beberapa replika, hanya satu pod yang dibuat. Pod lainnya gagal dibuat karena mereka tidak dapat diberi alamat IP.
Contoh konfigurasi
Tentukan alamat IP privat untuk membuat pod.
kubectl create -f private-ip-test.yamlContoh isi dari private-ip-test.yaml:
apiVersion: v1 kind: Pod metadata: name: private-ip-test labels: alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-private-ip-address: "172.16.0.11" # Tentukan alamat IP privat untuk pod. spec: containers: - image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2 name: test-containerPeriksa alamat IP privat pod.
kubectl get pod -o wideGambar berikut menunjukkan contoh keluaran. Sistem telah menetapkan alamat IP privat yang ditentukan ke pod.
