すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:Elastic Container Instance ベースのポッドの hosts を構成する

最終更新日:Dec 28, 2024

シナリオによっては、Elastic Container Instance ベースのポッドの hosts を構成する必要がある場合があります。たとえば、自己管理型イメージリポジトリからイメージをプルする場合、hosts ファイルを使用してイメージリポジトリの実際の IP アドレスを指定する必要があります。このトピックでは、/etc/hosts ファイルを変更することで、Elastic Container Instance ベースのポッドの hosts を構成する方法について説明します。

構成の説明

k8s.aliyun.com/eci-custom-hosts アノテーションを使用して、ポッドの hosts を構成できます。IP アドレスとドメイン名の複数のマッピングを指定できます。マッピングの形式は {\"host\":\"example.com\",\"ip\":\"100.100.XX.XX\"}です。

重要
  • アノテーションは、ポッドの構成ファイルのメタデータに追加する必要があります。たとえば、Deployment を作成する場合、spec.template.metadata セクションにアノテーションを追加する必要があります。

  • Elastic Container Instance の機能を使用するには、Elastic Container Instance ベースのポッドを作成するときにのみアノテーションを追加できます。ポッドを更新するときにアノテーションを追加または変更した場合、これらのアノテーションは有効になりません。

構成例

たとえば、自己管理型イメージリポジトリからイメージをプルする場合、hosts ファイルを使用してイメージリポジトリの実際の IP アドレスを指定する必要があります。hosts の YAML ファイル:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      name: test
      labels:
        app: test
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-custom-hosts: "[{\"host\":\"example.com\",\"ip\":\"100.100.XX.XX\"},{\"host\":\"aliyundoc.com\",\"ip\":\"100.100.XX.XX\"}]"
    spec:
      containers:
      - name: nginx
        image: example.com/test/nginx:latest
        ports:
        - containerPort: 80
      - name: busybox
        image: aliyundoc.com/test/busybox:1.30
        command: ["sleep"]
        args: ["999999"]