11---
22title : " External DNS"
33sidebar_position : 30
4- tmdTranslationSourceHash : 9f9eabb2ce6f39f3e5e9524956100e15
4+ tmdTranslationSourceHash : 019f0b1b461fa8b8569fd792821c987d
55---
66
7- [ ExternalDNS] ( https://github.com/kubernetes-sigs/external-dns ) はKubernetesコントローラーで、クラスターのサービスとイングレス用のDNSレコードを自動的に管理します 。KubernetesリソースとAWS Route 53などのDNSプロバイダーとの間の橋渡しとして機能し 、DNSレコードがクラスターの状態と同期されるようにします。ロードバランサーにDNSエントリを使用することで、自動生成されたホスト名の代わりに人間が読みやすく、覚えやすいアドレスを提供し、組織のブランディングに合わせたドメイン名でサービスを簡単にアクセスおよび認識できるようにします 。
7+ [ ExternalDNS] ( https://github.com/kubernetes-sigs/external-dns ) はKubernetesコントローラーで、クラスターのサービスとIngressのDNSレコードを自動的に管理します 。KubernetesリソースとAWS Route 53などのDNSプロバイダー間の橋渡しとして機能し 、DNSレコードがクラスターの状態と同期されるようにします。ロードバランサーにDNSエントリを使用することで、自動生成されたホスト名の代わりに人間が読みやすく記憶しやすいアドレスを提供し、組織のブランディングに合ったドメイン名でサービスを簡単にアクセス可能かつ認識可能にします 。
88
9- このラボでは、ExternalDNSとAWS Route 53を使用して、KubernetesのIngressリソースのDNS管理を自動化します 。
9+ このラボでは、ExternalDNSとAWS Route 53を使用してKubernetes IngressリソースのDNS管理を自動化します 。
1010
11- まず、環境変数として提供されているIAM roleのARNとHelmチャートバージョンを使用して 、HelmでExternalDNSをインストールしましょう:
11+ まず、環境変数として提供されているIAM role ARNとHelmチャートバージョンを使用して 、HelmでExternalDNSをインストールしましょう:
1212
1313``` bash
1414$ helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/
@@ -25,36 +25,36 @@ $ helm upgrade --install external-dns external-dns/external-dns --version "${DNS
2525 --wait
2626```
2727
28- ExternalDNSポッドが実行されていることを確認しましょう :
28+ ExternalDNS Podが実行されていることを確認します :
2929
3030``` bash
3131$ kubectl -n external-dns get pods
3232NAME READY STATUS RESTARTS AGE
3333external-dns-5bdb4478b-fl48s 1/1 Running 0 2m
3434```
3535
36- 次に、DNS設定を追加して以前のIngressリソースを更新しましょう :
36+ 次に、DNS設定を含めて以前のIngressリソースを更新しましょう :
3737
3838:: yaml { file =" manifests/modules/exposing/ingress/external-dns/ingress.yaml " paths =" metadata.annotations,spec.rules.0.host " }
3939
40- 1 . ` external-dns.alpha.kubernetes.io/hostname ` アノテーションは 、ExternalDNSにIngress用に作成および管理するDNS名を指定し、アプリのホスト名とロードバランサーのマッピングを自動化します。
41- 2 . ` spec.rules.host ` は、Ingressが待ち受けるドメイン名を定義し、ExternalDNSはこれを使って関連するロードバランサーの一致するDNSレコードを作成します 。
40+ 1 . アノテーション ` external-dns.alpha.kubernetes.io/hostname ` は 、ExternalDNSにIngress用に作成および管理するDNS名を指定し、アプリのホスト名とロードバランサーのマッピングを自動化します。
41+ 2 . ` spec.rules.host ` は、Ingressが待ち受けるドメイン名を定義し、ExternalDNSはこれを使用して関連するロードバランサーに対応するDNSレコードを作成します 。
4242
43- この設定を適用しましょう :
43+ この設定を適用します :
4444
4545``` bash
4646$ kubectl kustomize ~ /environment/eks-workshop/modules/exposing/ingress/external-dns | envsubst | kubectl apply -f -
4747```
4848
49- ホスト名を使用して作成されたIngressオブジェクトを確認しましょう :
49+ ホスト名が設定されたIngressオブジェクトを確認しましょう :
5050
5151``` bash wait=120
5252$ kubectl get ingress ui -n ui
5353NAME CLASS HOSTS ADDRESS PORTS AGE
5454ui alb ui.retailstore.com k8s-ui-ui-1268651632.us-west-2.elb.amazonaws.com 80 4m15s
5555```
5656
57- DNSレコードの作成を確認します。ExternalDNSは` retailstore.com ` のRoute 53プライベートホストゾーンにDNSレコードを自動的に作成します。
57+ DNSレコードの作成を確認します。ExternalDNSは` retailstore.com ` Route 53プライベートホストゾーンにDNSレコードを自動的に作成します。
5858
5959::: note
6060
@@ -74,10 +74,10 @@ Desired change: CREATE ui.retailstore.com A
7474
7575<ConsoleButton url =" https://us-east-1.console.aws.amazon.com/route53/v2/hostedzones " service =" route53 " label =" Route53コンソールを開く " />
7676
77- Route 53のプライベートホストゾーンは、関連付けられたVPC (この場合はEKSクラスターVPC)からのみアクセス可能です。DNSエントリをテストするために、ポッド内から ` curl ` を使用します:
77+ Route 53プライベートホストゾーンは関連付けられたVPC (この場合はEKSクラスターVPC)からのみアクセス可能です。DNSエントリをテストするために、Pod内から ` curl ` を使用します:
7878
7979``` bash hook=dns-curl
80- $ kubectl -n ui exec -it \
80+ $ kubectl -n ui exec \
8181 deployment/ui -- bash -c " curl -i http://ui.retailstore.com/actuator/health/liveness; echo"
8282
8383HTTP/1.1 200 OK
@@ -89,4 +89,3 @@ Set-Cookie: SESSIONID=c3f13e02-4ff3-40ba-866e-c777f7450997
8989
9090{" status" :" UP" }
9191```
92-
0 commit comments