네이티브 로드 밸런싱을 앞에 두고 사용할 경우 OpenShift 라우터의 기본 포트(80 및 443)를 변경
Issue
- 클러스터 내의 일부 서비스가
hostnetwork에서 80번 포트 또는 443번 포트를 점유하면 라우터 pod는 대기 상태가 됩니다. -
라우터 pod 로그에 소켓 연결 실패가 지속적으로 나타납니다.
[snippet]
I0620 10:57:57.469187 1 metrics.go:147] Router health and metrics port listening at 0.0.0.0:1936 on HTTP and HTTPS
E0620 10:57:57.495382 1 haproxy.go:392] can't scrape HAProxy: dial unix /var/lib/haproxy/run/haproxy.sock: connect: no such file or directory
I0620 10:57:57.515858 1 router.go:252] Router is including routes in all namespaces
E0620 10:57:57.740102 1 haproxy.go:392] can't scrape HAProxy: dial unix /var/lib/haproxy/run/haproxy.sock: connect: connection refused
E0620 10:57:57.767828 1 limiter.go:137] error reloading router: exit status 1
[ALERT] 170/105757 (62) : Starting frontend public: cannot bind socket [0.0.0.0:80]
[end] -
외부 Haproxy 로드 밸런싱을 사용하여 OpenShift Container Platform 라우터로 트래픽을 분산하는 인프라 노드를 구성한 후, 새 OCP 라우터 포트를 적용하면 Haproxy 통계 페이지에서 인프라 노드 백엔드가 빨간색 상태로 표시되고 로그에는 Layer 4 TCP 검사에서 새 포트에 대한 접근 권한이 거부되었다는 오류가 발생합니다.
- OCP 내부의 경로에 접근할 수 없으며 "Application not available"라는 오류가 발생합니다.
Environment
Openshift Container Platform v3.9, v3.10 and v3.11
Haproxy 버전 1.8
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.