2.4. API 서버를 프라이빗으로 제한
AWS (Amazon Web Services) 또는 Microsoft Azure에 클러스터를 배포한 후 프라이빗 영역만 사용하도록 API 서버를 재구성할 수 있습니다.
전제 조건
-
OpenShift CLI (
oc
)를 설치합니다. -
admin
권한이 있는 사용자로 웹 콘솔에 액세스합니다.
프로세스
AWS 또는 Azure의 웹 포털 또는 콘솔에서 다음 작업을 수행합니다.
적절한 로드 밸런서 구성 요소를 찾아 삭제합니다.
- AWS의 경우 외부 로드 밸런서를 삭제합니다. 프라이빗 영역의 API DNS 항목은 동일한 설정을 사용하는 내부 로드 밸런서를 가리키므로 내부 로드 밸런서를 변경할 필요가 없습니다.
-
Azure의 경우 로드 밸런서의
api-internal
규칙을 삭제합니다.
-
퍼블릭 영역의
api.$clustername.$yourdomain
DNS 항목을 삭제합니다.
외부 로드 밸런서를 제거합니다.
중요설치 관리자 프로비저닝 인프라(IPI) 클러스터에 대해서만 다음 단계를 실행할 수 있습니다. UPI(사용자 프로비저닝 인프라) 클러스터의 경우 외부 로드 밸런서를 수동으로 제거하거나 비활성화해야 합니다.
터미널에서 클러스터 시스템을 나열합니다.
$ oc get machine -n openshift-machine-api
출력 예
NAME STATE TYPE REGION ZONE AGE lk4pj-master-0 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-master-1 running m4.xlarge us-east-1 us-east-1b 17m lk4pj-master-2 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-worker-us-east-1a-5fzfj running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1a-vbghs running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1b-zgpzg running m4.xlarge us-east-1 us-east-1b 15m
다음 단계에서 이름에
master
가 포함된 컨트롤 플레인 시스템을 변경합니다.각 컨트롤 플레인 시스템에서 외부 로드 밸런서를 제거합니다.
컨트롤 플레인
Machine
오브젝트를 편집하여 외부 로드 밸런서에 대한 참조를 제거합니다.$ oc edit machines -n openshift-machine-api <master_name> 1
- 1
- 변경할 컨트롤 플레인 또는 마스터,
Machine
개체의 이름을 지정합니다.
다음 예에 표시된 외부 로드 밸런서를 설명하는 행을 제거하고 개체 사양을 저장한 후 종료합니다.
... spec: providerSpec: value: ... loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
-
이름에
master
가 포함된 각 시스템에 대해 이 프로세스를 반복합니다.
2.4.1. Ingress 컨트롤러 끝점 게시 범위를 Internal로 구성
클러스터 관리자가 클러스터가 비공개임을 지정하지 않고 새 클러스터를 설치하면 기본 Ingress 컨트롤러가 외부로 설정된 범위를
사용하여 생성됩니다
. 클러스터 관리자는 외부
범위가 지정된 Ingress 컨트롤러를 Internal
로 변경할 수 있습니다.
전제 조건
-
oc
CLI를 설치했습니다.
프로세스
외부
범위가 지정된 Ingress 컨트롤러를Internal
로 변경하려면 다음 명령을 입력합니다.$ oc -n openshift-ingress-operator patch ingresscontrollers/default --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"Internal"}}}}'
Ingress 컨트롤러의 상태를 확인하려면 다음 명령을 입력합니다.
$ oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
진행
상태 조건은 추가 조치를 취해야 하는지 여부를 나타냅니다. 예를 들어 상태 조건은 다음 명령을 입력하여 서비스를 삭제해야 함을 나타낼 수 있습니다.$ oc -n openshift-ingress delete services/router-default
서비스를 삭제하면 Ingress Operator가 서비스를
Internal
로 다시 생성합니다.