1.2. ConfigMap을 사용하여 구성 추가
ConfigMap 리소스를 사용하여 AMQ Streams 배포에 특정 구성을 추가합니다. ConfigMap은 키-값 쌍을 사용하여 기밀이 아닌 데이터를 저장합니다. ConfigMaps에 추가된 구성 데이터는 한 곳에서 유지 관리되며 구성 요소 간에 재사용할 수 있습니다.
ConfigMap은 다음과 관련된 구성 데이터만 저장할 수 있습니다.
- 로깅 구성
- 메트릭 구성
- Kafka Connect 커넥터의 외부 구성
다른 구성 영역에는 ConfigMap을 사용할 수 없습니다.
구성 요소를 구성할 때 configMapKeyRef 속성을 사용하여 ConfigMap에 대한 참조를 추가할 수 있습니다.
예를 들어 configMapKeyRef 를 사용하여 로깅에 대한 구성을 제공하는 ConfigMap을 참조할 수 있습니다. ConfigMap을 사용하여 Log4j 구성 파일을 전달할 수 있습니다. 로깅 구성에 대한 참조를 추가합니다.
로깅을 위한 ConfigMap 예
spec:
# ...
logging:
type: external
valueFrom:
configMapKeyRef:
name: my-config-map
key: my-config-map-key
메트릭 구성에 ConfigMap을 사용하려면 구성 요소의 metricsConfig 구성에 대한 참조를 동일한 방식으로 추가합니다.
ExternalConfiguration 속성은 pod에 마운트된 ConfigMap(또는 Secret)의 데이터를 환경 변수 또는 볼륨으로 사용할 수 있도록 합니다. Kafka Connect에서 사용하는 커넥터에 대한 외부 구성 데이터를 사용할 수 있습니다. 데이터는 외부 데이터 소스와 관련이 있어 커넥터가 해당 데이터 소스와 통신하는 데 필요한 값을 제공할 수 있습니다.
예를 들어 configMapKeyRef 속성을 사용하여 ConfigMap의 구성 데이터를 환경 변수로 전달할 수 있습니다.
환경 변수 값을 제공하는 ConfigMap의 예
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect
spec:
# ...
externalConfiguration:
env:
- name: MY_ENVIRONMENT_VARIABLE
valueFrom:
configMapKeyRef:
name: my-config-map
key: my-key
외부에서 관리되는 ConfigMap을 사용하는 경우 구성 공급자를 사용하여 ConfigMaps에서 데이터를 로드합니다.
1.2.1. 사용자 정의 ConfigMap 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
AMQ Streams 는 OpenShift에 배포할 때 자체 ConfigMap 및 기타 리소스를 생성합니다. ConfigMaps에는 구성 요소를 실행하는 데 필요한 데이터가 포함되어 있습니다. AMQ Streams에서 생성한 ConfigMap은 편집할 수 없습니다.
생성하는 모든 사용자 정의 ConfigMap에 이러한 기본 ConfigMap과 동일한 이름이 없는지 확인합니다. 동일한 이름이 있는 경우 덮어씁니다. 예를 들어 ConfigMap의 이름이 Kafka 클러스터의 ConfigMap과 동일한 경우 Kafka 클러스터에 대한 업데이트가 있는 경우 덮어씁니다.