12장. 사용자 정의 리소스 API 참조


12.1. 일반적인 구성 속성

공통 구성 속성은 둘 이상의 리소스에 적용됩니다.

12.1.1. replicas

replicas 속성을 사용하여 복제본을 구성합니다.

복제 유형은 리소스에 따라 다릅니다.

  • KafkaTopic 은 복제 요소를 사용하여 Kafka 클러스터 내에서 각 파티션의 복제본 수를 구성합니다.
  • Kafka 구성 요소는 복제본을 사용하여 더 나은 가용성 및 확장성을 제공하도록 배포에서 Pod 수를 구성합니다.
참고

OpenShift에서 Kafka 구성 요소를 실행할 때 고가용성을 위해 여러 복제본을 실행할 필요가 없을 수 있습니다. 구성 요소가 배포된 노드가 충돌하면 OpenShift에서 Kafka 구성 요소 포드를 다른 노드로 자동으로 다시 예약합니다. 그러나 다른 노드가 가동되어 실행되므로 여러 복제본으로 Kafka 구성 요소를 실행하면 더 빠른 페일오버 시간을 제공할 수 있습니다.

12.1.2. bootstrapServers

bootstrapServers 속성을 사용하여 부트스트랩 서버 목록을 구성합니다.

부트스트랩 서버 목록은 동일한 OpenShift 클러스터에 배포되지 않은 Kafka 클러스터를 참조할 수 있습니다. AMQ Streams에 의해 배포되지 않은 Kafka 클러스터를 참조할 수도 있습니다.

동일한 OpenShift 클러스터에서 각 목록에는 CLUSTER-NAME-kafka-bootstrap이라는 Kafka 클러스터 부트스트랩 서비스와 포트 번호가 이상적이어야 합니다. AMQ Streams에서 배포하지만 다른 OpenShift 클러스터에 배포하는 경우 목록 콘텐츠는 클러스터를 노출하는 데 사용되는 접근 방식(라우팅, 수신, 노드 포트 또는 로드 밸런서)에 따라 달라집니다.

AMQ Streams에서 관리되지 않는 Kafka 클러스터가 있는 Kafka를 사용하는 경우 지정된 클러스터의 구성에 따라 부트스트랩 서버 목록을 지정할 수 있습니다.

12.1.3. ssl

TLS 버전에 특정 암호화 제품군 을 사용하여 클라이언트 연결에 허용되는 3개의 ssl 구성 옵션을 사용합니다. 암호화 제품군은 보안 연결 및 데이터 전송을 위한 알고리즘을 결합합니다.

호스트 이름 확인을 활성화하거나 비활성화하도록 ssl.endpoint.identification.algorithm 속성을 구성할 수도 있습니다.

SSL 구성 예

# ...
spec:
  config:
    ssl.cipher.suites: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" 
1

    ssl.enabled.protocols: "TLSv1.2" 
2

    ssl.protocol: "TLSv1.2" 
3

    ssl.endpoint.identification.algorithm: HTTPS 
4

# ...
Copy to Clipboard Toggle word wrap

1
ECDHE 키 교환 메커니즘, RSA 인증 알고리즘, AES 대량 암호화 알고리즘 및 SHA384 MAC 알고리즘의 조합을 사용하는 TLS용 암호화 제품군입니다.
2
SSl 프로토콜 TLSv1.2 가 활성화되어 있습니다.
3
SSL 컨텍스트를 생성하는 TLSv1.2 프로토콜을 지정합니다. 허용되는 값은 TLSv1.1TLSv1.2 입니다.
4
호스트 이름 확인은 HTTPS 로 설정하여 활성화됩니다. 빈 문자열은 확인을 비활성화합니다.

12.1.4. trustedCertificates

TLS 암호화를 구성하기 위해 tls 를 설정하여 trustedCertificates 속성을 사용하여 인증서가 X.509 형식으로 저장되는 키 이름과 함께 보안 목록을 제공합니다.

Kafka 클러스터의 Cluster Operator가 생성한 보안을 사용하거나 자체 TLS 인증서 파일을 생성한 다음 파일에서 Secret 을 생성할 수 있습니다.

