16.3.6. 네임스페이스 라벨을 사용하여 Ingress 컨트롤러 분할 구성
네임스페이스 라벨을 사용한 Ingress 컨트롤러 분할이란 Ingress 컨트롤러가 네임스페이스 선택기에서 선택한 모든 네임스페이스의 모든 경로를 제공한다는 뜻입니다.
Ingress 컨트롤러 분할은 들어오는 트래픽 부하를 일련의 Ingress 컨트롤러에 균형 있게 분배하고 트래픽을 특정 Ingress 컨트롤러에 격리할 때 유용합니다. 예를 들어, 회사 A는 하나의 Ingress 컨트롤러로, 회사 B는 다른 Ingress 컨트롤러로 이동합니다.
Keepalived Ingress VIP를 배포하는 경우 endpointPublishingStrategy
매개변수에 값이 HostNetwork
인 기본이 아닌 Ingress 컨트롤러를 배포하지 마십시오. 이렇게 하면 문제가 발생할 수 있습니다. endpointPublishingStrategy
에 대해 HostNetwork
대신 NodePort
값을 사용합니다.
프로세스
router-internal.yaml
파일을 다음과 같이 편집합니다.# cat router-internal.yaml
출력 예
apiVersion: v1 items: - apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: sharded namespace: openshift-ingress-operator spec: domain: <apps-sharded.basedomain.example.net> nodePlacement: nodeSelector: matchLabels: node-role.kubernetes.io/worker: "" namespaceSelector: matchLabels: type: sharded status: {} kind: List metadata: resourceVersion: "" selfLink: ""
Ingress 컨트롤러
router-internal.yaml
파일을 적용합니다.# oc apply -f router-internal.yaml
Ingress 컨트롤러는 네임스페이스 선택기에서 선택한
type: sharded
라벨이 있는 네임스페이스에서 경로를 선택합니다.