Metadata Elastic Container Instance (ECI) menyediakan informasi detail mengenai instans dan kontainer-kontainernya, seperti nama, ID, alamat IP, serta informasi antarmuka jaringan. Data ini dapat digunakan untuk mengelola dan mengoperasikan kontainer. Topik ini menjelaskan cara mengambil metadata tersebut dari dalam kontainer yang sedang berjalan.
Metode 1: Akses metadata melalui MetaServer
-
Sambungkan ke kontainer. Untuk informasi selengkapnya, lihat Sambungkan ke instans ECI menggunakan Workbench.
-
Akses metadata.
CatatanJika curl belum diinstal di lingkungan kontainer, instal terlebih dahulu.
curl http://100.100.100.200/latest/meta-data/<metadata>Ganti
<metadata>dengan item metadata spesifik yang ingin Anda kueri. Sebagai contoh, untuk mengambil ID instans, jalankan perintah berikut:curl http://100.100.100.200/latest/meta-data/instance-idTabel berikut mencantumkan item metadata dasar yang dapat Anda ambil untuk instans ECI.
Parameter
Description
/dns-conf/nameservers
Konfigurasi DNS instans.
/eipv4
Elastic IP Address (IPv4) instans.
/hostname
Hostname instans. Nilai ini sesuai dengan ContainerGroupName.
/instance-id
ID instans.
/mac
Alamat MAC instans.
/network/interfaces/
Daftar alamat MAC untuk antarmuka jaringan.
/network/interfaces/macs/[mac]/network-interface-id
ID antarmuka jaringan. Ganti [mac] dengan alamat MAC instans.
/network/interfaces/macs/[mac]/netmask
Subnet mask untuk antarmuka jaringan.
/network/interfaces/macs/[mac]/vswitch-cidr-block
Blok CIDR IPv4 dari vSwitch tempat antarmuka jaringan berada.
/network/interfaces/macs/[mac]/vpc-cidr-block
Blok CIDR IPv4 dari VPC tempat antarmuka jaringan berada.
/network/interfaces/macs/[mac]/private-ipv4s
Daftar alamat IPv4 pribadi yang ditetapkan pada antarmuka jaringan.
/network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks
Blok CIDR IPv6 dari VPC tempat antarmuka jaringan berada. Item ini hanya tersedia untuk instans dalam VPC yang telah mengaktifkan IPv6.
/network/interfaces/macs/[mac]/vswitch-id
ID vSwitch tempat antarmuka jaringan berada.
/network/interfaces/macs/[mac]/vpc-id
ID VPC tempat antarmuka jaringan berada.
/network/interfaces/macs/[mac]/primary-ip-address
Alamat IP pribadi utama dari antarmuka jaringan.
/network/interfaces/macs/[mac]/gateway
Alamat gateway IPv4 untuk antarmuka jaringan.
/instance/max-netbw-egress
Bandwidth internal arah keluar maksimum dari tipe instans. Satuan: Kbit/s.
/instance/max-netbw-ingress
Bandwidth internal arah masuk maksimum dari tipe instans. Satuan: Kbit/s.
/network/interfaces/macs/[mac]/ipv6s
Daftar alamat IPv6 yang ditetapkan pada antarmuka jaringan. Item ini hanya tersedia untuk instans dalam VPC yang telah mengaktifkan IPv6.
/network/interfaces/macs/[mac]/ipv6-gateway
Alamat gateway IPv6 dari VPC tempat antarmuka jaringan berada.
/network/interfaces/macs/[mac]/vswitch-ipv6-cidr-block
Blok CIDR IPv6 dari vSwitch tempat antarmuka jaringan berada. Item ini hanya tersedia untuk instans dalam VPC yang telah mengaktifkan IPv6.
/private-ipv4
Alamat IPv4 pribadi instans.
/ntp-conf/ntp-servers
Alamat server NTP.
/owner-account-id
ID Akun Alibaba Cloud pemilik instans.
/region-id
Wilayah instans.
/serial-number
Nomor seri instance.
/vpc-id
ID VPC tempat instans berada.
/vpc-cidr-block
Blok CIDR VPC tempat instans berada.
/vswitch-cidr-block
Blok CIDR vSwitch tempat instans berada.
/vswitch-id
ID vSwitch tempat instans berada.
/zone-id
Zona instans.
/ram/security-credentials/[role-name]
Kredensial temporary STS untuk Peran RAM instans. Ini hanya tersedia jika Peran RAM telah disambungkan. Ganti [role-name] dengan nama Peran RAM. Jika Anda menghilangkan [role-name], sistem akan mengembalikan nama Peran RAM yang telah disambungkan.
Metode 2: Konfigurasikan variabel lingkungan kontainer
Anda juga dapat memperoleh informasi instans dengan menyetel variabel lingkungan untuk kontainer dalam instans ECI. Metode ini memberikan akses ke metadata seperti ID instans, nama instans, wilayah, zona, dan nama kontainer.
|
Key |
Value |
Description |
|
eci_id |
__ECI_ID__ |
ID instans. |
|
eci_name |
__ECI_NAME__ |
Nama instans. |
|
region_id |
__REGION_ID__ |
Wilayah tempat instance berada. |
|
zone_id |
__ZONE_ID__ |
Zona tempat instans berada. |
|
container_name |
__CONTAINER_NAME__ |
Nama kontainer. |
Contoh konfigurasi:
OpenAPI
Saat memanggil operasi API CreateContainerGroup untuk membuat instans ECI, Anda dapat menyetel variabel lingkungan menggunakan parameter Container.N.EnvironmentVar.N.Key dan Container.N.EnvironmentVar.N.Value. Contoh berikut menunjukkan cara mengonfigurasi parameter tersebut:
ContainerGroupName=test-env
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.Name=container-1
# Set custom environment variables
Container.1.EnvironmentVar.1.Key=eci_id
Container.1.EnvironmentVar.2.Key=eci_name
Container.1.EnvironmentVar.3.Key=region_id
Container.1.EnvironmentVar.4.Key=zone_id
Container.1.EnvironmentVar.5.Key=container_name
Container.1.EnvironmentVar.1.Value=__ECI_ID__
Container.1.EnvironmentVar.2.Value=__ECI_NAME__
Container.1.EnvironmentVar.3.Value=__REGION_ID__
Container.1.EnvironmentVar.4.Value=__ZONE_ID__
Container.1.EnvironmentVar.5.Value=__CONTAINER_NAME__
Console
Saat Anda membuat instans ECI di konsol Elastic Container Instance, di bagian Container Configurations, pilih kontainer, perluas Advanced Settings-nya, lalu aktifkan tombol Environment Variable untuk menambahkan variabel lingkungan. Misalnya, Anda dapat menambahkan variabel lingkungan berikut:
eci_id:__ECI_ID__(Instance ID)eci_name:__ECI_NAME__(Instance name)region_id:__REGION_ID__(Region ID)zone_id:__ZONE_ID__(Zone ID)container_name:__CONTAINER_NAME__(Container name)
Setelah instans ECI dibuat, sambungkan ke kontainer untuk memverifikasi konfigurasi. Untuk informasi selengkapnya, lihat Sambungkan ke instans ECI menggunakan Workbench.
Contoh berikut menunjukkan output perintah env di dalam kontainer:
Elastic Container Service!
# env
HOSTNAME=test-env
ECI CONTAINER TYPE=normal
zone_id=cn-shanghai-f
HOME=/root
eci_name=test-env
container_name=container-1
TERM=xterm
NGINX_VERSION=1.14.2-1~stretch
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NJS_VERSION=1.14.2.0.2.6-1~stretch
PWD=/
eci_id=eci-uf63a8afxxx5bx
region_id=cn-shanghai
#