8장. reference
8.1. 사용자 정의 리소스 구성 참조
CRD(Custom Resource Definition)는 Operator와 함께 배포된 사용자 정의 OpenShift 오브젝트의 구성 항목 스키마입니다. 해당 CR(사용자 정의 리소스) 인스턴스를 배포하면 CRD에 표시된 구성 항목의 값을 지정합니다.
다음 하위 섹션에서는 기본 브로커 CRD를 기반으로 사용자 정의 리소스 인스턴스에서 설정할 수 있는 구성 항목을 자세히 설명합니다.
8.1.1. 브로커 사용자 정의 리소스 구성 참조
기본 브로커 CRD를 기반으로 하는 CR 인스턴스를 사용하면 OpenShift 프로젝트에 배포할 브로커를 구성할 수 있습니다. 다음 표에서는 CR 인스턴스에서 구성할 수 있는 항목에 대해 설명합니다.
별표(*)로 표시된 구성 항목은 배포하는 해당 사용자 정의 리소스(CR)에 필요합니다. 필수가 아닌 항목의 값을 명시적으로 지정하지 않으면 구성은 기본값을 사용합니다.
entry | 하위 항목 | 설명 및 사용 |
---|---|---|
| 브로커 및 관리 콘솔에 연결하는 데 필요한 관리자 이름입니다.
값을 지정하지 않으면 값이 자동으로 생성되어 시크릿에 저장됩니다. 기본 시크릿 이름의 형식은 < 유형: 문자열 예: my-user 기본값: 자동 생성, 임의 값 | |
| 브로커 및 관리 콘솔에 연결하는 데 필요한 관리자 암호입니다.
값을 지정하지 않으면 값이 자동으로 생성되어 시크릿에 저장됩니다. 기본 시크릿 이름의 형식은 < 유형: 문자열 예: my-password 기본값: 자동 생성, 임의 값 | |
| 브로커 배포 구성 | |
| 배포의 각 브로커에 사용되는 브로커 컨테이너 이미지의 전체 경로입니다.
CR에서 Operator에서 사용할 브로커 컨테이너 이미지를 선택하는 방법에 대한 자세한 내용은 2.4절. “Operator에서 컨테이너 이미지를 선택하는 방법” 을 참조하십시오. 유형: 문자열 예: registry.redhat.io/amq7/amq-broker-rhel8@sha256:982ba18be1ac285722bc0ca8e85d2a42b8b844ab8b844ab840425e79e3ee5b9 기본값: 자리 표시자 | |
| 배포에 생성할 브로커 Pod 수입니다.
값을 2 이상으로 지정하면 브로커 배포가 기본적으로 클러스터됩니다. 클러스터 사용자 이름과 암호는 자동으로 생성되며 기본적으로 유형: int 예: 1 기본값: 2 | |
| 브로커에 연결하는 데 로그인 인증 정보가 필요한지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
|
배포에서 각 브로커 Pod에 저널 스토리지를 사용할지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
| 브로커를 구성하는 데 사용되는 init 컨테이너 이미지입니다.
사용자 정의 이미지를 제공하지 않는 한 CR에서 Operator에서 사용할 기본 제공 Init Container 이미지를 선택하는 방법에 대한 자세한 내용은 2.4절. “Operator에서 컨테이너 이미지를 선택하는 방법” 을 참조하십시오. 사용자 지정 Init Container 이미지를 지정하는 방법에 대한 자세한 내용은 4.7절. “사용자 정의 Init Container 이미지 지정” 을 참조하십시오. 유형: 문자열 예: registry.redhat.io/amq-broker-init-rhel8@sha256:f37f98c809c6f29a83e3d5a3ac4494e28efe9b25d33c54f533c086624622 기본값: 지정되지 않음 | |
| 비동기 I/O(AIO) 또는 비차단 I/O(NIO) 사용 여부를 지정합니다. 유형: 문자열 예: aio 기본값: nio | |
| 브로커 배포의 의도적인 규모로 인해 브로커 Pod가 종료되면 브로커 클러스터에서 계속 실행 중인 다른 브로커 Pod로 메시지를 마이그레이션할지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
| 배포의 Pod에서 실행 중인 각 브로커 컨테이너에서 사용할 수 있는 최대 호스트 노드 CPU 양(밀리코어)입니다. 유형: 문자열 예: "500m" 기본값: OpenShift Container Platform 버전에서 사용하는 것과 동일한 기본값을 사용합니다. 클러스터 관리자를 참조하십시오. | |
| 배포의 Pod에서 실행 중인 각 브로커 컨테이너가 사용할 수 있는 최대 호스트 노드 메모리(바이트)입니다. 바이트 표기법(예: K, M, G) 또는 이에 해당하는 바이너리(Ki, Mi, Gi)를 지원합니다. 유형: 문자열 예: "1024M" 기본값: OpenShift Container Platform 버전에서 사용하는 것과 동일한 기본값을 사용합니다. 클러스터 관리자를 참조하십시오. | |
| 배포의 Pod에서 실행 중인 각 브로커 컨테이너가 명시적으로 요청하는 호스트 노드 CPU의 양입니다. 유형: 문자열 예: "250m" 기본값: OpenShift Container Platform 버전에서 사용하는 것과 동일한 기본값을 사용합니다. 클러스터 관리자를 참조하십시오. | |
| 배포의 각 브로커 컨테이너가 명시적으로 요청하는 호스트 노드 메모리(바이트)의 양입니다. 바이트 표기법(예: K, M, G) 또는 이에 해당하는 바이너리(Ki, Mi, Gi)를 지원합니다. 유형: 문자열 예: "512M" 기본값: OpenShift Container Platform 버전에서 사용하는 것과 동일한 기본값을 사용합니다. 클러스터 관리자를 참조하십시오. | |
|
배포의 각 브로커에 영구 스토리지에 필요한 PVC(영구 볼륨 클레임)의 크기(바이트)입니다. 이 속성은 유형: 문자열 예: 4Gi 기본값: 2Gi | |
|
배포의 브로커에 대해 Jolokia JVM 에이전트가 활성화되어 있는지 여부를 지정합니다. 이 속성 값을 유형: 부울 예: true 기본값: false | |
|
배포 브로커에 대해 RBAC(역할 기반 액세스 제어)를 활성화할지 여부를 지정합니다. Fuse Console을 사용하려면 Fuse Console이 자체 역할 기반 액세스 제어를 사용하므로 값을 유형: 부울 예: false 기본값: true | |
| Pod에 대한 예약 제약 조건을 지정합니다. 유사성 속성에 대한 자세한 내용은 OpenShift Container Platform 설명서의 속성을 참조하십시오. | |
| Pod의 톨러레이션을 지정합니다. 허용 오차 속성에 대한 자세한 내용은 OpenShift Container Platform 설명서의 속성을 참조하십시오. | |
| 해당 노드에서 예약할 Pod의 노드의 라벨과 일치하는 라벨을 지정합니다. | |
| PVC(영구 볼륨 클레임)에 사용할 스토리지 클래스의 이름을 지정합니다. 스토리지 클래스는 관리자가 사용 가능한 스토리지를 설명하고 분류하는 방법을 제공합니다. 예를 들어 스토리지 클래스에는 특정 서비스 품질 수준, 백업 정책 또는 연결된 기타 관리 정책이 있을 수 있습니다. 유형: 문자열 예: gp3 기본값: 지정되지 않음 | |
| 실행 중인 브로커 컨테이너에 정기적인 상태 점검을 구성하여 브로커가 실행 중인지 확인합니다. 활성 프로브 속성에 대한 자세한 내용은 OpenShift Container Platform 설명서의 속성을 참조하십시오. | |
| 실행 중인 브로커 컨테이너에 정기적인 상태 점검을 구성하여 브로커가 네트워크 트래픽을 수락하는지 확인합니다. 준비 상태 프로브 속성에 대한 자세한 내용은 OpenShift Container Platform 설명서의 속성을 참조하십시오. | |
| 브로커 Pod에 라벨을 할당합니다. 유형: 문자열 예: location: "production" 기본값: 지정되지 않음 | |
| 브로커 관리 콘솔 구성. | |
| 배포의 각 브로커에 대해 관리 콘솔 포트를 노출할지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 관리 콘솔 포트에서 SSL 사용 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
|
브로커 키 저장소, 신뢰 저장소 및 해당 암호(Base64로 인코딩된)가 저장되는 시크릿입니다. 유형: 문자열 예: my-broker-deployment-console-secret 기본값: 지정되지 않음 | |
| 브로커 Pod의 서비스 계정 이름을 지정합니다. 유형: 문자열 예: activemq-artemis-controller-manager 기본값: default | |
| 다음 Pod 수준 보안 속성 및 공통 컨테이너 설정을 지정합니다. * fsGroup * fsGroupChangePolicy * runAsGroup * runAsUser * runAsNonRoot * seLinuxOptions * seccompProfile * supplementalGroups * sysctls * windowsOptions
| |
| 관리 콘솔에 클라이언트 권한 부여가 필요한지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 단일 어셉터 구성 인스턴스입니다. | |
| 수락자의 이름입니다. 유형: 문자열 예: my-acceptor 기본값: 해당 없음 | |
| acceptor 인스턴스에 사용할 포트 번호입니다. 유형: int 예: 5672 기본값: 첫 번째 수락자의 경우 61626입니다. 그런 다음 기본값은 사용자가 정의한 이후의 모든 수락자에 대해 10씩 증가합니다. | |
| acceptor 인스턴스에서 활성화할 메시징 프로토콜입니다. 유형: 문자열 예: amqp,core 기본값: 모두 | |
|
어셉터 포트에서 SSL이 활성화되었는지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 브로커 키 저장소, 신뢰 저장소 및 해당 암호(Base64로 인코딩된)가 저장되는 시크릿입니다.
acceptor가 기본 이름을 가정하더라도 항상 이 시크릿을 직접 생성해야 합니다. 유형: 문자열 예: my-broker-deployment-my-acceptor-secret 기본값: <custom_resource_name> - <acceptor_name> -secret | |
| TLS/SSL 통신에 사용할 암호화 제품군의 쉼표로 구분된 목록입니다.
클라이언트 애플리케이션에서 지원하는 가장 안전한 암호화 제품군을 지정합니다. 쉼표로 구분된 목록을 사용하여 브로커와 클라이언트에 공통적인 암호화 제품군 세트를 지정하거나 암호화 제품군을 지정하지 않으면 브로커 및 클라이언트가 사용할 암호화 제품군을 상호 협상합니다. 지정할 암호화 제품군을 모르는 경우 먼저 디버그 모드에서 실행 중인 클라이언트와 broker-client 연결을 설정하여 브로커와 클라이언트 모두에 공통된 암호화 제품군을 확인하는 것이 좋습니다. 그런 다음 브로커에서 유형: 문자열 기본값: 지정되지 않음 | |
| 브로커가 사용하는 키 저장소 공급자의 이름입니다. 유형: 문자열 예: SunJCE 기본값: 지정되지 않음 | |
| 브로커가 사용하는 신뢰 저장소 공급자의 이름입니다. 유형: 문자열 예: SunJCE 기본값: 지정되지 않음 | |
| 브로커가 사용하는 신뢰 저장소 유형입니다. 유형: 문자열 예: JCEKS 기본값: JKS | |
| TLS/SSL 통신에 사용할 프로토콜의 쉼표로 구분된 목록입니다. 유형: 문자열 예: TLSv1,TLSv1.1,TLSv1.2 기본값: 지정되지 않음 | |
|
브로커가 클라이언트에 어셉터에 양방향 TLS가 필요한지 여부를 지정합니다. 이 속성은 유형: 부울 예: true 기본값: 지정되지 않음 | |
|
브로커가 클라이언트에 허용기에서 양방향 TLS가 요청 되었지만 필수는 아님을 알릴지 여부를 지정합니다. 이 속성은 유형: 부울 예: true 기본값: 지정되지 않음 | |
| 클라이언트 인증서의 CN(Common Name)을 호스트 이름과 비교할지 여부를 지정하여 해당 인증서가 일치하는지 확인합니다. 이 옵션은 양방향 TLS를 사용하는 경우에만 적용됩니다. 유형: 부울 예: true 기본값: 지정되지 않음 | |
| SSL 공급자가 JDK인지 OPENSSL인지 지정합니다. 유형: 문자열 예: OPENSSL 기본값: JDK | |
|
들어오는 연결의 유형: 문자열 예: some_regular_expression 기본값: 지정되지 않음 | |
| OpenShift Container Platform 외부의 클라이언트에 어셉터를 노출할지 여부를 지정합니다. OpenShift 외부의 클라이언트에 어셉터를 노출하면 Operator는 배포의 각 브로커 포드에 대해 전용 서비스 및 경로를 자동으로 생성합니다. 유형: 부울 예: true 기본값: false | |
|
클라이언트가 유형: 문자열 예: jms.queue 기본값: 지정되지 않음 | |
|
클라이언트에서 유형: 문자열 예: /topic/ 기본값: 지정되지 않음 | |
| 수락자에서 허용되는 연결 수입니다. 이 제한에 도달하면 DEBUG 메시지가 로그에 발행되고 연결이 거부됩니다. 사용 중인 클라이언트 유형에 따라 연결이 거부될 때 수행되는 작업이 결정됩니다. 유형: 정수 예: 2 기본값: 0 (무제한 연결) | |
|
브로커가 AMQP 메시지를 큰 메시지로 처리하는 데 필요한 최소 메시지 크기(바이트)입니다. AMQP 메시지 크기가 이 값과 같거나 큰 경우 브로커는 메시지 저장을 위해 브로커가 사용하는 PV(영구 볼륨)의 큰 메시지 디렉터리( 유형: 정수 예: 204800 기본값: 102400 (100 KB) | |
| true로 설정하면 Pod의 내부 IP 주소 대신 0.0.0.0 IP 주소로 브로커 어셉터를 구성합니다. 브로커 어셉터에 0.0.0.0 IP 주소가 있으면 Pod에 구성된 모든 인터페이스에 바인딩되고 클라이언트는 OpenShift Container Platform port-forwarding을 사용하여 트래픽을 브로커로 보낼 수 있습니다. 일반적으로 이 구성을 사용하여 서비스를 디버그합니다. port-forwarding에 대한 자세한 내용은 OpenShift Container Platform 설명서의 컨테이너의 애플리케이션에 액세스하는 데 포트 전달을 참조하십시오. 참고 포트 전달을 잘못 사용하는 경우 환경에 보안 위험이 발생할 수 있습니다. 가능한 경우 Red Hat은 프로덕션 환경에서 포트 전달을 사용하지 않는 것이 좋습니다. 유형: 부울 예: true 기본값: false | |
| 단일 커넥터 구성 인스턴스입니다. | |
| 커넥터의 이름입니다. 유형: 문자열 예: my-connector 기본값: 해당 없음 | |
|
생성할 커넥터 유형; 유형: 문자열 예: vm 기본값: tcp | |
| 연결할 호스트 이름 또는 IP 주소입니다. 유형: 문자열 예: 192.168.0.58 기본값: 지정되지 않음 | |
| 커넥터 인스턴스에 사용할 포트 번호입니다. 유형: int 예: 22222 기본값: 지정되지 않음 | |
|
커넥터 포트에서 SSL이 활성화되었는지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 브로커 키 저장소, 신뢰 저장소 및 해당 암호(Base64로 인코딩된)가 저장되는 시크릿입니다.
커넥터가 기본 이름을 가정하더라도 항상 이 시크릿을 직접 생성해야 합니다. 유형: 문자열 예: my-broker-deployment-my-connector-secret 기본값: <custom_resource_name> - <connector_name> -secret | |
| TLS/SSL 통신에 사용할 암호화 제품군의 쉼표로 구분된 목록입니다. 유형: 문자열 참고: 커넥터의 경우 암호화 제품군 목록을 지정하지 않는 것이 좋습니다. 기본값: 지정되지 않음 | |
| 브로커가 사용하는 키 저장소 공급자의 이름입니다. 유형: 문자열 예: SunJCE 기본값: 지정되지 않음 | |
| 브로커가 사용하는 신뢰 저장소 공급자의 이름입니다. 유형: 문자열 예: SunJCE 기본값: 지정되지 않음 | |
| 브로커가 사용하는 신뢰 저장소 유형입니다. 유형: 문자열 예: JCEKS 기본값: JKS | |
| TLS/SSL 통신에 사용할 프로토콜의 쉼표로 구분된 목록입니다. 유형: 문자열 예: TLSv1,TLSv1.1,TLSv1.2 기본값: 지정되지 않음 | |
|
브로커가 클라이언트에 커넥터에 양방향 TLS가 필요한지 여부를 지정합니다. 이 속성은 유형: 부울 예: true 기본값: 지정되지 않음 | |
|
브로커가 커넥터에 양방향 TLS가 요청 되었지만 필수는 아님에 대해 클라이언트에 알릴지 여부를 지정합니다. 이 속성은 유형: 부울 예: true 기본값: 지정되지 않음 | |
| 클라이언트 인증서의 CN(Common Name)을 호스트 이름과 비교할지 여부를 지정하여 일치하는지 확인합니다. 이 옵션은 양방향 TLS를 사용하는 경우에만 적용됩니다. 유형: 부울 예: true 기본값: 지정되지 않음 | |
|
SSL 공급자가 유형: 문자열 예: OPENSSL 기본값: JDK | |
|
나가는 연결의 유형: 문자열 예: some_regular_expression 기본값: 지정되지 않음 | |
| OpenShift Container Platform 외부 클라이언트에 커넥터를 노출할지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| Operator가 일치하는 각 주소 또는 주소 집합에 대해 CR에 추가하는 구성을 적용하는 방법을 지정합니다. 지정할 수 있는 값은 다음과 같습니다.
유형: 문자열 예: replace_all 기본값: merge_all | |
| 일치하는 주소 또는 주소 집합에 대한 주소 설정입니다. | |
|
유형: 문자열 예: DROP 기본값: PAGE | |
| 클라이언트가 메시지를 보낼 때 브로커가 주소를 자동으로 생성할지, 또는 존재하지 않는 주소에 바인딩된 대기열인 메시지를 사용하려고 할 때 지정합니다. 유형: 부울 예: false 기본값: true | |
| 브로커가 배달되지 않은 메시지를 수신하기 위해 배달 못 한 주소 및 대기열을 자동으로 생성할지 여부를 지정합니다.
매개 변수가 유형: 부울 예: true 기본값: false | |
| 브로커가 만료된 메시지를 수신할 주소와 큐를 자동으로 생성할지 여부를 지정합니다.
매개 변수가 유형: 부울 예: true 기본값: false | |
|
이 속성은 더 이상 사용되지 않습니다. 대신 | |
|
이 속성은 더 이상 사용되지 않습니다. 대신 | |
| 클라이언트가 메시지를 보낼 때 브로커가 자동으로 큐를 생성할지, 아니면 아직 존재하지 않는 큐인 메시지를 사용하려고 하는지 지정합니다. 유형: 부울 예: false 기본값: true | |
| 브로커에 더 이상 큐가 없는 경우 브로커가 자동으로 생성된 주소를 삭제할지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
| 주소에 큐가 없는 경우 브로커가 자동으로 생성된 주소를 삭제하기 전에 대기하는 시간(밀리초)입니다. 유형: 정수 예: 100 기본값: 0 | |
|
이 속성은 더 이상 사용되지 않습니다. 대신 | |
|
이 속성은 더 이상 사용되지 않습니다. 대신 | |
| 큐에 소비자가 없고 메시지가 없을 때 브로커가 자동으로 생성된 큐를 삭제할지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
| 큐에 소비자가 없고 메시지가 없을 때 브로커가 수동으로 생성된 큐를 자동으로 삭제할지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 큐에 소비자가 없는 경우 브로커가 자동으로 생성된 큐를 삭제하기 전에 대기하는 시간(밀리초)입니다. 유형: 정수 예: 10 기본값: 0 | |
| 브로커가 대기열을 자동으로 삭제할 수 있는지 여부를 평가하기 전에 큐에 있을 수 있는 최대 메시지 수입니다. 유형: 정수 예: 5 기본값: 0 | |
| 구성 파일이 다시 로드되면 이 매개 변수는 구성 파일에서 삭제된 주소(및 대기열)를 처리하는 방법을 지정합니다. 다음 값을 지정할 수 있습니다.
유형: 문자열 예: FORCE 기본값: OFF | |
| 구성 파일이 다시 로드되면 이 설정은 브로커가 구성 파일에서 삭제된 큐를 처리하는 방법을 지정합니다. 다음 값을 지정할 수 있습니다.
유형: 문자열 예: FORCE 기본값: OFF | |
| 브로커가 종료한 메시지(즉, 전달되지 않은메시지)를 전송하는 주소입니다. 유형: 문자열 예: DLA 기본값: 없음 | |
| 브로커가 자동으로 생성된 dead letter 큐의 이름에 적용되는 접두사입니다. 유형: 문자열 예: myDLQ. 기본값: DLQ. | |
| 브로커가 자동 생성된 dead letter 큐에 적용되는 접미사입니다. 유형: 문자열 예 : .DLQ 기본값: 없음 | |
| 자동 생성된 주소에서 사용되는 라우팅 유형입니다. 유형: 문자열 예: ANYCAST 기본값: MULTICAST | |
| 메시지 디스패치가 주소의 큐를 시작하기 전에 필요한 소비자 수입니다. 유형: 정수 예: 5 기본값: 0 | |
| 소비자의 기본 창 크기(바이트)입니다. 유형: 정수 예: 300000 기본값: 1048576(1024*1024) | |
|
유형: 정수 예: 5 기본값: -1 ( delay) | |
| 주소의 모든 큐가 기본적으로 전용 대기열인지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 메시지 그룹화에 사용할 버킷 수입니다. 유형: 정수 예: 0(메시지 그룹화 비활성화) 기본값: -1 (제한 없음) | |
| 그룹에서 메시지를 먼저 나타내는 데 사용되는 키입니다. 유형: 문자열 예: firstMessageKey 기본값: 없음 | |
| 새 소비자가 브로커에 연결할 때 그룹을 재조정할지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 브로커가 그룹을 재조정하는 동안 메시지 디스패치를 일시 정지할지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 주소의 모든 큐가 기본적으로 마지막 값 대기열인지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 마지막 값 큐에 사용할 기본 키입니다. 유형: 문자열 예: shares_ticker 기본값: 없음 | |
| 언제든지 큐에 허용되는 최대 소비자 수입니다. 유형: 정수 예: 100 기본값: -1 (제한 없음) | |
| 주소의 모든 큐가 기본적으로 결정되지 않았는지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 소비자가 없는 한 브로커가 대기열의 콘텐츠를 제거하는지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
|
자동 생성 대기열에서 사용되는 라우팅 유형입니다. 기본값은 유형: 문자열 예: ANYCAST 기본값: MULTICAST | |
| 명시적으로 설정된 링 크기가 없는 일치하는 큐의 기본 링 크기입니다. 유형: 정수 예: 3 기본값: -1 (크기 제한 없음) | |
| Prometheus 플러그인과 같은 구성된 지표 플러그인에서 일치하는 주소 또는 주소 집합에 대한 지표를 수집하는지 여부를 지정합니다. 유형: 부울 예: false 기본값: true | |
| 만료된 메시지를 수신하는 주소입니다. 유형: 문자열 예: myExpiryAddress 기본값: 없음 | |
| 기본 만료 시간을 사용하는 메시지에 적용되는 만료 시간(밀리초)입니다. 유형: 정수 예: 100 기본값: -1( 만료 시간 적용 없음) | |
| 브로커가 자동으로 생성된 만료 큐의 이름에 적용되는 접두사입니다. 유형: 문자열 예: myExp. 기본값: EXP. | |
| 브로커가 자동으로 생성된 만료 큐의 이름에 적용되는 접미사입니다. 유형: 문자열 예 : .EXP 기본값: 없음 | |
| 큐에서 마지막 값만 사용하는지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 관리 리소스에서 검색할 수 있는 메시지 수를 지정합니다. 유형: 정수 예: 100 기본값: 200 | |
| 브로커에 구성된 주소와 주소 설정과 일치하는 문자열입니다. 정확한 주소 이름을 지정하거나 와일드카드 표현식을 사용하여 주소 설정과 주소 집합 과 일치시킬 수 있습니다.
와일드카드 표현식을 유형: 문자열 예: 'myAddresses*' 기본값: 없음 | |
| 브로커가 구성된 dead letter 주소로 메시지를 보내기 전에 메시지를 전달하려고 시도하는 횟수를 지정합니다. 유형: 정수 예: 20 기본값: 10 | |
| 이 값보다 큰 만료 시간을 사용하는 메시지에 적용되는 만료 시간(밀리초)입니다. 유형: 정수 예: 20 기본값: -1 (최대 만료 시간 적용 없음) | |
| 브로커가 만든 메시지 재전송 시도 사이의 최대 값(밀리초)입니다. 유형: 정수 예: 100
기본값: 기본값은 | |
|
주소에 대한 최대 메모리 크기(바이트)입니다. 유형: 문자열 예: 10Mb 기본값: -1 (제한 없음) | |
|
브로커가 메시지를 거부하기 시작하기 전에 주소에 도달할 수 있는 최대 크기(바이트)입니다. 유형: 정수 예: 500 기본값: -1 (최대 크기 없음) | |
| 브로커가 주소에 대한 메시지 카운터 기록을 유지하는 일 수입니다. 유형: 정수 예: 5 기본값: 0 | |
| 이 값보다 만료 시간을 사용하는 메시지에 적용되는 만료 시간(밀리초)입니다. 유형: 정수 예: 20 기본값: -1 (최소 만료 시간 없음) | |
| 페이징 탐색 중에 I/O를 최적화하기 위해 메모리에 보관할 페이지 파일 수입니다. 유형: 정수 예: 10 기본값: 5 | |
|
페이지 크기(바이트)입니다. 또한 유형: 문자열 예: 20971520 기본값: 10485760 (약 10.5MB) | |
| 브로커가 취소된 메시지를 재전송하기 전에 대기하는 시간(밀리초)입니다. 유형: 정수 예: 100 기본값: 0 | |
|
유형: 번호 예: 5 기본값: 1 | |
|
충돌을 피하기 위해 유형: 번호 예: 1.1 기본값: 0 | |
| 시간(밀리초) 동안 브로커가 대기열에서 마지막 소비자가 종료된 후 나머지 메시지를 다시 배포하기 전에 대기하는 시간(밀리초)입니다. 유형: 정수 예: 100 기본값: -1(설정되지 않음) | |
| 주소에 생성된 향후 큐에 보관할 메시지 수입니다. 유형: 정수 예: 100 기본값: 0 | |
| 메시지를 큐로 라우팅할 수 없는 경우 구성된 배달 못 한 주소로 메시지를 보낼지 여부를 지정합니다. 유형: 부울 예: true 기본값: false | |
| 브로커가 느린 소비자를 확인하는 빈도( 초 )입니다. 유형: 정수 예: 15 기본값: 5 | |
|
느린 소비자가 식별될 때 발생하는 상황을 지정합니다. 유효한 옵션은 유형: 문자열 예: KILL 기본값: NOTIFY | |
| 소비자가 느린 것으로 간주되기 전에 초당 메시지 사용량의 최소 속도입니다. 유형: 정수 예: 100 기본값: -1(설정되지 않음) | |
| 브로커의 CRD(Custom Resource Definitions)에 노출되지 않고 사용자 정의 리소스(CR)에서 구성할 수 없는 브로커 속성을 구성합니다. | |
|
브로커에 대해 구성할 속성 이름 및 값 목록입니다. 하나의 property인
유형: 문자열 예: globalMaxSize=512m 기본값: 해당 없음 | |
| ||
|
유형: 부울 예: true 기본값: false | |
|
AMQ Broker의 마이너 버전에서 다른 마이너 유형: 부울 예: true 기본값: false | |
|
Operator가 해당 브로커 컨테이너 이미지를 사용하도록 CR을 자동으로 업데이트하도록 AMQ Broker의 대상 마이너 버전을 지정합니다. 예를 들어 유형: 문자열 예: 7.7.0 기본값: 현재 AMQ Broker 버전 |
8.1.2. 주소 사용자 정의 리소스 구성 참조
주소 CRD를 기반으로 하는 CR 인스턴스를 사용하면 배포 브로커의 주소 및 대기열을 정의할 수 있습니다. 다음 표에서는 구성할 수 있는 항목에 대해 자세히 설명합니다.
별표(*)로 표시된 구성 항목은 배포하는 해당 사용자 정의 리소스(CR)에 필요합니다. 필수가 아닌 항목의 값을 명시적으로 지정하지 않으면 구성은 기본값을 사용합니다.
entry | 설명 및 사용 |
---|---|
| 브로커에 생성할 주소 이름입니다. 유형: 문자열 예: address0 기본값: 지정되지 않음 |
|
브로커에 생성할 큐 이름입니다. 유형: 문자열 예: queue0 기본값: 지정되지 않음 |
|
해당 배포의 address CR 인스턴스를 제거할 때 Operator에서 배포의 모든 브로커의 기존 주소를 제거할지 여부를 지정합니다. 기본값은 유형: 부울 예: true 기본값: false |
|
사용할 라우팅 유형; 유형: 문자열 예: anycast 기본값: 멀티 캐스트 |
8.1.3. 보안 사용자 정의 리소스 구성 참조
보안 CRD를 기반으로 하는 CR 인스턴스를 사용하면 다음을 포함하여 배포 브로커에 대한 보안 구성을 정의할 수 있습니다.
- 사용자 및 역할
-
propertiesLoginModule
,guestLoginModule
및keycloakLoginModule
을 포함한 로그인 모듈 - 역할 기반 액세스 제어
- 콘솔 액세스 제어
대부분의 옵션에서는 보안 브로커에 설명된 브로커 보안 개념을 이해해야 합니다.
다음 표에서는 구성할 수 있는 항목에 대해 자세히 설명합니다.
별표(*)로 표시된 구성 항목은 배포하는 해당 사용자 정의 리소스(CR)에 필요합니다. 필수가 아닌 항목의 값을 명시적으로 지정하지 않으면 구성은 기본값을 사용합니다.
entry | 하위 항목 | 설명 및 사용 |
---|---|---|
loginModules | 하나 이상의 로그인 모듈 구성입니다. 로그인 모듈은 다음 유형 중 하나일 수 있습니다.
| |
propertiesLoginModule | name* | 로그인 모듈의 이름입니다. 유형: 문자열 예: my-login 기본값: 해당 없음 |
users.name* | 사용자 이름입니다. 유형: 문자열 예: jdoe 기본값: 해당 없음 | |
users.password* | 사용자의 암호입니다. 유형: 문자열 예: password 기본값: 해당 없음 | |
users.roles | 역할 이름. 유형: 문자열 예: 뷰어 기본값: 해당 없음 | |
guestLoginModule | name* | 게스트 로그인 모듈의 이름입니다. 유형: 문자열 예: guest-login 기본값: 해당 없음 |
guestUser | 게스트 사용자의 이름입니다. 유형: 문자열 예: myguest 기본값: 해당 없음 | |
guestRole | 게스트 사용자의 역할 이름입니다. 유형: 문자열 예: guest 기본값: 해당 없음 | |
keycloakLoginModule | name | KeycloakLoginModule 이름 유형: 문자열 예: sso 기본값: 해당 없음 |
moduleType | KeycloakLoginModule 유형 (directAccess 또는 bearerToken) 유형: 문자열 예: bearerToken 기본값: 해당 없음 | |
구성 | 다음 구성 항목은 Red Hat Single Sign-On과 관련된 것이며 자세한 정보는 OpenID Connect 설명서에서 확인할 수 있습니다. | |
configuration.realm* | KeycloakLoginModule의 영역 유형: 문자열 예: myrealm 기본값: 해당 없음 | |
configuration.realmPublicKey | 영역의 공개 키 유형: 문자열 기본값: 해당 없음 | |
configuration.authServerUrl* | keycloak 인증 서버의 URL 유형: 문자열 기본값: 해당 없음 | |
configuration.sslRequired | SSL이 필요한지 여부를 지정 유형: 문자열 유효한 값은 'all', 'external' 및 'none'입니다. | |
configuration.resource* | 리소스 이름 애플리케이션의 클라이언트 ID입니다. 각 애플리케이션에는 애플리케이션을 식별하는 데 사용되는 클라이언트 ID가 있습니다. | |
configuration.publicClient | 공용 클라이언트인지 여부를 지정합니다. 유형: 부울 기본값: false 예: false | |
configuration.credentials.key | 인증 정보 키를 지정합니다. 유형: 문자열 기본값: 해당 없음 유형: 문자열 기본값: 해당 없음 | |
configuration.credentials.value | 인증 정보 값 지정 유형: 문자열 기본값: 해당 없음 | |
configuration.useResourceRoleMappings | 리소스 역할 매핑 사용 여부를 지정 유형: 부울 예: false | |
configuration.enableCors | CORS(Cross-Origin Resource Sharing) 활성화 여부를 지정합니다. CORS 사전 진행 요청을 처리합니다. 또한 액세스 토큰을 확인하여 유효한 출처를 결정합니다. 유형: 부울 기본값: false | |
configuration.corsMaxAge | CORS 최대 기간 CORS가 활성화된 경우 Access-Control-Max-Age 헤더의 값을 설정합니다. | |
configuration.corsAllowedMethods | CORS 허용된 방법 CORS가 활성화된 경우 Access-Control-Allow-Methods 헤더의 값을 설정합니다. 쉼표로 구분된 문자열이어야 합니다. | |
configuration.corsAllowedHeaders | CORS 허용 헤더 CORS를 활성화하면 Access-Control-Allow-Headers 헤더의 값을 설정합니다. 쉼표로 구분된 문자열이어야 합니다. | |
configuration.corsExposedHeaders | CORS 노출된 헤더 CORS를 활성화하면 Access-Control-Expose-Headers 헤더의 값을 설정합니다. 쉼표로 구분된 문자열이어야 합니다. | |
configuration.exposeToken | 액세스 토큰 노출 여부를 지정 유형: 부울 기본값: false | |
configuration.bearerOnly | 전달자 토큰 확인 여부를 지정 유형: 부울 기본값: false | |
configuration.autoDetectBearerOnly | 자동으로 전달자 토큰만 감지할지 여부를 지정 유형: 부울 기본값: false | |
configuration.connectionPoolSize | 연결 풀의 크기 유형: Integer 기본값: 20 | |
configuration.allowAnyHostName | 호스트 이름 허용 여부를 지정합니다. 유형: 부울 기본값: false | |
configuration.disableTrustManager | 신뢰 관리자 비활성화 여부를 지정 유형: 부울 기본값: false | |
configuration.trustStore* | 신뢰 저장소의 경로 ssl-required가 none 또는 disable-trust-manager가 true인 경우가 아니면 REQUIRED입니다. | |
configuration.trustStorePassword* | truststore 암호 truststore가 설정되어 있고 truststore에 암호가 필요한 경우 REQUIRED입니다. | |
configuration.clientKeyStore | 클라이언트 키 저장소의 경로 유형: 문자열 기본값: 해당 없음 | |
configuration.clientKeyStorePassword | 클라이언트 키 저장소 암호 유형: 문자열 기본값: 해당 없음 | |
configuration.clientKeyPassword | 클라이언트 키 암호 유형: 문자열 기본값: 해당 없음 | |
configuration.alwaysRefreshToken | 토큰을 항상 새로 고칠지 여부를 지정합니다. 유형: 부울 예: false | |
configuration.registerNodeAtStartup | 시작 시 노드 등록 여부를 지정 유형: 부울 예: false | |
configuration.registerNodePeriod | 노드 다시 등록 기간 유형: 문자열 기본값: 해당 없음 | |
configuration.tokenStore | 토큰 저장소 유형 (세션 또는 쿠키) 유형: 문자열 기본값: 해당 없음 | |
configuration.tokenCookiePath | 쿠키 저장소의 쿠키 경로 유형: 문자열 기본값: 해당 없음 | |
configuration.principalAttribute | OpenID Connect ID 토큰 속성을 사용하여 UserPrincipal 이름을 입력합니다. OpenID Connect ID 토큰 속성을 사용하여 UserPrincipal 이름을. token 속성이 null이면 기본값은 sub입니다. 가능한 값은 sub, preferred_username, email, name, nickname, given_name, family_name입니다. | |
configuration.proxyUrl | 프록시 URL | |
configuration.turnOffChangeSessionIdOnLogin | 성공적인 로그인 시 세션 ID를 변경할지 여부를 지정 유형: 부울 예: false | |
configuration.tokenMinimumTimeToLive | 활성 액세스 토큰을 새로 고칠 최소 시간 유형: Integer 기본값: 0 | |
configuration.minTimeBetweenJwksRequests | Keycloak에 대한 두 요청 사이의 최소 간격은 새 공개 키를 검색 유형: Integer 기본값: 10 | |
configuration.publicKeyCacheTtl | Keycloak에 대한 두 요청 간 최대 간격은 새 공개 키를 검색 유형: Integer 기본값: 86400 | |
configuration.ignoreOauthQueryParameter | 전달자 토큰 처리를 위해 access_token 쿼리 매개변수 처리를 해제할지 여부 유형: 부울 예: false | |
configuration.verifyTokenAudience | 토큰에 대상자로 이 클라이언트 이름(리소스)이 포함되어 있는지 확인합니다. 유형: 부울 예: false | |
configuration.enableBasicAuth | 기본 인증 지원 여부 유형: 부울 기본값: false | |
configuration.confidentialPort | SSL/TLS를 통한 보안 연결을 위해 Keycloak 서버에서 사용하는 기밀 포트 유형: Integer 예: 8443 | |
configuration.redirectRewriteRules.key | 리디렉션 URI와 일치하는 데 사용되는 정규식입니다. 유형: 문자열 기본값: 해당 없음 | |
configuration.redirectRewriteRules.value | 대체 문자열 유형: 문자열 기본값: 해당 없음 | |
configuration.scope | DirectAccessGrantsLoginModule의 OAuth2 범위 매개변수 유형: 문자열 기본값: 해당 없음 | |
securityDomains | 브로커 보안 도메인 | |
brokerDomain.name | 브로커 도메인 이름 유형: 문자열 예: activemq 기본값: 해당 없음 | |
brokerDomain.loginModules |
하나 이상의 로그인 모듈. 각 항목은 위의 | |
brokerDomain.loginModules.name | 로그인 모듈의 이름 유형: 문자열 예: prop-module 기본값: 해당 없음 | |
brokerDomain.loginModules.flag |
propertiesLoginModule, 유형: 문자열 예: 충분한 경우 기본값: 해당 없음 | |
brokerDomain.loginModules.debug | Debug | |
brokerDomain.loginModules.reload | reload | |
consoleDomain.name | 브로커 도메인 이름 유형: 문자열 예: activemq 기본값: 해당 없음 | |
consoleDomain.loginModules | 단일 로그인 모듈 구성입니다. | |
consoleDomain.loginModules.name | 로그인 모듈의 이름 유형: 문자열 예: prop-module 기본값: 해당 없음 | |
consoleDomain.loginModules.flag |
propertiesLoginModule, 유형: 문자열 예: 충분한 경우 기본값: 해당 없음 | |
consoleDomain.loginModules.debug | Debug 유형: 부울 예: false | |
consoleDomain.loginModules.reload | reload 유형: 부울 예: true 기본값: false | |
securitySettings |
| |
broker.match | 보안 설정 섹션의 주소 일치 패턴입니다. 일치 패턴 구문에 대한 자세한 내용은 AMQ Broker 와일드카드 구문을 참조하십시오. | |
broker.permissions.operationType | 권한 설정에 설명된 대로 보안 설정 의 작업 유형입니다. 유형: 문자열 예: createAddress 기본값: 해당 없음 | |
broker.permissions.roles | 보안 설정은 권한 설정에 설명된 대로 이러한 역할에 적용됩니다. 유형: 문자열 예: root 기본값: 해당 없음 | |
securitySettings.management |
| |
hawtioRoles | 브로커 콘솔에 로그인할 수 있는 역할입니다. 유형: 문자열 예: root 기본값: 해당 없음 | |
connector.host | 관리 API에 연결하기 위한 커넥터 호스트입니다. 유형: 문자열 예: myhost 기본값: localhost | |
connector.port | 관리 API에 연결하기 위한 커넥터 포트입니다. 유형: 정수 예: 1099 기본값: 1099 | |
connector.jmxRealm | 관리 API의 영역입니다. 유형: 문자열 예: activemq 기본값: activemq | |
connector.objectName | 관리 API의 object 이름입니다. 유형: 문자열 예: connector:name=rmi 기본값: connector:name=rmi | |
connector.authenticatorType | 관리 API 인증 유형입니다. 유형: 문자열 예: password 기본값: password | |
connector.secured | 관리 API 연결의 보안 여부 유형: 부울 예: true 기본값: false | |
connector.keyStoreProvider | 관리 커넥터의 키 저장소 공급자입니다. connector.secured="true"를 설정한 경우 필수 항목입니다. 기본값은 JKS입니다. | |
connector.keyStorePath | 키 저장소의 위치입니다. connector.secured="true"를 설정한 경우 필수 항목입니다. | |
connector.keyStorePassword | 관리 커넥터의 키 저장소 암호입니다. connector.secured="true"를 설정한 경우 필수 항목입니다. | |
connector.trustStoreProvider | connector.secured="true"를 설정한 경우 관리 커넥터의 신뢰 저장소 공급자가 필요합니다. 유형: 문자열 예: JKS 기본값: JKS | |
connector.trustStorePath | 관리 커넥터에 대한 신뢰 저장소의 위치입니다. connector.secured="true"를 설정한 경우 필수 항목입니다. 유형: 문자열 기본값: 해당 없음 | |
connector.trustStorePassword | 관리 커넥터의 truststore 암호입니다. connector.secured="true"를 설정한 경우 필수 항목입니다. 유형: 문자열 기본값: 해당 없음 | |
connector.passwordCodec | 관리 커넥터의 암호 codec: 구성 파일에서 암호 암호 암호화에 설명된 대로 사용할 암호 코드c의 정규화된 클래스 이름입니다. | |
authorisation.allowedList.domain | allowedList 도메인 유형: 문자열 기본값: 해당 없음 | |
authorisation.allowedList.key | allowedList의 키 유형: 문자열 기본값: 해당 없음 | |
authorisation.defaultAccess.method | defaultAccess List의 방법 유형: 문자열 기본값: 해당 없음 | |
authorisation.defaultAccess.roles | defaultAccess List의 역할 유형: 문자열 기본값: 해당 없음 | |
authorisation.roleAccess.domain | roleAccess List의 도메인 유형: 문자열 기본값: 해당 없음 | |
authorisation.roleAccess.key | roleAccess List의 키 유형: 문자열 기본값: 해당 없음 | |
authorisation.roleAccess.accessList.method | roleAccess List의 메서드 유형: 문자열 기본값: 해당 없음 | |
authorisation.roleAccess.accessList.roles | roleAccess List의 역할 유형: 문자열 기본값: 해당 없음 | |
applyToCrNames | 이 보안 구성을 현재 네임스페이스에 이름이 지정된 CR에서 정의한 브로커에 적용합니다. * 또는 빈 문자열 값은 모든 브로커에 적용되는 것을 의미합니다. 유형: 문자열 예: my-broker 기본값: 현재 네임스페이스의 CR에 의해 정의된 모든 브로커입니다. |