5.4. 사용 가능한 라우터 플러그인


OpenShift Container Platform 클러스터의 트래픽을 제어하기 위해 노드에 라우터를 할당할 수 있습니다. OpenShift Container Platform에서는 HAProxy를 기본 라우터로 사용하지만 옵션을 사용할 수 있습니다.

5.4.1. HAProxy 템플릿 라우터

HAProxy 템플릿 라우터 구현은 템플릿 라우터 플러그인의 참조 구현입니다. openshift3/ose-haproxy-router 리포지토리를 사용하여 템플릿 라우터 플러그인과 함께 HAProxy 인스턴스를 실행합니다.

템플릿 라우터에는 다음 두 가지 구성 요소가 있습니다.

  • 엔드 포인트 및 경로를 감시하고 변경 사항을 기반으로 HAProxy를 다시 로드하는 래퍼
  • 경로 및 엔드포인트를 기반으로 HAProxy 구성 파일을 빌드하는 컨트롤러
참고

HAProxy 라우터 는 버전 1.8.1을 사용합니다.

컨트롤러 및 HAProxy는 포드 내부에 있으며 배포 구성에서 관리합니다. 라우터를 설정하는 프로세스는 oc adm router 명령으로 자동화됩니다.

컨트롤러는 HAProxy 상태를 비롯하여 변경 사항이 있는지 경로 및 엔드포인트를 감시합니다. 변경 사항이 감지되면 새 haproxy-config 파일을 빌드하고 HAProxy를 다시 시작합니다. haproxy-config 파일은 라우터의 템플릿 파일과 OpenShift Container Platform의 정보를 기반으로 구성됩니다.

HAProxy 템플릿 파일은 OpenShift Container Platform에서 현재 지원하지 않는 기능을 지원하기 위해 필요에 따라 사용자 지정할 수 있습니다. HAProxy 설명서는 HAProxy 에서 지원하는 모든 기능을 설명합니다.

다음 다이어그램에서는 데이터가 마스터에서 플러그인을 거쳐 HAProxy 구성으로 이동하는 방법을 보여줍니다.

그림 5.4. HAProxy 라우터 데이터 흐름

HAProxy 라우터 데이터 흐름

HAProxy 템플릿 라우터 지표

HAProxy 라우터는 외부 지표 수집 및 집계 시스템(예: Prometheus, statsd)에서 사용할 수 있도록 Prometheus 형식으로 지표를 노출하거나 게시합니다. 라우터는 HAProxy CSV 형식 지표를 제공하거나 라우터 지표를 전혀 제공하지 않도록 구성할 수 있습니다.

지표는 라우터 컨트롤러와 5초마다 HAProxy에서 수집됩니다. 라우터 지표 카운터는 라우터가 배포될 때 0으로 시작되고 시간이 지남에 따라 증가합니다. haproxy가 다시 로드될 때마다 HAProxy 지표 카운터가 0으로 재설정됩니다. 라우터는 각 프론트엔드, 백엔드 및 서버에 대한 HAProxy 통계를 수집합니다. 500대 이상의 서버가 있는 경우 리소스 사용량을 줄이기 위해 백엔드에는 여러 서버가 있을 수 있으므로 서버 대신 백엔드가 보고됩니다.

통계는 사용 가능한 HAProxy 통계의 하위 집합입니다.

다음 HAProxy 지표는 주기적으로 수집되어 Prometheus 형식으로 변환됩니다. 프런트 엔드마다 "F" 카운터가 수집됩니다. 각 백엔드에 대해 카운터를 수집하고 각 서버에 대해 "S" 서버 카운터를 수집하면 됩니다. 그렇지 않으면 각 백엔드에 대해 "B" 카운터가 수집되어 서버 카운터가 수집되지 않습니다.

자세한 내용은 라우터 환경 변수를 참조하십시오.

다음 표에서 다음을 수행합니다.

열 1 - HAProxy CSV 통계의 인덱스

2열

F

프론트 엔드 지표

b

서버 임계값으로 인해 서버 메트릭이 표시되지 않는 경우 백엔드 메트릭은 다음과 같습니다.

B

서버 메트릭을 표시할 때 백엔드 지표

S

서버 지표.

열 3 - 카운터

열 4 - 카운터 설명

인덱스

사용법

카운터

설명

2

bBS

current_queue

서버에 할당되지 않은 현재 대기 중인 요청 수입니다.

4

FbS

current_sessions

현재 활성 세션 수.

5

FbS

max_sessions

확인된 최대 활성 세션 수.

7

FbBS

connections_total

총 연결 수.

8

FbS

bytes_in_total

들어오는 바이트의 현재 합계.

9

FbS

bytes_out_total

현재 보내는 바이트 합계입니다.

13

bS

connection_errors_total

총 연결 오류.

14

bS

response_errors_total

응답 오류 합계.

17

bBS

up

백엔드의 현재 상태(1 = UP, 0 = DOWN).

21

S

check_failures_total

총 실패한 상태 점검 수.

24

S

downtime_seconds_total

총 가동 중지 시간(초)입니다.", nil,

33

FbS

current_session_rate

최근 경과 초당 초당 현재 세션 수입니다.

35

FbS

max_session_rate

초당 최대 관찰 세션 수입니다.

40

FbS

http_responses_total

총 HTTP 응답, 코드 2xx

43

FbS

http_responses_total

총 HTTP 응답, 코드 5xx

60

bS

http_average_response_latency_milliseconds

(밀리초 단위) 마지막 1024개 요청 중.

라우터 컨트롤러는 다음 항목을 스크랩합니다. Prometheus 형식 지표만 사용할 수 있습니다.

이름

설명

template_router_reload_seconds

라우터를 다시 로드하는 데 소요되는 시간을 초 단위로 측정합니다.

template_router_write_config_seconds

라우터 구성을 디스크에 쓰는 데 소요되는 시간을 초 단위로 측정합니다.

haproxy_exporter_up

haproxy의 마지막 스크랩이 성공했습니까.

haproxy_exporter_csv_parse_failures

CSV를 구문 분석하는 동안 오류 수입니다.

haproxy_exporter_scrape_interval

다른 스크랩이 허용되기 전의 시간(초)은 데이터 크기에 비례합니다.

haproxy_exporter_server_threshold

추적된 서버 수 및 현재 임계값.

haproxy_exporter_total_scrapes

현재 전체 HAProxy 스크랩.

http_request_duration_microseconds

마이크로초 단위의 HTTP 요청 대기 시간입니다.

http_request_size_bytes

HTTP 요청 크기(바이트)입니다.

http_response_size_bytes

HTTP 응답 크기(바이트)입니다.

openshift_build_info

OpenShift가 빌드된 major, minor, git commit 및 git 버전으로 레이블이 지정된 상수 '1' 값이 있는 메트릭입니다.

ssh_tunnel_open_count

SSH 터널 총 열린 시도 카운터

ssh_tunnel_open_fail_count

SSH 터널의 카운터가 열린 시도에 실패했습니다

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.