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

Enterprise Distributed Application Service:DNS ポリシーの設定

最終更新日:Jan 07, 2025

Kubernetes クラスタ内のアプリケーション Pod のドメインネームサービス(DNS)ポリシーを設定できます。これは、アプリケーション Pod から DNS へのアクセスを制御し、アプリケーション Pod が DNS を介して目的のサービスを検出して通信できるようにするのに役立ちます。このトピックでは、アプリケーションの作成時にアプリケーション Pod の DNS ポリシーとドメイン名エイリアスを設定する方法について説明します。

手順

  1. EDAS コンソール にログインします。左側のナビゲーションペインで、[アプリケーション管理] > [アプリケーション] を選択します。[アプリケーション] ページが表示されます。トップナビゲーションバーで、リージョンを選択します。ページの上部で、名前空間を選択します。左上隅で、[アプリケーションの作成] をクリックします。

  2. [基本情報] 手順で、必要に応じて関連パラメータを設定し、[次へ] をクリックします。

  3. [構成] 手順で、アプリケーションの環境情報、基本情報、およびデプロイ方法を設定し、関連リソースパラメータを設定して、[次へ] をクリックします。

  4. [詳細設定] 手順で、[DNS 設定] をクリックし、必要に応じて関連パラメータを設定して、[次へ] をクリックします。

    パラメータ

    説明

    dnsPolicy

    dnsPolicy フィールドを使用して、各アプリケーション Pod に複数の DNS ポリシーを指定できます。

    • ClusterFirst: CoreDNS を使用してドメイン名を解決します。各 Pod の /etc/resolv.conf ファイルは、DNS サーバーアドレス(CoreDNS の kube-dns アドレスとも呼ばれます)を提供します。これは、クラスタ内のワークロードのデフォルトの DNS ポリシーです。

    • ClusterFirstWithHostNet: ClusterFirst ポリシーと hostNetwork モードを組み合わせたものです。これにより、Pod は Kubernetes の内部および外部ドメイン名を解決できます。

    • Default: クラスタノードの DNS 設定を継承します。つまり、Pod は Elastic Compute Service(ECS)インスタンスの /etc/resolv.conf ファイルを使用できます。このファイルには、Alibaba Cloud DNS によって提供される DNS サーバーアドレスが含まれています。

    • None: クラスタノードの DNS 設定を無視します。代わりに、dnsConfig フィールドで指定された DNS 設定が有効になります。

    dnsConfig

    Pod のカスタム DNS 設定。次のパラメータを設定できます。

    • nameserver: Pod の DNS サーバーの IP アドレス。最大 3 つの IP アドレスを指定できます。

      説明

      Pod の dnsPolicy パラメータを None に設定する場合は、少なくとも 1 つの IP アドレスを指定する必要があります。それ以外の場合は、このパラメータはオプションです。指定された IP アドレスは、指定された DNS ポリシー に基づいて生成される DNS 設定ファイルの nameserver フィールドに追加されます。重複する IP アドレスは削除されます。

    • searches: ホスト名で検索する DNS 検索ドメイン。このパラメータはオプションです。検索ドメインを使用して、Pod のドメイン名を検索して解決できます。指定された検索ドメインは、指定された DNS ポリシー に基づいて生成される基本ドメイン名に追加されます。重複するドメイン名は削除されます。最大 6 つの検索ドメインを指定できます。

    • options: 使用可能なオプション。各オプションについて、名前 属性は必須で、変数値 属性はオプションです。指定されたオプションは、指定された DNS ポリシー に基づいて生成されるオプションのリストに追加されます。重複する項目は削除されます。

    hostAliases

    オンプレミスドメイン名解決のエントリを、Pod の hosts ファイルに追加できます。

    • IP アドレス: 指定されたホスト名が解決される IP アドレス。

    • ホスト名: IP アドレスに解決する指定されたホスト名。複数のホスト名はカンマ(,)で区切ります。

  5. [アプリケーションの作成] をクリックします。

    1. 詳細設定を構成した後、[アプリケーションの作成] をクリックします。[作成完了] 手順で、[アプリケーションの作成] をクリックします。

    2. [アプリケーション変更の事前チェックの確認] ダイアログボックスで、[事前チェックの開始] をクリックします。

      1. ダイアログボックス内のデータが更新された後、事前チェック項目と結果を確認し、[続行] をクリックします。

      2. (オプション) 上記の事前チェック項目を変更した場合は、[再確認] をクリックします。

      アプリケーションのデプロイには数分かかります。このプロセス中に、変更レコードを表示して、[変更リスト] ページでアプリケーションのデプロイの進行状況を追跡できます。アプリケーションをデプロイした後、[アプリケーションの概要] ページに移動して、Pod の実行状態を表示します。Pod が 実行中 状態の場合、アプリケーションはデプロイされています。Pod の実行状態をクリックして、アプリケーションインスタンスの デプロイメントPod、および詳細設定を表示できます。

結果の確認

  1. [アプリケーションの概要] ページで、[基本情報] セクションの 実行状態 の横にある [表示をクリック] をクリックします。

  2. [pod] セクションで、確認する Pod を見つけ、[アクション] 列の [ターミナル] をクリックします。

  3. [ターミナル] ページで、次のコマンドを実行して、DNS 設定が /etc/resolv.conf ファイルに書き込まれているかどうかを確認します。

    cat /etc/resolv.conf

次のステップ

  • Kubernetes は、サービスと Pod の DNS レコードを作成します。詳細については、「DNS for Services and Pods」をご参照ください。