18.6. 자체 CA 인증서 및 개인 키 사용


Cluster Operator에서 생성한 기본값을 사용하는 대신 자체 CA 인증서 및 개인 키를 설치하고 사용합니다. 클러스터 및 클라이언트 CA 인증서 및 개인 키를 교체할 수 있습니다.

다음과 같은 방법으로 자체 CA 인증서 및 개인 키를 사용하여 전환할 수 있습니다.

  • Kafka 클러스터를 배포하기 전에 자체 CA 인증서 및 개인 키 설치
  • Kafka 클러스터를 배포한 후 기본 CA 인증서 및 개인 키를 고유한 인증서로 교체

Kafka 클러스터를 배포한 후 기본 CA 인증서 및 개인 키를 교체하는 단계는 자체 CA 인증서 및 개인 키를 갱신하는 데 사용되는 것과 동일합니다.

자체 인증서를 사용하는 경우 자동으로 갱신되지 않습니다. 만료되기 전에 CA 인증서 및 개인 키를 갱신해야 합니다.

갱신 옵션:

  • CA 인증서만 갱신
  • CA 인증서 및 개인 키 갱신(또는 기본값 교체)

18.6.1. 자체 CA 인증서 및 개인 키 설치

Cluster Operator에서 생성한 클러스터 및 클라이언트 CA 인증서 및 개인 키를 사용하는 대신 자체 CA 인증서 및 개인 키를 설치합니다.

기본적으로 Apache Kafka의 Streams는 자동으로 갱신되는 다음 클러스터 CA 및 클라이언트 CA 시크릿을 사용합니다.

  • 클러스터 CA 시크릿

    • <cluster_name>-cluster-ca
    • <cluster_name>-cluster-ca-cert
  • 클라이언트 CA 시크릿

    • <cluster_name>-clients-ca
    • <cluster_name>-clients-ca-cert

자체 인증서를 설치하려면 동일한 이름을 사용합니다.

사전 요구 사항

  • Cluster Operator가 실행 중입니다.
  • Kafka 클러스터는 아직 배포되지 않았습니다.

    Kafka 클러스터를 이미 배포한 경우 기본 CA 인증서를 자체 인증서로 교체할 수 있습니다.

  • 클러스터 CA 또는 클라이언트 CA의 PEM 형식의 고유한 X.509 인증서 및 키입니다.

    • 루트 CA가 아닌 클러스터 또는 클라이언트 CA를 사용하려면 전체 체인을 인증서 파일에 포함해야 합니다. 체인은 다음 순서로 설정되어야 합니다.

      1. 클러스터 또는 클라이언트 CA
      2. 하나 이상의 중간 CA
      3. 루트 CA
    • 체인의 모든 CA는 X509v3 기본 제약 조건 확장을 사용하여 구성해야 합니다. 기본 제한 조건은 인증서 체인의 경로 길이를 제한합니다.
  • 인증서를 변환하는 OpenSSL TLS 관리 툴입니다.

사전 준비 사항

Cluster Operator는 PEM(Privacy Enhanced Mail) 및 PKCS #12(Public-Key Cryptography Standards) 형식으로 키와 인증서를 생성합니다. PEM 형식의 키와 인증서만 Apache Kafka의 Streams에서 내부적으로 사용됩니다. PKCS #12 저장소는 PEM 형식 사용을 직접 지원하지 않는 사용자 애플리케이션에만 있습니다. 사용자 정의 CA 인증서를 사용하는 경우 PKCS #12 저장소 및 해당 암호를 시크릿에 추가하는 것은 선택 사항입니다.

프로세스

  1. CA 인증서가 포함된 새 보안을 생성합니다.

    PEM 형식의 인증서가 있는 클라이언트 보안 생성

    oc create secret generic <cluster_name>-clients-ca-cert --from-file=ca.crt=ca.crt

    PEM 및 PKCS #12 형식의 인증서로 클러스터 시크릿 생성

    oc create secret generic <cluster_name>-cluster-ca-cert \
      --from-file=ca.crt=ca.crt \
      --from-file=ca.p12=ca.p12 \
      --from-literal=ca.password=P12-PASSWORD

    <cluster_name>을 Kafka 클러스터 이름으로 바꿉니다.

  2. 개인 키가 포함된 새 보안을 생성합니다.

    oc create secret generic <ca_key_secret> --from-file=ca.key=ca.key
  3. 보안에 레이블을 지정합니다.

    oc label secret <ca_certificate_secret> strimzi.io/kind=Kafka strimzi.io/cluster="<cluster_name>"
    oc label secret <ca_key_secret> strimzi.io/kind=Kafka strimzi.io/cluster="<cluster_name>"
    • strimzi.io/kind=Kafka 레이블은 Kafka 사용자 정의 리소스를 식별합니다.
    • strimzi.io/cluster="<cluster_name>" 레이블은 Kafka 클러스터를 식별합니다.
  4. 보안 주석

    oc annotate secret <ca_certificate_secret> strimzi.io/ca-cert-generation="<ca_certificate_generation>"
    oc annotate secret <ca_key_secret> strimzi.io/ca-key-generation="<ca_key_generation>"
    • 주석 strimzi.io/ca-cert-generation="<ca_certificate_generation>" 은 새 CA 인증서 생성을 정의합니다.
    • 주석 strimzi.io/ca-key-generation="<ca_key_generation>" 은 새 CA 키 생성을 정의합니다.

      0(zero)에서 자체 CA 인증서에 대한 증분 값(stimzi.io/ca-cert-generation=0)으로 시작합니다. 인증서를 갱신할 때 더 높은 증분 값을 설정합니다.

  5. 생성된 CA를 사용하지 않도록 Kafka.spec.clusterCa 또는 Kafka.spec.clientsCa 오브젝트를 구성하여 클러스터에 대한 Kafka 리소스를 생성합니다.

    사용자가 제공한 인증서를 사용하도록 클러스터 CA를 구성하는 조각 모음 Kafka 리소스의 예

    kind: Kafka
    version: kafka.strimzi.io/v1beta2
    spec:
      # ...
      clusterCa:
        generateCertificateAuthority: false

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동