-
쿠버네티스 DNS클라우드 교육/kubernetes 2023. 5. 6. 16:04
기본적으로 파드의 ip주소는 노드에게 할당된 ip주소와 범위가 달라 외부에서 볼수 없는 ip 주소가 할당된다
이때 파드가 노드의 ip를 그대로 따와 가동할 수 있는데,
apiVersion: v1 kind: Pod metadata: name: h1 spec: hostNetwork: true containers: - name: nginx-container image: nginx:1.16
위처럼 spec.hostnetwork 를 활성화 하면 노드의 ip를 그대로 할당받게 된다.
접속도 가능하게 된다.
이렇게 되면 외부에서 파드로 바로 접근하는것이 가능하지만, 파드끼리 네트워크가 달라서 통신이 되지않는다.
이런 DNS 설정(dnsPolicy)는 spec.dnsPolicy에 설정하며 4개의 종류가 있다.
ClusterFirst부터 확인해보자.
apiVersion: v1 kind: Pod metadata: name: s2 spec: dnsPolicy: ClusterFirst containers: - name: nginx-container image: nginx:1.16 --- apiVersion: v1 kind: Pod metadata: name: s2-1 spec: containers: - name: nginx-container image: nginx:1.16
위처럼 두가지를 넣어 하나는 ClusterFirst를 입력해주고 하나는 하지않았다.
아래처럼 같은 네트워크가 할당된다.
none값은 None로 해두고 설정값을 추가하면 된다.
apiVersion: v1 kind: Pod metadata: name: s3 spec: dnsPolicy: None dnsConfig: nameservers: - 8.8.8.8 - 8.8.4.4 searches: - example.com options: - name: ndots value: "5" containers: - name: nginx-container image: nginx:1.16
위처럼 입력하고 확인해보면
DNS값이 설정한 것처럼 들어갔다.
이번에는 Default값을 넣어보자.
apiVersion: v1 kind: Pod metadata: name: s4 spec: dnsPolicy: Default containers: - name: nginx-container image: nginx:1.16
위처럼 입력하고 실제 노드의 /etc/resolv.conf값과 같은지 확인해보면
동일하게 가져왔다.
마지막으로 ClusterFirstWithHostNet를 확인해보자.
apiVersion: v1 kind: Pod metadata: name: s5 spec: dnsPolicy: ClusterFirstWithHostNet hostNetwork: true containers: - name: nginx-container image: nginx:1.16
위처럼 주고 확인해보면
ClusterFirst값과같은 값을 가져왔다.
'클라우드 교육 > kubernetes' 카테고리의 다른 글
쿠버네티스 명령어 scale (0) 2023.05.07 쿠버네티스 컨테이너 설정 변경 (1) 2023.05.06 쿠버네티스 메타데이터 (0) 2023.05.03 kubectx/kubens 설치 (0) 2023.04.30 redis를 이용해 방명록 생성 (0) 2023.01.04