4.15. 브로커 상태 점검 구성
시작, 활성 상태 프로브 및 준비 상태 프로브를 사용하여 AMQ Broker에서 상태 점검을 구성할 수 있습니다.
- 시작 프로브는 컨테이너 내의 애플리케이션이 시작되었는지 여부를 나타냅니다.
- 활성 상태 프로브는 컨테이너가 여전히 실행 중인지 확인합니다.
- 준비 상태 프로브는 컨테이너가 서비스 요청을 수락할 준비가 되었는지 확인
Pod의 시작 프로브 또는 활성 상태 프로브 검사가 실패하면 프로브에서 Pod를 다시 시작합니다.
AMQ Broker에는 기본 준비 상태 및 활성 프로브가 포함됩니다. 기본 활성 프로브는 브로커의 HTTP 포트를 ping하여 브로커가 실행 중인지 확인합니다. 기본 준비 상태 프로브는 브로커에 대해 구성된 각 어셉터 포트에 대한 연결을 열어 브로커가 네트워크 트래픽을 허용할 수 있는지 확인합니다.
기본 활성 및 준비 상태 프로브를 사용하는 제한 사항은 브로커의 파일 시스템과 같은 기본 문제를 식별할 수 없다는 것입니다. 브로커의 명령줄 유틸리티인 Artemis를 사용하여 보다 포괄적인 상태 점검을 실행하는 사용자 정의 활성 상태 프로브 및 준비 상태 프로브를 생성할 수 있습니다.
AMQ Broker에는 기본 시작 프로브가 포함되어 있지 않습니다. ActiveMQArtemis 사용자 정의 리소스(CR)에서 시작 프로브를 구성할 수 있습니다.
4.15.1. 시작 프로브 구성 링크 복사링크가 클립보드에 복사되었습니다!
브로커 컨테이너 내의 AMQ Broker 애플리케이션이 시작되었는지 확인하도록 시작 프로브를 구성할 수 있습니다.
프로세스
브로커 배포의 CR 인스턴스를 편집합니다.
OpenShift 명령줄 인터페이스 사용:
- 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
배포에 사용할 CR을 편집합니다.
oc edit ActiveMQArtemis <CR instance name> -n <namespace>
oc edit ActiveMQArtemis <CR instance name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform 웹 콘솔 사용:
- 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
-
왼쪽 창에서
를 클릭합니다. - ActiveMQArtemis CRD를 클릭합니다.
- Instances 탭을 클릭합니다.
- 브로커 배포에 사용할 인스턴스를 클릭합니다.
YAML 탭을 클릭합니다.
콘솔에서 YAML 편집기가 열리고 CR 인스턴스를 편집할 수 있습니다.
CR의
deploymentPlan섹션에서startupProbe섹션을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow command-
컨테이너 내에서 실행할 startup probe 명령입니다. 이 예에서 시작 프로브는 Artemis
check node명령을 사용하여 브로커 Pod의 컨테이너에서 AMQ Broker가 시작되었는지 확인합니다. initialDelaySeconds-
컨테이너가 시작된 후 프로브가 실행되기 전에 지연(초)입니다. 기본값은
0입니다. periodSeconds-
프로브가 실행되는 간격(초)입니다. 기본값은
10입니다. timeoutSeconds-
시작 프로브 명령이 브로커의 응답을 기다리는 시간(초)입니다. 명령에 대한 응답이 수신되지 않으면 명령이 종료됩니다. 기본값은
1입니다. failureThreshold프로브가 실패한 것으로 간주되는 시작 프로브의 시간 초과를 포함한 최소 연속 실패입니다. 프로브가 실패한 것으로 간주되면 Pod를 다시 시작합니다. 기본값은
3입니다.클러스터의 리소스 및 브로커 저널 크기에 따라 브로커가 프로브 검사를 시작하고 전달할 수 있도록 실패 임계값을 늘려야 할 수 있습니다. 그렇지 않으면 브로커가 실패 임계값에 반복적으로 도달하고 시작 프로브에 의해 매번 브로커가 다시 시작되는 루프 조건을 입력합니다. 예를 들어
failureThreshold를30으로 설정하고 프로브가 기본 간격인 10초에서 실행되는 경우 브로커는 300초로 시작하여 프로브 확인을 전달합니다.
- CR을 저장합니다.
추가 리소스
OpenShift Container Platform의 활성 상태 프로브 및 준비 상태 프로브에 대한 자세한 내용은 OpenShift Container Platform 설명서의 상태 점검을 사용하여 애플리케이션 상태 모니터링 을 참조하십시오.
4.15.2. 활성 상태 프로브 및 준비 상태 프로브 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 활성 상태 프로브 및 준비 상태 프로브를 사용하여 상태 점검을 실행하도록 브로커 배포에 대한 기본 CR(사용자 정의 리소스) 인스턴스를 구성하는 방법을 보여줍니다.
사전 요구 사항
- CR 인스턴스를 사용하여 기본 브로커 배포를 생성하는 방법을 숙지해야 합니다. 3.4.1절. “기본 브로커 인스턴스 배포”을 참조하십시오.
프로세스
브로커 배포의 CR 인스턴스를 편집합니다.
OpenShift 명령줄 인터페이스 사용:
- 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
배포에 사용할 CR을 편집합니다.
oc edit ActiveMQArtemis <CR instance name> -n <namespace>
oc edit ActiveMQArtemis <CR instance name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform 웹 콘솔 사용:
- 브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift Container Platform에 로그인합니다.
-
왼쪽 창에서
를 클릭합니다. - ActiveMQArtemis CRD를 클릭합니다.
- Instances 탭을 클릭합니다.
- 브로커 배포에 사용할 인스턴스를 클릭합니다.
- YAML 탭을 클릭합니다.
활성 프로브를 구성하려면 CR의
deploymentPlan섹션에livenessProbe섹션을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow initialDelaySeconds컨테이너가 시작된 후 프로브가 실행되기 전에 지연(초)입니다. 기본값은
5입니다.참고배포에 시작 프로브도 구성된 경우 활성 상태 프로브와 준비 상태 프로브 모두에 대해 지연을 0으로 설정할 수 있습니다. 이러한 두 프로브는 시작 프로브가 전달된 후에만 실행됩니다. 시작 프로브가 이미 통과된 경우 브로커가 성공적으로 시작되었으므로 활성 상태 프로브 및 준비 상태 프로브 실행 지연이 필요하지 않습니다.
periodSeconds-
프로브가 실행되는 간격(초)입니다. 기본값은
5입니다. failureThreshold프로브를 나타내는 활성 프로브의 시간 초과를 포함한 최소 연속 실패가 실패했습니다. 프로브가 실패하면 Pod를 다시 시작합니다. 기본값은 3입니다.
배포에 활성 프로브가 실행되기 전에 브로커 애플리케이션이 시작되었는지 확인하는 시작 프로브가 구성되지 않은 경우 브로커가 활성 상태 프로브 검사를 시작하고 전달할 수 있도록 실패 임계값을 늘려야 할 수 있습니다. 그렇지 않으면 브로커는 실패 임계값에 반복적으로 도달하고 활성 상태 프로브에 의해 매번 브로커 Pod를 다시 시작하는 루프 조건을 입력할 수 있습니다.
브로커가 활성 상태 프로브 검사를 시작하고 전달하는 데 필요한 시간은 클러스터의 리소스 및 브로커 저널 크기에 따라 다릅니다. 예를 들어
failureThreshold를 30으로 설정하고 프로브가 기본 5초 간격으로 실행되는 경우 브로커는 150초 동안 활성 상태 프로브 검사를 시작하고 전달합니다.참고활성 상태 프로브를 구성하지 않거나 구성된 프로브에서 처리기가 없는 경우 AMQ Broker Operator는 다음 구성이 있는 기본 TCP 프로브를 생성합니다. 기본 TCP 프로브는 지정된 포트의 브로커 컨테이너에 대한 소켓을 열려고 시도합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
준비 상태 프로브를 구성하려면 CR의
deploymentPlan섹션에서readinessProbe섹션을 추가합니다. 예를 들면 다음과 같습니다.spec: deploymentPlan: readinessProbe: initialDelaySeconds: 5 periodSeconds: 5spec: deploymentPlan: readinessProbe: initialDelaySeconds: 5 periodSeconds: 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 준비 상태 프로브를 구성하지 않으면 기본 제공 스크립트에서 모든 허용자가 연결을 허용할 수 있는지 확인합니다.
보다 포괄적인 상태 점검을 구성하려면 Artemis
check명령줄 유틸리티를 활성 상태 또는 준비 상태 프로브 구성에 추가합니다.브로커에 대한 전체 클라이언트 연결을 생성하는 상태 점검을 구성하려면
livenessProbe또는readinessProbe섹션에서exec섹션을 추가합니다.exec섹션에서command섹션을 추가합니다.명령섹션에서artemis 검사 노드명령 구문을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 Artemis
검사 노드명령은 Artemis라는 어셉터의 URI를 사용합니다.브로커에 Artemis라는 어셉터가있는 경우 명령에서--acceptor <acceptor name> 옵션을 제외할 수 있습니다.참고$AMQ_USER및$AMQ_PASSWORD는 AMQ Operator에 의해 구성된 환경 변수입니다.메시지를 생성하고 사용하는 상태 점검을 구성하려면
활성Probe 또는섹션에서 브로커 파일 시스템의 상태를 검증readinessProbe합니다.exec섹션에서command섹션을 추가합니다.명령섹션에서 Artemischeck queue명령 구문을 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고지정한 큐 이름은 브로커에 구성되어야 하며
anycast의routingType이 있어야 합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- CR을 저장합니다.
추가 리소스
OpenShift Container Platform의 활성 상태 프로브 및 준비 상태 프로브에 대한 자세한 내용은 OpenShift Container Platform 설명서의 상태 점검을 사용하여 애플리케이션 상태 모니터링 을 참조하십시오.