ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠버네티스 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

    댓글

Designed by Tistory.