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

Elastic Container Instance:ポッド用のカスタムDNSサーバーの構成

最終更新日:Jan 05, 2025

ハイブリッドクラウドシナリオでは、内部ネットワークのイメージリポジトリからイメージをプルする場合、またはコンテナが内部ドメイン名にアクセスする必要がある場合は、Elastic container Instanceベースのポッドのドメインネームシステム (DNS) サーバーを内部DNSサーバーに設定する必要があります。 次に、内部DNSサーバーを使用して内部ドメイン名を解決できます。 このトピックでは、Elastic Container InstanceベースのポッドにカスタムDNSサーバーを設定する方法について説明します。

背景情報

ハイブリッドクラウドのシナリオでは、Kubernetesクラスターにオンプレミスノードが含まれ、イメージリポジトリがオンプレミスノードにある場合、クラスターのDNSサーバーがローカル内部ネットワークを解決できないため、ポッドはオンプレミスネットワーク環境にアクセスできない可能性があります。 Elastic Container Instanceは、カスタムDNSサーバー機能を提供します。 Elastic Container Instanceベースのポッド用にカスタムDNSサーバーを設定して、内部ドメイン名を解決できます。 次に、ローカル内部ネットワークにアクセスできます。

設定の説明

ポッドの構成ファイルのメタデータにk8s.aliyun.com/eci-custom-dnsconfig注釈を追加して、ポッドがカスタムDNSサーバーを使用することを指定できます。 このアノテーションの値は、{\"nameservers\":\"20.1.xx.xx.xx,20.1.xx\",\"searches\":\"xx.com,xx.eee\",\"options\":\"ndots:2,edns0\"} 形式にあります。 次の表に、設定ファイルに含まれるフィールドを示します。

項目

説明

ネームサーバー

DNSサーバーのIPアドレス。 最大2つのIPアドレスがサポートされています。 余分なIPアドレスは自動的に無視されます。

さらに、システムはAlibaba Cloud DNSサーバーのIPアドレスをフィールド値の末尾に自動的に追加し、システムが期待どおりに機能するようにします。

検索

DNSサーバーの検索ドメイン。 最大32の検索ドメインが許可されます。

解決のために不完全なドメイン名を入力した場合、システムは検索フィールドの値にドメイン名サフィックスを使用してドメイン名を補完しようとし、ドメイン名を解決します。

オプション

DNS解決オプション。 値は複数のキーと値のペアにすることができます。 一般的なオプションは次のとおりです。

  • ndots: 絶対ドメイン名と見なされるためにDNSサーバー名に含める必要のある期間の最小数 (.) を指定します。 それ以外の場合、DNSは検索ドメインのドメイン名を解決しようとします。

  • edns0: EDNS0拡張機能を有効にして、より大きなユーザーデータグラムプロトコル (UDP) パケットをサポートし、セキュリティを向上させます。

  • timeout: DNSクエリのタイムアウト期間を指定します。

  • attemps: DNSクエリの試行回数を指定します。

設定例:

説明

ビジネス要件に基づいて、ポッドのdnsPolicyフィールドを設定できます。 dnsPolicyフィールドをDefaultに設定することを推奨します。これは、ポッドが存在するノードのDNS構成をポッドが継承することを示します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-custom-dnsconfig: "{\"nameservers\":\"20.1.xx.xx,20.1.xx.xx\",\"searches\":\"xx.com,xx.eee\",\"options\":\"ndots:2,edns0\"}"
    spec:
      dnsPolicy: Default  
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

関連ドキュメント

DNS設定の詳細については、「DNSの概要」をご参照ください。