$30 off During Our Annual Pro Sale. View Details »

ExternalDNS を試してみた / Tried ExternalDNS

ののし
December 08, 2020

ExternalDNS を試してみた / Tried ExternalDNS

ののし

December 08, 2020
Tweet

More Decks by ののし

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 登壇きっかけ

    View Slide

  4. 背景

    View Slide

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

    View Slide

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

    View Slide

  7. View Slide

  8. ExternalDNS とは
    ◼Ingress や Service を DNS プロバイダと同期
    ◼DNS プロバイダに依存しない DNS レコードの動的管理

    View Slide

  9. 対応している DNS プロバイダ
    Stable
    Google Cloud DNS, AWS Route 53
    Beta
    AWS Cloud Map, Azure DNS, CloudFlare
    Alpha
    DigitalOcean, CoreDNS, …計 22 個
    v0.7 時点

    View Slide

  10. デプロイ方法
    ◼DNS プロバイダ毎に設定
    ◼公式リポジトリにチュートリアルあります

    View Slide

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

    View Slide

  12. + CoreDNS

    View Slide

  13. ExternalDNS マニフェスト

    View Slide

  14. システム構成図

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. + Azure DNS

    View Slide

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

    View Slide

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

    View Slide

  24. ExternalDNS マニフェスト

    View Slide

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

    View Slide

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

    View Slide

  27. まとめ

    View Slide

  28. まとめ
    ExternalDNS で DNS 動的管理 自宅 k8s クラスタで簡単にサービスへアクセスできるように
    多くの DNS プロバイダに対応
    Stable, Beta のプロバイダは少ない
    コントリビュートするチャンスかも?
    某金魚さんブログにて awx コマンドでの同期を紹介

    View Slide