oc create secret generic MY-SECRET \
--from-file=MY-TLS-CERTIFICATE-FILE.crt
Copy to Clipboard Toggle word wrap

TLS 암호화 구성의 예

tls:
  trustedCertificates:
    - secretName: my-cluster-cluster-cert
      certificate: ca.crt
    - secretName: my-cluster-cluster-cert
      certificate: ca2.crt
Copy to Clipboard Toggle word wrap

인증서가 동일한 시크릿에 저장된 경우 여러 번 나열할 수 있습니다.

TLS를 활성화하지만 Java와 함께 제공된 기본 공용 인증 기관 세트를 사용하려면 trustedCertificates 를 빈 배열로 지정할 수 있습니다.

기본 Java 인증서로 TLS 활성화 예

tls:
  trustedCertificates: []
Copy to Clipboard Toggle word wrap

TLS 클라이언트 인증 구성에 대한 자세한 내용은 KafkaClientAuthenticationTls 스키마 참조를 참조하십시오.

12.1.5. resources

AMQ Streams 컨테이너의 리소스를 제어하도록 리소스 요청제한을 구성합니다. 메모리cpu 리소스에 대한 요청 및 제한을 지정할 수 있습니다. 요청은 Kafka의 안정적인 성능을 보장하기에 충분해야 합니다.

프로덕션 환경에서 리소스를 구성하는 방법은 여러 요인에 따라 다릅니다. 예를 들어 애플리케이션은 OpenShift 클러스터에서 리소스를 공유할 수 있습니다.

Kafka의 경우 배포의 다음 측면이 필요한 리소스에 영향을 미칠 수 있습니다.

  • 메시지 처리량 및 크기
  • 메시지를 처리하는 네트워크 스레드 수
  • 생산자 및 소비자 수
  • 주제 및 파티션 수

리소스 요청에 지정된 값은 예약되어 있으며 컨테이너에서 항상 사용할 수 있습니다. 리소스 제한은 지정된 컨테이너에서 사용할 수 있는 최대 리소스를 지정합니다. 요청과 제한 사이의 양은 예약되지 않으며 항상 사용 가능하지 않을 수 있습니다. 컨테이너는 사용 가능한 경우에만 리소스를 제한까지 사용할 수 있습니다. 리소스 제한은 임시이며 다시 할당할 수 있습니다.

리소스 요청 및 제한

Boundaries of a resource requests and limits

요청 없이 제한을 설정하거나 그 반대의 경우 OpenShift는 둘 다 동일한 값을 사용합니다. 리소스에 대한 동등한 요청 및 제한을 설정하면 서비스 품질이 보장되므로 OpenShift는 제한을 초과하지 않는 한 컨테이너를 종료하지 않습니다.

하나 이상의 지원되는 리소스에 대한 리소스 요청 및 제한을 구성할 수 있습니다.

리소스 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    #...
    resources:
      requests:
        memory: 64Gi
        cpu: "8"
      limits:
        memory: 64Gi
        cpu: "12"
  entityOperator:
    #...
    topicOperator:
      #...
      resources:
        requests:
          memory: 512Mi
          cpu: "1"
        limits:
          memory: 512Mi
          cpu: "1"
Copy to Clipboard Toggle word wrap

Topic Operator 및 User Operator에 대한 리소스 요청 및 제한은 Kafka 리소스에 설정됩니다.

OpenShift 클러스터에서 사용 가능한 사용 가능한 리소스보다 많은 리소스 요청이 있는 경우 Pod는 예약되지 않습니다.

참고

AMQ Streams는 메모리cpu 리소스를 지정하는 데 OpenShift 구문을 사용합니다. OpenShift에서 컴퓨팅 리소스를 관리하는 방법에 대한 자세한 내용은 Managing Compute Resources for Containers 를 참조하십시오.

메모리 리소스

메모리 리소스를 구성할 때 구성 요소의 총 요구 사항을 고려하십시오.

Kafka는 JVM 내부에서 실행되며 운영 체제 페이지 캐시를 사용하여 디스크에 쓰기 전에 메시지 데이터를 저장합니다. Kafka의 메모리 요청은 JVM 힙 및 페이지 캐시에 적합해야 합니다. jvmOptions 속성을 구성하여 최소 및 최대 힙 크기를 제어할 수 있습니다.

