4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

研究室のネットワークのDNS構築した時の話

Last updated at Posted at 2024-07-10

はじめに

研究室のDNSをKubernetes上に作成しました.
仮想マシンを3台作成し,master3台のKunbernetesクラスターを構成しました.
githubにあったhelmのpowerdnsを使いました.

githubにあったhelmのpowerdnsのrecorsorも使いました.

大変だったこと

構成のこと

キャッシュサーバーなんかなくても権威サーバーだけあればなんとかなるだろと思ってたこと.
本番環境に権威サーバーだけ実装したら,再帰的名前解決ができなくて困った.
テスト環境には,DNSとDHCPしかなかったけど,本番環境には踏み台サーバーもありました.
テスト環境と本番環境の違いを全く意識してませんでした.

resolv.confのこと

権威サーバーを実装をインストールしたら名前解決ができなくなってキャッシュサーバーのインストールができなくなりました.
resolv.confのnameserverが127.0.0.1になっていたので,8.8.8.8に変えたかった.resolv.confは書き換えても,すぐに元に戻ってしまうのでだめでした.
systemd-resolved.serviceを止めることで,書き換えることができました.

権威サーバーの作成

git cloneでもってきてvalues.yamlを編集しました.
レプリカ数を変えたり,LoadBalancerにしたりしました.
権威サーバーだけだと特に何の問題もなくできました.

キャッシュサーバーの作成

こっちもgit cloneでもってきてvalues.yamlを編集しました.
レプリカ数を変えたり,LoadBalancerにしたりしました.
ここでいろいろ問題が起きました.権威サーバーとポートが被っていることに気づかずLoadBalancerにしていて,EXTERNAL-IPが振られませんでした.ポートは,確認しましょう.
forward-zonesの指定でKubernetesのサービス名を使おうとしました.だめでした.IPアドレス以外受け付けてくれないみたいです.

values.yaml
config: |-
      daemon=no
      local-address=0.0.0.0
      local-port=53
      allow-from=0.0.0.0/0
      setgid=recursor
      setuid=recursor
      forward-zones=a910.tak-cslab.org=192.168.100.35:5300  #折角Kubernetesだし,ここにservice名入れたかった
      forward-zones-recurse=.=10.200.70.35,.=1.1.1.1
      webserver=yes
      webserver-port=8082
      webserver-address=0.0.0.0
      api-config-dir=/data
      include-dir=/zones
      auth-zones=

おわりに

$ kubectl get pod
NAME                                       READY   STATUS    RESTARTS    
pdns-mariadb-master-0                      2/2     Running   2 (6d ago)  
pdns-mariadb-slave-0                       2/2     Running   2 (6d ago)    
pdns-powerdns-helm-7564649788-grlqh        1/1     Running   3 (6d ago)     
pdns-powerdns-helm-7564649788-jw625        1/1     Running   4 (6d ago)      
pdns-powerdns-helm-7564649788-mtktv        1/1     Running   4 (6d ago)      
recu-pdns-recursor-helm-79bd5bc76d-4krp7   1/1     Running   2 (6d ago)     
recu-pdns-recursor-helm-79bd5bc76d-sm5nv   1/1     Running   2 (6d ago)      
recu-pdns-recursor-helm-79bd5bc76d-tbp25   1/1     Running   2 (6d ago)      

権威サーバーとキャッシュサーバーをそれぞれレプリカ数3で作成し,kubectl get podで確認しました.無事動きました.
知識がなかったり,テスト環境と本番環境の違いに気づかなかったり,大変でした.
特にテスト環境と本番環境の違いには気を付けたほうがいいことを学びました.

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?