Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ExternalDNS を試してみた / Tried ExternalDNS
Search
ののし
December 08, 2020
Technology
2
810
ExternalDNS を試してみた / Tried ExternalDNS
ののし
December 08, 2020
Tweet
Share
More Decks by ののし
See All by ののし
HCP Vault Secrets でシークレット管理を始めよう / Getting Started with Secret Management Using HCP Vault Secrets
nnstt1
0
41
HashiCorp Ambassador が予想!Red Hat × HashiCorp の未来 / The Future of Red Hat and HashiCorp
nnstt1
1
120
Terraform を使った Front Door の小ネタ / Terraform for Front Door
nnstt1
0
76
つまずきから学ぶ Backstage の Golden Path 構築
nnstt1
2
920
Azure ユーザに捧げる Terraform Cloud 101 / Terraform Cloud 101 for Azure Users
nnstt1
0
460
AKS と HCP Vault の組み合わせでつまずいた話 / Stumbles with AKS and HCP Vault combination
nnstt1
1
96
Vault Secrets Operator と HCP Vault を使った AKS のシークレット管理 / AKS secret management using the Vault Secrets Operator and HCP Vault
nnstt1
0
110
Vault Secrets Operator と Dynamic Secrets で安全にシークレットを使おう / Vault Secrets Operator and Dynamic Secrets
nnstt1
4
780
OpenShift を身近に感じる Single Node OpenShift と OpenShift Local / Single Node OpenShift and OpenShift Local that makes OpenShift familiar
nnstt1
1
980
Other Decks in Technology
See All in Technology
Can We Measure Developer Productivity?
ewolff
1
150
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Terraform Stacks入門 #HashiTalks
msato
0
360
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
110
いざ、BSC討伐の旅
nikinusu
2
780
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
複雑なState管理からの脱却
sansantech
PRO
1
150
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Teambox: Starting and Learning
jrom
133
8.8k
What's in a price? How to price your products and services
michaelherold
243
12k
Docker and Python
trallard
40
3.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Optimizing for Happiness
mojombo
376
70k
Producing Creativity
orderedlist
PRO
341
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Why Our Code Smells
bkeepers
PRO
334
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Transcript
ExternalDNS を試してみた December 8, 2020 @nnstt1 Kubernetes Novice Tokyo #7
自己紹介 ◼Name ののし @nnstt1 ◼Job インフラエンジニア ◼Fav Ansible Azure Kubernetes
登壇きっかけ
背景
自宅 k8s クラスタでの悩み Service type: LoadBalancer デプロイ ブラウザで IP アドレスにアクセス
MetalLB で IP アドレス払い出し Grafana とか ArgoCD とか使いたい!
自宅 k8s クラスタでの悩み Service type: LoadBalancer デプロイ ブラウザで IP アドレスにアクセス
MetalLB で IP アドレス払い出し Grafana とか ArgoCD とか使いたい! IP アドレスでアクセスしたくない! 手動で DNS レコード登録したくない!
None
ExternalDNS とは ◼Ingress や Service を DNS プロバイダと同期 ◼DNS プロバイダに依存しない
DNS レコードの動的管理
対応している DNS プロバイダ Stable Google Cloud DNS, AWS Route 53
Beta AWS Cloud Map, Azure DNS, CloudFlare Alpha DigitalOcean, CoreDNS, …計 22 個 v0.7 時点
デプロイ方法 ◼DNS プロバイダ毎に設定 ◼公式リポジトリにチュートリアルあります
登録するホスト名 Ingress spec.rules.host に基づいて設定 Service ExternalDNS 用アノテーションを付与
+ CoreDNS
ExternalDNS マニフェスト
システム構成図
システム構成図 IP アドレス払い出し
システム構成図 ホスト名とIPアドレス参照
システム構成図 DNS レコード自動登録
システム構成図 DNS 参照
システム構成図 FQDN でアクセス
結果が分かりにくいので
+ Azure DNS
システム構成図 Azure Load Balancer Azure DNS
事前準備 DNS ゾーン ExternalDNS でレコード登録する対象 Secret DNS ゾーンを操作するサービスプリンシパルの情報 kubectl create
secret generic azure-config-file --from-file azure.json
ExternalDNS マニフェスト
Azure DNS TXT レコードも作成 されている
TXT レコード ◼ ExternalDNS は TXT レコードで管理対象のレコードか判断
まとめ
まとめ ExternalDNS で DNS 動的管理 自宅 k8s クラスタで簡単にサービスへアクセスできるように 多くの DNS
プロバイダに対応 Stable, Beta のプロバイダは少ない コントリビュートするチャンスかも? 某金魚さんブログにて awx コマンドでの同期を紹介