개발 서버 k8s 설정 사용자 정의 dns 분석

5295 단어 계통서버플랫폼
문제 설명: 개발 서버는 내망에 있고 개발자는 때때로 집에서나 다른 곳에서 개발을 하고 사용하는 서버 포트를 내망에 전송하며 더 많은 경우 같은 곳에서 개발을 한다. 잦은 설정과 개발 주소 변경이 매우 불편하다. 그러면 더 좋은 해결 방법이 없을까?
해결 방법: 도메인 주소를 도메인 주소로 통일하여 사용자 정의로 도메인 이름을 해석하면 개발 주소를 바꾸는 문제를 해결할 수 있다.

환경 설명


k8s 1.15 centos 7.도메인 이름: 서버.dev.foxwho.com NIC IP: 192.168.0.254 10.1.99.99

centos 개발 서버 설치 dnsmasq 도메인 이름 분석 서비스

yum  -y  install dnsmasq

dnsmasq 설정 수정


파일: /etc/dnsmasq.conf 수정 내용은 다음과 같습니다.
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=127.0.0.1,10.1.99.99,192.168.0.254
addn-hosts=/etc/dnsmasq.hosts

매개변수 해석:resolv-file 정의dnsmasq는 업스트림 DNS 서버의 주소를 어디서 가져옵니까? 기본값은 /etc/resolv.conf 에서 가져옵니다.여기에서 정의한 것은 /etc/resolv.dnsmasq.conf 파일에서 얻을 수 있습니다.strict-orderresolv-file 파일의 순서에 따라 위에서 아래로 DNS 해석을 엄격히 하고 첫 번째 해석이 성공할 때까지 합니다.listen-address 감청된 주소를 정의하고 기본적으로 본 컴퓨터의 모든 네트워크 카드를 감시하는 데 dnsmasq 호스트 기록을 추가하면 addn-hosts 파일과 같이 물리적 컴퓨터/etc/hostshostname 맵을 추가합니다.
새 프로필ip을 서버에 따라 작성
nameserver 192.168.0.1
nameserver 223.5.5.5
nameserver 223.6.6.6

새 프로필 /etc/resolv.dnsmasq.conf 은 서버 호스트에 따라 작성합니다
127.0.0.1 localhost
192.168.0.254 server.dev.foxwho.com

dnsmasq 서비스 시작

systemctl enable dnsmasq --now 
 
systemctl enable dnsmasq && systemctl start  dnsmasq

상태 보기
systemctl status dnsmasq

서버nameserver 주소 수정


서버의 /etc/dnsmasq.hosts 안의 /etc/resolv.conf 주소를 nameserver 서비스 주소로 바꾸고 53 포트를 기본적으로 감청합니다.
nameserver 192.168.0.254

k8sdns 분석 업데이트


k8sdns 조회
kubectl -n kube-system  get pods

출력
coredns-8686dcc4fd-4bpqs                1/1     Running   0          20m
coredns-8686dcc4fd-xsd5h                1/1     Running   0          20m
etcd-foxserver                          1/1     Running   4          80d
kube-apiserver-foxserver                1/1     Running   41         80d
kube-controller-manager-foxserver       1/1     Running   6          80d
kube-flannel-ds-amd64-jdxx4             1/1     Running   4          80d
kube-proxy-x79qh                        1/1     Running   4          80d
kube-scheduler-foxserver                1/1     Running   6          80d
kubernetes-dashboard-76f6bf8c57-x5ph8   1/1     Running   4          80d

coredns 삭제하고 k8s에서 새 coredns 만들기
kubectl -n kube-system delete pod coredns-8686dcc4fd-4bpqs
kubectl -n kube-system delete pod coredns-8686dcc4fd-xsd5h

몇 초 동안 기다렸다가 다시 dnsmasq 보면 새 것이 만들어지고 실행되는 것을 볼 수 있습니다

테스트 dns


서버 테스트

ping server.dev.foxwho.com

출력
PING server.dev.foxwho.com (192.168.0.252) 56(84) bytes of data.
64 bytes from foxserver (192.168.0.252): icmp_seq=1 ttl=64 time=0.025 ms
64 bytes from foxserver (192.168.0.252): icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from foxserver (192.168.0.252): icmp_seq=3 ttl=64 time=0.057 ms
64 bytes from foxserver (192.168.0.252): icmp_seq=4 ttl=64 time=0.058 ms

k8s 테스트


sentinel-0은 당신이 만든pod입니다.
kubectl exec -it sentinel-0  ping server.dev.foxwho.com

출력
PING server.dev.foxwho.com (192.168.0.252) 56(84) bytes of data.
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=2 ttl=64 time=0.089 ms
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=3 ttl=64 time=0.069 ms
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=4 ttl=64 time=0.069 ms
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=5 ttl=64 time=0.069 ms
64 bytes from 192-168-0-252.kubernetes.default.svc.cluster.local (192.168.0.252): icmp_seq=6 ttl=64 time=0.073 ms

도메인 이름 바인딩


가령 외부 포트에서 전송된 서버 IP가 kubectl -n kube-system get pods 라면 도메인 이름 해석에서 47.52.41.70 의 IP를 server.dev.foxwho.com 로 가리킨다

사내 네트워크


조건부 (회사 라우터 지원) 라우터에 도메인 네임 설정 47.52.41.70 지향 IP server.dev.foxwho.com 조건 없으면 개발자 컴퓨터마다 설정 192.168.0.254 개발자 컴퓨터가 외출할 경우 삭제 /etc/hosts
192.168.0.254 server.dev.foxwho.com

이로써 내망, 외망은 모두 정상적으로 접근할 수 있으며 더 이상 개발 서버 Ip를 빈번하게 변경할 필요가 없다

kubernetes coredns 사용자 정의 DNS 확인 레코드 추가


사용자 정의 해석은 다음과 같습니다.https://blog.csdn.net/kunyus/article/details/88841159
출처https://www.cnblogs.com/cuishuai/p/9856843.html

좋은 웹페이지 즐겨찾기