3.3. 사용자 지정된 HAProxy 라우터 배포
3.3.1. 개요
기본 HAProxy 라우터는 대부분의 사용자의 요구 사항을 충족하기 위한 것입니다. 그러나 HAProxy의 모든 기능을 노출하지는 않습니다. 따라서 사용자가 자신의 요구에 맞게 라우터를 수정해야 할 수 있습니다.
애플리케이션 백엔드 내에서 새 기능을 구현하거나 현재 작업을 수정해야 할 수 있습니다. 라우터 플러그인은 이 사용자 지정에 필요한 모든 기능을 제공합니다.
라우터 포드는 템플릿 파일을 사용하여 필요한 HAProxy 구성 파일을 생성합니다. 템플릿 파일은 golang 템플릿 입니다. 템플릿을 처리할 때 라우터는 라우터의 배포 구성, 허용된 경로 집합 및 일부 도우미 기능을 포함하여 OpenShift Container Platform 정보에 액세스할 수 있습니다.
라우터 포드가 시작되고 다시 로드될 때마다 HAProxy 구성 파일을 생성한 다음 HAProxy를 시작합니다. HAProxy 구성 설명서 에서는 HAProxy의 모든 기능과 유효한 구성 파일을 구성하는 방법을 설명합니다.
configMap 을 사용하여 라우터 Pod에 새 템플릿을 추가할 수 있습니다. 이 방법을 사용하면 configMap 을 라우터 Pod의 볼륨으로 마운트하도록 라우터 배포 구성이 수정되었습니다. TEMPLATE_FILE
환경 변수는 라우터 포드에서 템플릿 파일의 전체 경로 이름으로 설정됩니다.
OpenShift Container Platform을 업그레이드한 후에도 라우터 템플릿 사용자 정의가 계속 작동하는지 보장하지 않습니다.
또한 라우터 템플릿 사용자 지정을 실행 중인 라우터의 템플릿 버전에 적용해야 합니다.
또는 사용자 지정 라우터 이미지를 빌드하여 일부 또는 전체 라우터를 배포할 때 사용할 수 있습니다. 모든 라우터에서 동일한 이미지를 실행할 필요가 없습니다. 이렇게 하려면 haproxy-template.config 파일을 수정하고 라우터 이미지를 다시 빌드 합니다. 새 이미지는 클러스터의 Docker 리포지토리로 푸시되고 라우터의 배포 구성 이미지: 필드가 새 이름으로 업데이트됩니다. 클러스터가 업데이트되면 이미지를 다시 빌드하고 푸시해야 합니다.
두 경우 모두 라우터 포드는 템플릿 파일로 시작합니다.