다른 구성 요소는 페이지 캐시에 의존하지 않습니다. 힙 크기를 제어하도록 jvmOptions 를 구성하지 않고 메모리 리소스를 구성할 수 있습니다.

메모리 요청 및 제한은 메가바이트, 기가바이트, 메비바이트, 기가바이트 단위로 지정됩니다. 사양에 다음 접미사를 사용합니다.

  • m(MB)
  • g(GB)
  • Mi for mebibytes
  • GI for gibibytes

다른 메모리 단위를 사용하는 리소스의 예

# ...
resources:
  requests:
    memory: 512Mi
  limits:
    memory: 2Gi
# ...
Copy to Clipboard Toggle word wrap

메모리 사양 및 추가 지원되는 단위에 대한 자세한 내용은 메모리 측정을 참조하십시오.

CPU 리소스

CPU 요청은 언제든지 안정적인 성능을 제공할 수 있어야 합니다. CPU 요청 및 제한은 코어 또는 밀리코어 /밀리코어 로 지정됩니다.

CPU 코어는 정수(5 CPU 코어) 또는 10진수(2.5 CPU 코어)로 지정됩니다. 1000 밀리코어1 개의 CPU 코어와 동일합니다.

CPU 단위 예

# ...
resources:
  requests:
    cpu: 500m
  limits:
    cpu: 2.5
# ...
Copy to Clipboard Toggle word wrap

1개의 CPU 코어의 컴퓨팅 성능은 OpenShift가 배포된 플랫폼에 따라 다를 수 있습니다.

CPU 사양에 대한 자세한 내용은 CPU 측정을 참조하십시오.

12.1.6. image

이미지 속성을 사용하여 구성 요소에서 사용하는 컨테이너 이미지를 구성합니다.

다른 컨테이너 레지스트리 또는 사용자 지정 이미지를 사용해야 하는 경우에만 컨테이너 이미지를 재정의하는 것이 좋습니다.

예를 들어 네트워크에서 AMQ Streams에서 사용하는 컨테이너 리포지토리에 대한 액세스를 허용하지 않는 경우 AMQ Streams 이미지를 복사하거나 소스에서 빌드할 수 있습니다. 그러나 구성된 이미지가 AMQ Streams 이미지와 호환되지 않는 경우 제대로 작동하지 않을 수 있습니다.

컨테이너 이미지의 사본도 사용자 정의하고 디버깅에 사용할 수 있습니다.

다음 리소스의 image 속성을 사용하여 구성 요소에 사용할 컨테이너 이미지를 지정할 수 있습니다.

  • Kafka.spec.kafka
  • Kafka.spec.zookeeper
  • Kafka.spec.entityOperator.topicOperator
  • Kafka.spec.entityOperator.userOperator
  • Kafka.spec.entityOperator.tlsSidecar
  • KafkaConnect.spec
  • KafkaMirrorMaker.spec
  • KafkaMirrorMaker2.spec
  • KafkaBridge.spec

Kafka, Kafka Connect 및 Kafka MirrorMaker의 이미지 속성 구성

Kafka, Kafka Connect 및 Kafka MirrorMaker는 여러 버전의 Kafka를 지원합니다. 각 구성 요소에는 자체 이미지가 필요합니다. 다른 Kafka 버전의 기본 이미지는 다음 환경 변수에 구성됩니다.

  • STRIMZI_KAFKA_IMAGES
  • STRIMZI_KAFKA_CONNECT_IMAGES
  • STRIMZI_KAFKA_MIRROR_MAKER_IMAGES

이러한 환경 변수에는 Kafka 버전과 해당 이미지 간의 매핑이 포함됩니다. 매핑은 imageversion 속성과 함께 사용됩니다.

  • 사용자 정의 리소스에 이미지버전이 제공되지 않으면 버전이 기본적으로 Cluster Operator의 기본 Kafka 버전으로 설정되며 이미지는 환경 변수에서 이 버전에 해당하는 이미지입니다.
  • 이미지가 지정되었지만 버전이 지정되지 않은 경우 지정된 이미지가 사용되고 버전이 Cluster Operator의 기본 Kafka 버전으로 간주됩니다.
  • version 이 제공되지만 이미지가 없으면 환경 변수에서 지정된 버전에 해당하는 이미지가 사용됩니다.
  • 버전과 이미지가 모두 제공되면 지정된 이미지가 사용됩니다. 이미지는 지정된 버전이 있는 Kafka 이미지를 포함하는 것으로 간주됩니다.

