3.2.21. 동적 구성 관리자 사용
동적 구성 관리자를 지원하도록 HAProxy 라우터를 구성할 수 있습니다.
동적 구성 관리자는 HAProxy를 다시 로드하지 않고도 특정 유형의 경로를 온라인으로 제공합니다. 경로 및 엔드포인트 추가|deletion|업데이트
와 같은 경로 및 엔드포인트 라이프사이클 이벤트를 처리합니다.
ROUTER_HAPROXY_CONFIG_MANAGER
환경 변수를 true
로 설정하여 동적 구성 관리자를 활성화합니다.
$ oc set env dc/<router_name> ROUTER_HAPROXY_CONFIG_MANAGER='true'
동적 구성 관리자가 HAProxy를 동적으로 구성할 수 없는 경우 구성을 다시 작성하고 HAProxy 프로세스를 다시 로드합니다. 예를 들어 새 경로에 사용자 지정 시간 초과와 같은 사용자 지정 주석이 있거나 경로에 사용자 지정 TLS 구성이 필요한 경우입니다.
동적 구성은 사전 할당된 경로 및 백엔드 서버 풀과 함께 HAProxy 소켓 및 구성 API를 사용합니다. 경로 청사진을 사용하여 사전 할당된 경로 풀이 생성됩니다. 기본 청사진 집합은 사용자 지정 TLS 구성 및 통과 경로 없이 비보안 경로, 에지 보안 경로를 지원합니다.
재암호화
경로에는 사용자 지정 TLS 구성 정보가 필요하므로 동적 구성 관리자와 함께 사용하려면 추가 구성이 필요합니다.
ROUTER_BLUEPRINT_ROUTE_ NAMESPACE를 설정하고 선택적으로 ROUTER_BLUEPRINT_
환경 변수를 설정하여 동적 구성 관리자가 사용할 수 있는 청사진을 확장합니다.
ROUTE_
LABELS
청사진 경로 네임스페이스의 모든 경로 또는 경로 레이블은 기본 청사진 세트와 유사한 사용자 지정 청사진으로 처리됩니다. 여기에는 사용자 정의 TLS 구성으로 사용자 정의 주석 또는 경로를 사용하는 재암호화
경로 또는 경로가 포함됩니다.
다음 절차에서는 세 개의 경로 오브젝트, 즉 reencrypt-blueprint, annotated-
edge-blueprint 및 annotated-
unsecured-blueprint
를 생성했다고 가정합니다. 다양한 경로 유형 오브젝트의 예는 경로 유형을 참조하십시오.
절차
새 프로젝트를 생성합니다.
$ oc new-project namespace_name
새 경로를 만듭니다. 이 메서드는 기존 서비스를 노출합니다.
$ oc create route edge edge_route_name --key=/path/to/key.pem \ --cert=/path/to/cert.pem --service=<service> --port=8443
경로에 레이블을 지정합니다.
$ oc label route edge_route_name type=route_label_1
경로 오브젝트 정의에서 세 가지 다른 경로를 만듭니다. 모두
type=route_label_1 라벨을
갖습니다.$ oc create -f reencrypt-blueprint.yaml $ oc create -f annotated-edge-blueprint.yaml $ oc create -f annotated-unsecured-blueprint.json
경로에서 레이블을 제거하여 청사진 경로로 사용하지 않도록 할 수도 있습니다. 예를 들어
주석이 있는 비보안 청사진이 청사진 경로로 사용되지 않도록
하려면 다음을 수행합니다.$ oc label route annotated-unsecured-blueprint type-
블루프린트 풀에 사용할 새 라우터를 생성합니다.
$ oc adm router
새 라우터의 환경 변수를 설정합니다.
$ oc set env dc/router ROUTER_HAPROXY_CONFIG_MANAGER=true \ ROUTER_BLUEPRINT_ROUTE_NAMESPACE=namespace_name \ ROUTER_BLUEPRINT_ROUTE_LABELS="type=route_label_1"
type=route_label_1 라벨이 있는 네임스페이스 또는 프로젝트
의 모든 경로를 처리하여 사용자 지정 청사진으로 사용할 수 있습니다.namespace_
name해당
namespace_name
에서 일반적으로와 같이 경로를 관리하여 청사진을 추가, 업데이트 또는 제거할 수도 있습니다. 동적 구성 관리자는 라우터가 경로 및서비스를 감시하는 방법과 유사하게
.네임스페이스 namespace_name
의경로
변경 사항을 감시합니다사전 할당된 경로 및 백엔드 서버의 풀 크기는 기본값인
ROUTER_BLUEPRINT_ROUTE_POOL_SIZE
와 기본값인5
,
기본값인ROUTER_MAX_DYNAMIC_SERVERS
를 사용하여 제어할 수 있습니다. 또한 동적 구성 관리자의 변경 사항이 디스크에 커밋되는 빈도를 제어할 수 있습니다. 이 경우 HAProxy 구성을 다시 작성하고 HAProxy 프로세스가 다시 로드됩니다. 기본값은 1시간 또는 3600초 또는 동적 구성 관리자가 풀 공간이 부족할 때입니다.COMMIT_INTERVAL
환경 변수는 다음 설정을 제어합니다.$ oc set env dc/router -c router ROUTER_BLUEPRINT_ROUTE_POOL_SIZE=20 \ ROUTER_MAX_DYNAMIC_SERVERS=3 COMMIT_INTERVAL=6h
이 예제에서는 각 청사진 경로의 풀 크기를
20
으로 늘리고, 동적 서버 수를3
으로 줄이며, 커밋 간격을6
시간으로 늘립니다.