Elastic Container Instance (ECI) meta verileri; örnek ve konteynerlerine ilişkin adlar, kimlikler, IP adresleri ve ağ arabirimi bilgileri gibi ayrıntıları sağlar. Bu verileri kullanarak konteynerleri yönetebilir ve işletebilirsiniz. Bu konuda, çalışan bir konteyner içinden bu meta verilere nasıl erişileceği açıklanmaktadır.
Yöntem 1: MetaServer üzerinden meta verilere erişim
Konteynere bağlanın. Daha fazla bilgi için bkz. Workbench kullanarak bir ECI örneğine bağlanma.
-
Meta verilere erişin.
NotKonteyner ortamında curl yüklü değilse öncelikle kurulumunu yapın.
curl http://100.100.100.200/latest/meta-data/<metadata><metadata>ifadesini sorgulamak istediğiniz belirli meta veri öğesiyle değiştirin. Örneğin, örnek kimliğini almak için aşağıdaki komutu çalıştırın:curl http://100.100.100.200/latest/meta-data/instance-idAşağıdaki tabloda, bir ECI örneği için alabileceğiniz temel meta veri öğeleri listelenmiştir.
Parametre
Açıklama
/dns-conf/nameservers
Örneğin DNS yapılandırması.
/eipv4
Örneğin Elastik IP Adresi (IPv4).
/hostname
Örneğin ana bilgisayar adı. Bu değer ContainerGroupName ile eşleşir.
/instance-id
Önek kimliği.
/mac
Örneğin MAC adresi.
/network/interfaces/
Ağ arabirimlerinin MAC adreslerinin listesi.
/network/interfaces/macs/[mac]/network-interface-id
Ağ arabirimi kimliği. [mac] yerine örneğin MAC adresini yazın.
/network/interfaces/macs/[mac]/netmask
Ağ arabiriminin alt ağ maskesi.
/network/interfaces/macs/[mac]/vswitch-cidr-block
Ağ arabirimine ait vSwitch'in IPv4 CIDR bloğu.
/network/interfaces/macs/[mac]/vpc-cidr-block
Ağ arabirimine ait VPC'nin IPv4 CIDR bloğu.
/network/interfaces/macs/[mac]/private-ipv4s
Ağ arabirimine atanmış özel IPv4 adreslerinin listesi.
/network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks
Ağ arabirimine ait VPC'nin IPv6 CIDR bloğu. Bu öğe yalnızca IPv6'nın etkinleştirildiği bir VPC'deki örnekler için kullanılabilir.
/network/interfaces/macs/[mac]/vswitch-id
Ağ arabirimine ait vSwitch'in kimliği.
/network/interfaces/macs/[mac]/vpc-id
Ağ arabirimine ait VPC'nin kimliği.
/network/interfaces/macs/[mac]/primary-ip-address
Ağ arabirimincil özel IP adresi.
/network/interfaces/macs/[mac]/gateway
Ağ arabiriminin IPv4 ağ geçidi adresi.
/instance/max-netbw-egress
Örnek türünün maksimum giden dahili bant genişliği. Birim: Kbit/s.
/instance/max-netbw-ingress
Örnek türünün maksimum gelen dahili bant genişliği. Birim: Kbit/s.
/network/interfaces/macs/[mac]/ipv6s
Ağ arabirimine atanmış IPv6 adreslerinin listesi. Bu öğe yalnızca IPv6'nın etkinleştirildiği bir VPC'deki örnekler için kullanılabilir.
/network/interfaces/macs/[mac]/ipv6-gateway
Ağ arabirimine ait VPC'nin IPv6 ağ geçidi adresi.
/network/interfaces/macs/[mac]/vswitch-ipv6-cidr-block
Ağ arabirimine ait vSwitch'in IPv6 CIDR bloğu. Bu öğe yalnızca IPv6'nın etkinleştirildiği bir VPC'deki örnekler için kullanılabilir.
/private-ipv4
Örneğin özel IPv4 adresi.
/ntp-conf/ntp-servers
NTP sunucusunun adresi.
/owner-account-id
Örneğe sahip olan Alibaba Cloud hesabının kimliği.
/region-id
Örneğin bulunduğu bölge.
/serial-number
Örneğin seri numarası.
/vpc-id
Örneğin bulunduğu VPC'nin kimliği.
/vpc-cidr-block
Örneğin bulunduğu VPC'nin CIDR bloğu.
/vswitch-cidr-block
Örneğin bulunduğu vSwitch'in CIDR bloğu.
/vswitch-id
Örneğin bulunduğu vSwitch'in kimliği.
/zone-id
Örneğin bulunduğu alan.
/ram/security-credentials/[role-name]
Örneğin RAM rolü için STS geçici kimlik bilgileri. Bu bilgiler yalnızca bir RAM rolü eklendiğinde kullanılabilir. [role-name] yerine RAM rol adını yazın. [role-name] belirtmezseniz sistem eklenen RAM rolünün adını döndürür.
Yöntem 2: Konteyner ortam değişkenlerini yapılandırma
ECI örneğindeki konteynerler için ortam değişkenleri ayarlayarak örnek bilgilerini de alabilirsiniz. Bu yöntem; örnek kimliği, örnek adı, bölge, alan ve konteyner adı gibi meta verilere erişim sağlar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Örnek yapılandırma:
OpenAPI
Bir ECI örneği oluşturmak için CreateContainerGroup API işlemi çağrılırken Container.N.EnvironmentVar.N.Key ve Container.N.EnvironmentVar.N.Value parametrelerini kullanarak ortam değişkenlerini ayarlayabilirsiniz. Aşağıdaki örnekte parametrelerin nasıl yapılandırılacağı gösterilmektedir:
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
Elastic Container Instance konsolu içinde bir ECI örneği oluştururken Container Configurations bölümünde bir konteyner seçin, Gelişmiş Ayarlarını genişletin ve ardından ortam değişkeni eklemek için Environment Variable anahtarını etkinleştirin. Örneğin aşağıdaki ortam değişkenlerini ekleyebilirsiniz:
eci_id:__ECI_ID__(Örnek Kimliği)eci_name:__ECI_NAME__(Örnek Adı)region_id:__REGION_ID__(Bölge Kimliği)zone_id:__ZONE_ID__(Alan Kimliği)container_name:__CONTAINER_NAME__(Konteyner Adı)
ECI örneğini oluşturduktan sonra yapılandırmayı doğrulamak üzere konteynere bağlanın. Daha fazla bilgi için bkz. Workbench kullanarak bir ECI örneğine bağlanma.
Aşağıdaki örnekte, konteynerdeki env komutunun çıktısı gösterilmektedir:
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
#