2.11. 수동 DNS 관리를 위한 Ingress 컨트롤러 구성
클러스터 관리자는 Ingress 컨트롤러를 생성할 때 Operator는 DNS 레코드를 자동으로 관리합니다. 이는 필수 DNS 영역이 클러스터 DNS 영역과 다른 경우 또는 DNS 영역이 클라우드 공급자 외부에서 호스팅되는 경우 몇 가지 제한 사항이 있습니다.
클러스터 관리자는 자동 DNS 관리를 중지하고 수동 DNS 관리를 시작하도록 Ingress 컨트롤러를 구성할 수 있습니다. 자동 또는 수동으로 관리해야 하는 시기를 지정하려면 dnsManagementPolicy
를 설정합니다.
Ingress 컨트롤러를 Managed
에서 Unmanaged
DNS 관리 정책으로 변경하면 Operator에서 클라우드에 프로비저닝된 이전 와일드카드 DNS 레코드를 정리하지 않습니다. Ingress 컨트롤러를 Unmanaged
에서 Managed
DNS 관리 정책으로 변경하면 Operator에서 클라우드 공급자에 대한 DNS 레코드를 생성하려고 시도하거나 이미 존재하는 경우 DNS 레코드를 업데이트합니다.
dnsManagementPolicy
를 Unmanaged
로 설정하면 클라우드 공급자의 와일드카드 DNS 레코드의 라이프사이클을 수동으로 관리해야 합니다.
2.11.1. 관리형 DNS 관리 정책 링크 복사링크가 클립보드에 복사되었습니다!
Ingress 컨트롤러에 대한 관리형
DNS 관리 정책을 사용하면 클라우드 공급자의 와일드카드 DNS 레코드의 라이프사이클이 Operator에 의해 자동으로 관리됩니다.
2.11.2. 관리되지 않는 DNS 관리 정책 링크 복사링크가 클립보드에 복사되었습니다!
Ingress 컨트롤러에 대한 관리되지 않는
DNS 관리 정책을 사용하면 클라우드 공급자의 와일드카드 DNS 레코드의 라이프사이클이 자동으로 관리되지 않고 클러스터 관리자가 담당합니다.
AWS 클라우드 플랫폼에서 Ingress 컨트롤러의 도메인이 dnsConfig.Spec.BaseDomain
과 일치하지 않으면 DNS 관리 정책이 자동으로 Unmanaged
로 설정됩니다.
2.11.3. Unmanaged DNS 관리 정책을 사용하여 사용자 정의 Ingress 컨트롤러 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 Unmanaged
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.11.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 레코드를 삭제할 수 있습니다.