2장. AWS의 Red Hat OpenShift Service의 DNS Operator
AWS의 Red Hat OpenShift Service에서 DNS Operator는 CoreDNS 인스턴스를 배포 및 관리하여 클러스터 내부 Pod에 이름 확인 서비스를 제공하고 DNS 기반 Kubernetes 서비스 검색을 활성화하며 내부 cluster.local
이름을 확인합니다.
2.1. DNS 전달 사용
DNS 전달을 사용하여 다음과 같은 방법으로 /etc/resolv.conf
파일의 기본 전달 구성을 덮어쓸 수 있습니다.
모든 영역에 대해 이름 서버(
spec.servers
)를 지정합니다. 전달된 영역이 AWS의 Red Hat OpenShift Service에서 관리하는 인그레스 도메인인 경우 도메인에 대한 업스트림 이름 서버를 인증해야 합니다.중요하나 이상의 영역을 지정해야 합니다. 그렇지 않으면 클러스터가 기능을 손실할 수 있습니다.
-
업스트림 DNS 서버 목록 제공(
spec.upstreamResolvers
). - 기본 전달 정책을 변경합니다.
기본 도메인의 DNS 전달 구성에는 /etc/resolv.conf
파일과 업스트림 DNS 서버에 지정된 기본 서버가 모두 있을 수 있습니다.
프로세스
이름이
default
인 DNS Operator 오브젝트를 수정합니다.$ oc edit dns.operator/default
이전 명령을 실행한 후 Operator는
spec.servers
를 기반으로 추가 서버 구성 블록을 사용하여dns-default
라는 구성 맵을 생성하고 업데이트합니다.중요zones
매개 변수의 값을 지정할 때 인트라넷과 같은 특정 영역으로만 전달해야 합니다. 하나 이상의 영역을 지정해야 합니다. 그렇지 않으면 클러스터가 기능을 손실할 수 있습니다.서버에 쿼리와 일치하는 영역이 없는 경우 이름 확인은 업스트림 DNS 서버로 대체됩니다.
DNS 전달 구성
apiVersion: operator.openshift.io/v1 kind: DNS metadata: name: default spec: cache: negativeTTL: 0s positiveTTL: 0s logLevel: Normal nodePlacement: {} operatorLogLevel: Normal servers: - name: example-server 1 zones: - example.com 2 forwardPlugin: policy: Random 3 upstreams: 4 - 1.1.1.1 - 2.2.2.2:5353 upstreamResolvers: 5 policy: Random 6 protocolStrategy: "" 7 transportConfig: {} 8 upstreams: - type: SystemResolvConf 9 - type: Network address: 1.2.3.4 10 port: 53 11 status: clusterDomain: cluster.local clusterIP: x.y.z.10 conditions: ...
- 1
rfc6335
서비스 이름 구문을 준수해야 합니다.- 2
rfc1123
서비스 이름 구문의 하위 도메인 정의를 준수해야 합니다. 클러스터 도메인인cluster.local
은zones
필드에 대해 유효하지 않은 하위 도메인입니다.- 3
forwardPlugin
에 나열된 업스트림 리졸버를 선택하는 정책을 정의합니다. 기본값은Random
입니다.RoundRobin
및Sequential
값을 사용할 수도 있습니다.- 4
forwardPlugin
당 최대 15개의업스트림
이 허용됩니다.- 5
upstreamResolvers
를 사용하여 기본 전달 정책을 재정의하고 기본 도메인의 지정된 DNS 확인자(업스트림 확인자)로 DNS 확인을 전달할 수 있습니다. 업스트림 확인자를 제공하지 않으면 DNS 이름 쿼리는/etc/resolv.conf
에 선언된 서버로 이동합니다.- 6
- 쿼리용으로 업스트림에 나열된
업스트림
서버의 순서를 결정합니다. 이러한 값 중 하나를 지정할 수 있습니다.Random
,RoundRobin
또는Sequential
. 기본값은Sequential
입니다. - 7
- 생략하면 플랫폼은 원래 클라이언트 요청의 프로토콜인 기본값을 선택합니다. 클라이언트 요청이 UDP를 사용하는 경우에도 플랫폼에서 모든 업스트림 DNS 요청에
TCP
를 사용하도록 지정하려면 TCP로 설정합니다. - 8
- DNS 요청을 업스트림 확인기로 전달할 때 사용할 전송 유형, 서버 이름 및 선택적 사용자 정의 CA 또는 CA 번들을 구성하는 데 사용됩니다.
- 9
- 두 가지 유형의
업스트림
을 지정할 수 있습니다 :SystemResolvConf
또는Network
.SystemResolvConf
는/etc/resolv.conf
를 사용하도록 업스트림을 구성하고Network
는Networkresolver
를 정의합니다. 하나 또는 둘 다를 지정할 수 있습니다. - 10
- 지정된 유형이
Network
인 경우 IP 주소를 제공해야 합니다.address
필드는 유효한 IPv4 또는 IPv6 주소여야 합니다. - 11
- 지정된 유형이
네트워크
인 경우 선택적으로 포트를 제공할 수 있습니다.port
필드에는1
에서65535
사이의 값이 있어야 합니다. 업스트림에 대한 포트를 지정하지 않으면 기본 포트는 853입니다.
추가 리소스
- DNS 전달에 대한 자세한 내용은 CoreDNS 전달 설명서를 참조하십시오.