Kubernetes クラスタ内のアプリケーション Pod のドメインネームサービス(DNS)ポリシーを設定できます。これは、アプリケーション Pod から DNS へのアクセスを制御し、アプリケーション Pod が DNS を介して目的のサービスを検出して通信できるようにするのに役立ちます。このトピックでは、アプリケーションの作成時にアプリケーション Pod の DNS ポリシーとドメイン名エイリアスを設定する方法について説明します。
手順
EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。[アプリケーション] ページが表示されます。トップナビゲーションバーで、リージョンを選択します。ページの上部で、名前空間を選択します。左上隅で、[アプリケーションの作成] をクリックします。
[基本情報] 手順で、必要に応じて関連パラメータを設定し、[次へ] をクリックします。
[構成] 手順で、アプリケーションの環境情報、基本情報、およびデプロイ方法を設定し、関連リソースパラメータを設定して、[次へ] をクリックします。
[詳細設定] 手順で、[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 アドレスに解決する指定されたホスト名。複数のホスト名はカンマ(,)で区切ります。
[アプリケーションの作成] をクリックします。
詳細設定を構成した後、[アプリケーションの作成] をクリックします。[作成完了] 手順で、[アプリケーションの作成] をクリックします。
[アプリケーション変更の事前チェックの確認] ダイアログボックスで、[事前チェックの開始] をクリックします。
ダイアログボックス内のデータが更新された後、事前チェック項目と結果を確認し、[続行] をクリックします。
(オプション) 上記の事前チェック項目を変更した場合は、[再確認] をクリックします。
アプリケーションのデプロイには数分かかります。このプロセス中に、変更レコードを表示して、[変更リスト] ページでアプリケーションのデプロイの進行状況を追跡できます。アプリケーションをデプロイした後、[アプリケーションの概要] ページに移動して、Pod の実行状態を表示します。Pod が 実行中 状態の場合、アプリケーションはデプロイされています。Pod の実行状態をクリックして、アプリケーションインスタンスの デプロイメント、Pod、および詳細設定を表示できます。
結果の確認
[アプリケーションの概要] ページで、[基本情報] セクションの 実行状態 の横にある [表示をクリック] をクリックします。
[pod] セクションで、確認する Pod を見つけ、[アクション] 列の [ターミナル] をクリックします。
[ターミナル] ページで、次のコマンドを実行して、DNS 設定が
/etc/resolv.conf
ファイルに書き込まれているかどうかを確認します。cat /etc/resolv.conf
次のステップ
Kubernetes は、サービスと Pod の DNS レコードを作成します。詳細については、「DNS for Services and Pods」をご参照ください。