2.12. 수동 DNS 관리를 위한 Ingress 컨트롤러 구성
클러스터 관리자가 Ingress Controller를 생성하면 운영자가 DNS 레코드를 자동으로 관리합니다. 필요한 DNS 영역이 클러스터 DNS 영역과 다르거나 DNS 영역이 클라우드 공급자 외부에서 호스팅되는 경우 몇 가지 제한이 있습니다.
클러스터 관리자는 Ingress Controller를 구성하여 자동 DNS 관리를 중지하고 수동 DNS 관리를 시작할 수 있습니다. dnsManagementPolicy를
설정하여 자동 또는 수동으로 관리할지 여부를 지정합니다.
Ingress Controller를 관리형
DNS 관리 정책에서 비관리형
DNS 관리 정책으로 변경하는 경우, 운영자는 클라우드에 프로비저닝된 이전 와일드카드 DNS 레코드를 정리하지 않습니다. Ingress Controller를 비관리형
에서 관리형
DNS 관리 정책으로 변경하면 운영자는 클라우드 공급자에 DNS 레코드가 없으면 생성을 시도하고, 이미 있으면 DNS 레코드를 업데이트합니다.
dnsManagementPolicy를
unmanaged
로 설정하면 클라우드 공급자에서 와일드카드 DNS 레코드의 수명 주기를 수동으로 관리해야 합니다.
2.12.1. 관리되는 DNS 관리 정책 링크 복사링크가 클립보드에 복사되었습니다!
Ingress Controllers의 관리형
DNS 관리 정책은 클라우드 공급자의 와일드카드 DNS 레코드 수명 주기가 운영자에 의해 자동으로 관리되도록 보장합니다.
2.12.2. 관리되지 않는 DNS 관리 정책 링크 복사링크가 클립보드에 복사되었습니다!
Ingress Controllers의 관리되지 않는
DNS 관리 정책은 클라우드 공급자의 와일드카드 DNS 레코드 수명 주기가 자동으로 관리되지 않고 대신 클러스터 관리자의 책임이 되도록 보장합니다.
AWS 클라우드 플랫폼에서 Ingress Controller의 도메인이 dnsConfig.Spec.BaseDomain
과 일치하지 않으면 DNS 관리 정책이 자동으로 Unmanaged
로 설정됩니다.
2.12.3. 관리되지 않는 DNS 관리 정책을 사용하여 사용자 지정 Ingress 컨트롤러 만들기 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 관리되지 않는
DNS 관리 정책을 사용하여 새로운 사용자 지정 Ingress 컨트롤러를 만들 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
다음 내용을 포함하는
sample-ingress.yaml
이라는 사용자 정의 리소스(CR) 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하여 변경 사항을 적용합니다.
oc apply -f <name>.yaml
oc apply -f <name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.12.4. 기존 Ingress 컨트롤러 수정 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 기존 Ingress 컨트롤러를 수정하여 DNS 레코드 수명 주기를 수동으로 관리할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
선택한
IngressController를
수정하여dnsManagementPolicy를
설정합니다.SCOPE=$(oc -n openshift-ingress-operator get ingresscontroller <name> -o=jsonpath="{.status.endpointPublishingStrategy.loadBalancer.scope}") oc -n openshift-ingress-operator patch ingresscontrollers/<name> --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"dnsManagementPolicy":"Unmanaged", "scope":"${SCOPE}"}}}}'
SCOPE=$(oc -n openshift-ingress-operator get ingresscontroller <name> -o=jsonpath="{.status.endpointPublishingStrategy.loadBalancer.scope}") oc -n openshift-ingress-operator patch ingresscontrollers/<name> --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"dnsManagementPolicy":"Unmanaged", "scope":"${SCOPE}"}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 클라우드 공급자에서 연관된 DNS 레코드를 삭제할 수 있습니다.