5.3. DNS Pod 배치 제어
DNS Operator에는 2개의 데몬 세트(CoreDNS 및 /etc/hosts
파일 관리용)가 있습니다. 이미지 가져오기를 지원할 클러스터 이미지 레지스트리의 항목을 추가하려면 모든 노드 호스트에서 /etc/hosts
의 데몬 세트를 실행해야 합니다. 보안 정책은 CoreDNS에 대한 데몬 세트가 모든 노드에서 실행되지 않도록 하는 노드 쌍 간 통신을 금지할 수 있습니다.
클러스터 관리자는 사용자 정의 노드 선택기를 사용하여 특정 노드에서 CoreDNS를 실행하거나 실행하지 않도록 데몬 세트를 구성할 수 있습니다.
사전 요구 사항
-
oc
CLI를 설치했습니다. -
cluster-admin
권한이 있는 사용자로 클러스터에 로그인합니다.
프로세스
특정 노드 간 통신을 방지하려면
spec.nodePlacement.nodeSelector
API 필드를 구성합니다.이름이
default
인 DNS Operator 오브젝트를 수정합니다.$ oc edit dns.operator/default
spec.nodePlacement.nodeSelector
API 필드에 컨트롤 플레인 노드만 포함하는 노드 선택기를 지정합니다.spec: nodePlacement: nodeSelector: node-role.kubernetes.io/worker: ""
CoreDNS의 데몬 세트가 노드에서 실행되도록 테인트 및 허용 오차를 구성합니다.
이름이
default
인 DNS Operator 오브젝트를 수정합니다.$ oc edit dns.operator/default
테인트 키와 테인트에 대한 허용 오차를 지정합니다.
spec: nodePlacement: tolerations: - effect: NoExecute key: "dns-only" operators: Equal value: abc tolerationSeconds: 3600 1
- 1
- 테인트가
dns-only
인 경우 무기한 허용될 수 있습니다.tolerationSeconds를
생략할 수 있습니다.