9.2.3.4. Kuryr를 사용한 설치의 알려진 제한 사항

Kuryr SDN과 함께 OpenShift Container Platform을 사용하는 경우 몇 가지 알려진 제한 사항이 있습니다.

RHOSP 일반 제한 사항

Kuryr SDN을 사용하는 OpenShift Container Platform은 NodePortService 개체를 지원하지 않습니다.

시스템 서브넷이 라우터에 연결되어 있지 않거나 서브넷이 연결되어 있지만 라우터에 외부 게이트웨이가 설정되지 않은 경우 Kuryr는 LoadBalancerService 개체에 대한 유동 IP를 생성할 수 없습니다.

  • Service 오브젝트에 sessionAffinity=ClientIP 속성을 구성해도 효과가 없습니다. Kuryr는 이 설정을 지원하지 않습니다.
RHOSP 버전 제한 사항

Kuryr SDN을 사용하는 OpenShift Container Platform은 RHOSP 버전에 따라 몇 가지 제한 사항이 있습니다.

  • 버전 16 미만의 RHOSP는 기본 Octavia로드 밸런서 드라이버(Amphora)를 사용합니다. 이 드라이버를 사용하려면 OpenShift Container Platform 서비스당 하나의 Amphora 로드 밸런서 VM이 배포되어야 합니다. 너무 많은 서비스를 생성하면 리소스가 부족해질 수 있습니다.

    OVN Octavia 드라이버가 비활성화된 상위 버전의 RHOSP 배포에도 Amphora 드라이버를 사용합니다. 하위 버전의 RHOSP와 동일한 리소스 문제가 있습니다.

  • 버전 13.0.13 미만의 Octavia RHOSP는 UDP 리스너를 지원하지 않습니다. 따라서 OpenShift Container Platform UDP 서비스는 지원되지 않습니다.
  • 버전 13.0.13 미만의 Octavia RHOSP는 동일한 포트에서 여러 프로토콜을 수신할 수 없습니다. TCP, UDP 등 다른 프로토콜에 동일한 포트를 노출하는 서비스는 지원되지 않습니다.
  • Kuryr SDN은 서비스에서 자동 유휴 상태 해제를 지원하지 않습니다.
RHOSP 환경 제한 사항

배포 환경에 따라 Kuryr SDN 사용에 제한이 있습니다.

Octavia는 UDP 프로토콜과 다중 리스너를 지원하지 않으므로 RHOSP 버전이 13.0.13 미만이면 Kuryr에 따라 Pod가 DNS 확인을 위해 TCP를 사용해야 합니다.

Go 버전 1.12 이하에서는 CGO 지원이 비활성화된 상태로 컴파일된 애플리케이션이 UDP만 사용합니다. 이 경우 기본 Go 해결 프로그램이 resolv.confuse-vc 옵션을 인식하지 못합니다. 이 옵션은 DNS 확인을 위해 TCP가 적용되는지 여부를 제어합니다. 결과적으로 DNS 확인에 계속 UDP를 사용하여 실패하게 됩니다.

TCP 적용을 허용하려면 환경 변수 CGO_ENABLED1로 설정하거나(즉 CGO_ENABLED=1) 변수가 없는지 확인하여 애플리케이션을 컴파일합니다.

Go 버전 1.13 이상에서는 UDP를 사용한 DNS 확인이 실패하면 자동으로 TCP를 사용합니다.

참고

Alpine 기반 컨테이너를 포함한 musl 기반 컨테이너는 use-vc 옵션을 지원하지 않습니다.

RHOSP 업그레이드 제한 사항

RHOSP 업그레이드 프로세스에 따라 Octavia API가 변경될 수 있으며 로드 밸런서에 사용되는 Amphora 이미지로 업그레이드해야 할 수 있습니다.

API 변경은 개별적으로 처리할 수 있습니다.

Amphora 이미지가 업그레이드되면 RHOSP Operator가 다음 두 가지 방법으로 기존 로드 밸런서 VM을 처리할 수 있습니다.

Operator가 첫 번째 옵션을 선택하는 경우 장애 조치 중에 가동 중지 시간이 짧아질 수 있습니다.

Operator가 두 번째 옵션을 선택하는 경우 기존 로드 밸런서는 UDP 리스너와 같은 업그레이드된 Octavia API 기능을 지원하지 않습니다. 이 경우 이러한 기능을 사용하려면 사용자가 서비스를 다시 만들어야 합니다.

중요

OpenShift Container Platform이 UDP 로드 밸런싱을 지원하는 새로운 Octavia 버전을 감지하면 DNS 서비스를 자동으로 다시 생성합니다. 서비스를 다시 생성함으로써 서비스는 기본적으로 UDP 로드 밸런싱을 지원하게 됩니다.

서비스를 다시 생성하는 경우 DNS 서비스 가동이 약 1분 동안 중지됩니다.