다양한 구성 요소의 이미지버전은 다음 속성에서 구성할 수 있습니다.

  • spec.kafka.imagespec.kafka.version 의 Kafka의 경우 .
  • spec.imagespec.version 의 Kafka Connect 및 Kafka MirrorMaker의 경우 .
주의

버전 만 제공하고 이미지 속성을 지정하지 않은 상태로 두는 것이 좋습니다. 이렇게 하면 사용자 정의 리소스를 구성할 때 오류가 발생할 가능성이 줄어듭니다. 다른 버전의 Kafka에 사용되는 이미지를 변경해야 하는 경우 Cluster Operator의 환경 변수를 구성하는 것이 좋습니다.

다른 리소스에서 image 속성 구성

다른 사용자 지정 리소스의 image 속성의 경우 배포 중에 지정된 값이 사용됩니다. 이미지 속성이 없으면 Cluster Operator 구성에 지정된 이미지가 사용됩니다. Cluster Operator 구성에 이미지 이름이 정의되지 않은 경우 기본값이 사용됩니다.

  • Topic Operator의 경우:

    1. Cluster Operator 구성의 STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-rhel8-operator:2.2.2 container image.
  • 사용자 Operator의 경우:

    1. Cluster Operator 구성의 STRIMZI_DEFAULT_USER_OPERATOR_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-rhel8-operator:2.2.2 container image.
  • Entity Operator TLS 사이드카의 경우:

    1. Cluster Operator 구성에서 STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-kafka-32-rhel8:2.2.2 container image.
  • Kafka Exporter의 경우:

    1. Cluster Operator 구성의 STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-kafka-32-rhel8:2.2.2 container image.
  • Kafka 브리지의 경우:

    1. Cluster Operator 구성의 STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-bridge-rhel8:2.2.2 container image.
  • Kafka 브로커 이니셜라이저의 경우:

    1. Cluster Operator 구성의 STRIMZI_DEFAULT_KAFKA_INIT_IMAGE 환경 변수에 지정된 컨테이너 이미지입니다.
    2. registry.redhat.io/amq7/amq-streams-rhel8-operator:2.2.2 container image.

컨테이너 이미지 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    image: my-org/my-image:latest
    # ...
  zookeeper:
    # ...
Copy to Clipboard Toggle word wrap

12.1.7. livenessProbe 및 readinessProbe 상태 점검

livenessProbereadinessProbe 속성을 사용하여 AMQ Streams에서 지원되는 상태 점검 프로브를 구성합니다.

상태 점검은 애플리케이션의 상태를 확인하는 정기 테스트입니다. 상태 점검 프로브가 실패하면 OpenShift는 애플리케이션이 정상이 아니며 수정하려고 시도합니다.

프로브에 대한 자세한 내용은 활성 상태 및 준비 프로브 구성 을 참조하십시오.

livenessProbereadinessProbe 모두 다음 옵션을 지원합니다.

  • initialDelaySeconds
  • timeoutSeconds
  • periodSeconds
  • successThreshold
  • failureThreshold

활성 상태 프로브 구성의 예

# ...
readinessProbe:
  initialDelaySeconds: 15
  timeoutSeconds: 5
livenessProbe:
  initialDelaySeconds: 15
  timeoutSeconds: 5
# ...
Copy to Clipboard Toggle word wrap

livenessProbereadinessProbe 옵션에 대한 자세한 내용은 프로브 스키마 참조를 참조하십시오.

12.1.8. metricsConfig

metricsConfig 속성을 사용하여 Prometheus 지표를 활성화하고 구성합니다.

metricsConfig 속성에는 Prometheus Cryostat Exporter 에 대한 추가 구성이 있는 ConfigMap에 대한 참조가 포함되어 있습니다. AMQ Streams는 Prometheus Cryostat 내보내기를 사용하여 Apache Kafka 및 Zoo Cryostat에서 지원하는 Cryostat 메트릭을 Prometheus 지표로 변환할 수 있습니다.

