Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ExternalDNS を試してみた / Tried ExternalDNS

1e210dc7083cc282628ff071926b9351?s=47 ののし
December 08, 2020

ExternalDNS を試してみた / Tried ExternalDNS

1e210dc7083cc282628ff071926b9351?s=128

ののし

December 08, 2020
Tweet

Transcript

  1. ExternalDNS を試してみた December 8, 2020 @nnstt1 Kubernetes Novice Tokyo #7

  2. 自己紹介 ◼Name ののし @nnstt1 ◼Job インフラエンジニア ◼Fav Ansible Azure Kubernetes

  3. 登壇きっかけ

  4. 背景

  5. 自宅 k8s クラスタでの悩み Service type: LoadBalancer デプロイ ブラウザで IP アドレスにアクセス

    MetalLB で IP アドレス払い出し Grafana とか ArgoCD とか使いたい!
  6. 自宅 k8s クラスタでの悩み Service type: LoadBalancer デプロイ ブラウザで IP アドレスにアクセス

    MetalLB で IP アドレス払い出し Grafana とか ArgoCD とか使いたい! IP アドレスでアクセスしたくない! 手動で DNS レコード登録したくない!
  7. None
  8. ExternalDNS とは ◼Ingress や Service を DNS プロバイダと同期 ◼DNS プロバイダに依存しない

    DNS レコードの動的管理
  9. 対応している DNS プロバイダ Stable Google Cloud DNS, AWS Route 53

    Beta AWS Cloud Map, Azure DNS, CloudFlare Alpha DigitalOcean, CoreDNS, …計 22 個 v0.7 時点
  10. デプロイ方法 ◼DNS プロバイダ毎に設定 ◼公式リポジトリにチュートリアルあります

  11. 登録するホスト名 Ingress spec.rules.host に基づいて設定 Service ExternalDNS 用アノテーションを付与

  12. + CoreDNS

  13. ExternalDNS マニフェスト

  14. システム構成図

  15. システム構成図 IP アドレス払い出し

  16. システム構成図 ホスト名とIPアドレス参照

  17. システム構成図 DNS レコード自動登録

  18. システム構成図 DNS 参照

  19. システム構成図 FQDN でアクセス

  20. 結果が分かりにくいので

  21. + Azure DNS

  22. システム構成図 Azure Load Balancer Azure DNS

  23. 事前準備 DNS ゾーン ExternalDNS でレコード登録する対象 Secret DNS ゾーンを操作するサービスプリンシパルの情報 kubectl create

    secret generic azure-config-file --from-file azure.json
  24. ExternalDNS マニフェスト

  25. Azure DNS TXT レコードも作成 されている

  26. TXT レコード ◼ ExternalDNS は TXT レコードで管理対象のレコードか判断

  27. まとめ

  28. まとめ ExternalDNS で DNS 動的管理 自宅 k8s クラスタで簡単にサービスへアクセスできるように 多くの DNS

    プロバイダに対応 Stable, Beta のプロバイダは少ない コントリビュートするチャンスかも? 某金魚さんブログにて awx コマンドでの同期を紹介