추가 구성 없이 Prometheus 지표 내보내기를 활성화하려면 metricsConfig.valueFrom.configMapKeyRef.key 아래에 빈 파일이 포함된 ConfigMap을 참조할 수 있습니다. 빈 파일을 참조할 때 이름이 변경되지 않는 한 모든 메트릭이 노출됩니다.

Kafka의 메트릭 구성이 있는 ConfigMap의 예

kind: ConfigMap
apiVersion: v1
metadata:
  name: my-configmap
data:
  my-key: |
    lowercaseOutputName: true
    rules:
    # Special cases and very specific rules
    - pattern: kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value
      name: kafka_server_$1_$2
      type: GAUGE
      labels:
       clientId: "$3"
       topic: "$4"
       partition: "$5"
    # further configuration
Copy to Clipboard Toggle word wrap

Kafka의 메트릭 구성 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    metricsConfig:
      type: jmxPrometheusExporter
      valueFrom:
        configMapKeyRef:
          name: my-config-map
          key: my-key
    # ...
  zookeeper:
    # ...
Copy to Clipboard Toggle word wrap

메트릭이 활성화되면 포트 9404에 노출됩니다.

metricsConfig (또는 더 이상 사용되지 않는 metrics) 속성이 리소스에 정의되지 않은 경우 Prometheus 지표가 비활성화됩니다.

Prometheus 및 Grafana 설정 및 배포에 대한 자세한 내용은 OpenShift의 AMQ Streams 배포 및 업그레이드 가이드의 Kafka에 메트릭 소개 를 참조하십시오.

12.1.9. jvmOptions

다음 AMQ Streams 구성 요소는 JVM(Java Virtual Machine) 내에서 실행됩니다.

  • Apache Kafka
  • Apache ZooKeeper
  • Apache Kafka Connect
  • Apache Kafka MirrorMaker
  • AMQ Streams Kafka Bridge

다른 플랫폼 및 아키텍처에서 성능을 최적화하려면 다음 리소스에서 jvmOptions 속성을 구성합니다.

  • Kafka.spec.kafka
  • Kafka.spec.zookeeper
  • Kafka.spec.entityOperator.userOperator
  • Kafka.spec.entityOperator.topicOperator
  • Kafka.spec.cruiseControl
  • KafkaConnect.spec
  • KafkaMirrorMaker.spec
  • KafkaMirrorMaker2.spec
  • KafkaBridge.spec

구성에 다음 옵션을 지정할 수 있습니다.

-Xms
JVM이 시작될 때 최소 초기 할당 힙 크기
-Xmx
최대 힙 크기
-XX
JVM에 대한 고급 런타임 옵션
javaSystemProperties
추가 시스템 속성
gcLoggingEnabled
가비지 수집기 로깅 활성화
참고

-Xmx-Xms 와 같은 JVM 설정에서 허용되는 단위는 해당 이미지의 JDK java 바이너리에서 허용하는 단위와 동일합니다. 따라서 1g 또는 1G 는 1,073,741,824바이트 및 Gi 는 유효한 단위 접미사가 아닙니다. 이는 메모리 요청 및 제한에 사용되는 단위와 다릅니다. 1G 규칙에 따라 1G 는 1,000,000,000바이트를 의미하며 1Gi 는 1,073,741,824바이트를 의미합니다.

-Xms-Xmx 옵션

컨테이너에 대한 메모리 요청 및 제한 값을 설정하는 것 외에도 -Xms-Xmx JVM 옵션을 사용하여 JVM에 대한 특정 힙 크기를 설정할 수 있습니다. Xms 옵션을 사용하여 초기 힙 크기와 -Xmx 옵션을 설정하여 최대 힙 크기를 설정합니다.

JVM에 할당된 메모리를 더 많이 제어하도록 힙 크기를 지정합니다. 힙 크기는 컨테이너의 메모리 제한(및 요청) 을 초과하지 않고 최대한 활용해야 합니다. 힙 크기 및 다른 메모리 요구 사항은 지정된 메모리 제한에 적합해야 합니다. 구성에 힙 크기를 지정하지 않고 메모리 리소스 제한(및 요청)을 구성하는 경우 Cluster Operator는 기본 힙 크기를 자동으로 적용합니다. Cluster Operator는 메모리 리소스 구성의 백분율에 따라 기본 최대 및 최소 힙 값을 설정합니다.

다음 표에서는 기본 힙 값을 보여줍니다.

Expand
표 12.1. 구성 요소의 기본 힙 설정
구성 요소힙에 할당된 사용 가능한 메모리의 백분율최대 제한

Kafka

50%

5GB

ZooKeeper

75%

2GB

Kafka Connect

75%

없음

MirrorMaker 2.0

75%

없음

MirrorMaker

75%

없음

크루즈 제어

75%

없음

Kafka 브리지

50%

31 Gi

메모리 제한(및 요청)을 지정하지 않으면 JVM의 최소 힙 크기가 128M 로 설정됩니다. JVM의 최대 힙 크기는 필요에 따라 메모리를 늘릴 수 있도록 정의되지 않습니다. 이는 테스트 및 개발의 단일 노드 환경에 이상적입니다.

적절한 메모리 요청을 설정하면 다음을 방지할 수 있습니다.

  • 노드에서 실행 중인 다른 포드의 메모리가 부족하면 OpenShift에서 컨테이너를 종료합니다.
  • OpenShift는 메모리가 충분하지 않은 노드에 컨테이너를 예약합니다. -Xms-Xmx 로 설정된 경우 컨테이너가 즉시 충돌합니다. 그렇지 않으면 컨테이너가 나중에 충돌합니다.

이 예에서 JVM은 힙에 대해 2GiB(=2,147,483,648 바이트)를 사용합니다. 총 JVM 메모리 사용량은 최대 힙 크기보다 훨씬 클 수 있습니다.

예: Xmx-Xms 구성

# ...
jvmOptions:
  "-Xmx": "2g"
  "-Xms": "2g"
# ...
Copy to Clipboard Toggle word wrap

초기 (-Xms) 및 최대 (-Xmx) 힙 크기에 대해 동일한 값을 설정하면 JVM이 시작 후 메모리를 할당하지 않아도 실제로 필요한 것보다 더 많은 힙을 할당할 수 있습니다.

중요

Kafka 브로커 컨테이너와 같은 많은 디스크 I/O를 수행하는 컨테이너에는 운영 체제 페이지 캐시로 사용하기 위해 사용 가능한 메모리가 필요합니다. 이러한 컨테이너의 경우 요청된 메모리는 JVM에서 사용하는 메모리보다 훨씬 커야 합니다.

-XX 옵션

-XX 옵션은 Apache Kafka의 KAFKA_JVM_PERFORMANCE_OPTS 옵션을 구성하는 데 사용됩니다.

-XX 구성 예

jvmOptions:
  "-XX":
    "UseG1GC": true
    "MaxGCPauseMillis": 20
    "InitiatingHeapOccupancyPercent": 35
    "ExplicitGCInvokesConcurrent": true
Copy to Clipboard Toggle word wrap

-XX 구성으로 인한 JVM 옵션

-XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:-UseParNewGC
Copy to Clipboard Toggle word wrap

참고

-XX 옵션을 지정하지 않으면 KAFKA_JVM_PERFORMANCE_OPTS 의 기본 Apache Kafka 구성이 사용됩니다.

javaSystemProperties

javaSystemProperties 는 디버깅 유틸리티와 같은 추가 Java 시스템 속성을 구성하는 데 사용됩니다.

javaSystemProperties 구성 예

jvmOptions:
  javaSystemProperties:
    - name: javax.net.debug
      value: ssl
Copy to Clipboard Toggle word wrap

jvmOptions 에 대한 자세한 내용은 JvmOptions 스키마 참조를 참조하십시오.

12.1.10. 가비지 수집기 로깅

또한 jvmOptions 속성을 사용하면 가비지 수집기(GC) 로깅을 활성화하고 비활성화할 수 있습니다. GC 로깅은 기본적으로 비활성화되어 있습니다. 이를 활성화하려면 다음과 같이 gcLoggingEnabled 속성을 설정합니다.

GC 로깅 구성 예

# ...
jvmOptions:
  gcLoggingEnabled: true
# ...
Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat