16.3. 인증서 갱신 및 유효 기간


클러스터 CA 및 클라이언트 CA 인증서는 유효 기간이라는 제한된 기간 동안만 유효합니다. 일반적으로 인증서가 생성된 후 일수로 정의됩니다.

Cluster Operator가 자동으로 생성한 CA 인증서의 경우 유효한 기간을 구성할 수 있습니다.

  • Kafka.spec.clusterCa.validityDays의 클러스터 CA 인증서
  • Kafka.spec.clientsCa.validityDays의 클라이언트 CA 인증서

두 인증서의 기본 유효 기간은 365일입니다. 수동으로 설치한 CA 인증서에는 고유한 유효 기간이 정의되어 있어야 합니다.

CA 인증서가 만료되면 해당 인증서를 계속 신뢰하는 구성 요소 및 클라이언트는 CA 개인 키로 인증서를 서명한 피어의 연결을 허용하지 않습니다. 구성 요소 및 클라이언트는 대신 CA 인증서를 신뢰해야 합니다.

서비스 손실 없이 CA 인증서 갱신을 허용하기 위해 Cluster Operator는 이전 CA 인증서가 만료되기 전에 인증서 갱신을 시작합니다.

Cluster Operator가 생성한 인증서의 갱신 기간을 구성할 수 있습니다.

  • Kafka.spec.clusterCa.renewalDays의 클러스터 CA 인증서
  • Kafka.spec.clientsCa.renewalDays의 클라이언트 CA 인증서

두 인증서의 기본 갱신 기간은 30일입니다.

갱신 기간은 현재 인증서의 만료 날짜로부터 역순으로 측정됩니다.

갱신 기간에 대한 유효 기간

Not Before                                     Not After
    |                                              |
    |<--------------- validityDays --------------->|
                              <--- renewalDays --->|
Copy to Clipboard Toggle word wrap

Kafka 클러스터를 생성한 후 유효 기간 및 갱신 기간을 변경하려면 Kafka 사용자 정의 리소스를 구성 및 적용하고 CA 인증서를 수동으로 갱신합니다. 인증서를 수동으로 갱신하지 않으면 다음에 인증서가 자동으로 갱신될 때 새 기간이 사용됩니다.

인증서 유효 기간 및 갱신 기간에 대한 Kafka 구성의 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
# ...
spec:
# ...
  clusterCa:
    renewalDays: 30
    validityDays: 365
    generateCertificateAuthority: true
  clientsCa:
    renewalDays: 30
    validityDays: 365
    generateCertificateAuthority: true
# ...
Copy to Clipboard Toggle word wrap

갱신 기간 동안 Cluster Operator의 동작은 클러스터 CA 및 클라이언트 CA의 generateCertificateAuthority 인증서 생성 속성 설정에 따라 다릅니다.

true
속성이 true 로 설정되면 Cluster Operator에 의해 CA 인증서가 자동으로 생성되고 갱신 기간 내에 자동으로 갱신됩니다.
false
속성이 false 로 설정되면 Cluster Operator에 의해 CA 인증서가 생성되지 않습니다. 자체 인증서를 설치하는 경우 이 옵션을 사용합니다.

16.3.1. 자동으로 생성된 CA 인증서로 갱신 프로세스

CA 인증서를 갱신할 때 Cluster Operator는 이 순서대로 다음 프로세스를 수행합니다.

  1. 새 CA 인증서를 생성하지만 기존 키를 유지합니다.

    새 인증서는 이전 인증서를 해당 시크릿 내의 ca.crt 이름으로 교체합니다.

  2. 새 클라이언트 인증서( Zookafka 노드, Kafka 브로커 및 Entity Operator용)를 생성합니다.

    서명 키가 변경되지 않았으므로 엄격하게 필요하지 않지만 클라이언트 인증서의 유효 기간이 CA 인증서와 동기화됩니다.

  3. 새 CA 인증서를 신뢰하고 새 클라이언트 인증서를 사용할 수 있도록 Zoo Cryostat 노드를 재시작합니다.
  4. Kafka 브로커를 다시 시작하여 새 CA 인증서를 신뢰하고 새 클라이언트 인증서를 사용합니다.
  5. 새 CA 인증서를 신뢰하고 새 클라이언트 인증서를 사용하도록 Topic 및 User Operator를 다시 시작합니다.

    사용자 인증서는 클라이언트 CA에서 서명합니다. User Operator가 생성한 사용자 인증서는 클라이언트 CA가 갱신될 때 갱신됩니다.

16.3.2. 클라이언트 인증서 갱신

Cluster Operator는 Kafka 클러스터를 사용하는 클라이언트 애플리케이션을 인식하지 못합니다.

클러스터에 연결하고 올바르게 작동하려면 클라이언트 애플리케이션이 다음을 수행해야 합니다.

  • <cluster> - cluster-ca-cert 시크릿에 게시된 클러스터 CA 인증서를 신뢰합니다.
  • < user-name> 보안에 게시된 인증 정보를 사용하여 클러스터에 연결합니다.

    사용자 시크릿은 PEM 및 PKCS #12 형식으로 자격 증명을 제공하거나 SCRAM-SHA 인증을 사용할 때 암호를 제공할 수 있습니다. User Operator는 사용자가 생성될 때 사용자 인증 정보를 생성합니다.

인증서 갱신 후에도 클라이언트가 계속 작동하는지 확인해야 합니다. 갱신 프로세스는 클라이언트 구성 방법에 따라 다릅니다.

클라이언트 인증서 및 키를 수동으로 프로비저닝하는 경우 새 클라이언트 인증서를 생성하고 갱신 기간 내에 클라이언트에서 새 인증서를 사용해야 합니다. 갱신 기간이 끝날 때까지 이 작업을 수행하지 않으면 클라이언트 애플리케이션이 클러스터에 연결할 수 없게 될 수 있습니다.

참고

동일한 OpenShift 클러스터 및 네임스페이스 내에서 실행되는 워크로드의 경우 Secrets는 보안의 현재 상태에서 클라이언트 Pod가 키 저장소 및 신뢰 저장소를 구성하도록 볼륨으로 마운트할 수 있습니다. 이 프로세스에 대한 자세한 내용은 클러스터 CA를 신뢰하도록 내부 클라이언트 구성을 참조하십시오.

16.3.3. Cluster Operator 관리 CA 인증서 수동 갱신

Cluster Operator가 생성한 클러스터 및 클라이언트 CA 인증서는 해당 인증서 갱신 기간이 시작될 때 자동으로 갱신됩니다. 그러나 strimzi.io/force-renew 주석을 사용하여 인증서 갱신 기간이 시작되기 전에 이러한 인증서 중 하나 또는 둘 다를 수동으로 갱신할 수 있습니다. 보안상의 이유로 이 작업을 수행하거나 인증서의 갱신 또는 유효 기간을 변경한 경우 .

업데이트된 인증서는 이전 인증서와 동일한 개인 키를 사용합니다.

참고

자체 CA 인증서를 사용하는 경우 force-renew 주석을 사용할 수 없습니다. 대신 자체 CA 인증서를 갱신하는 절차를 따르십시오.

사전 요구 사항

이 절차에서는 my-project 네임스페이스 내에서 my-cluster 라는 Kafka 클러스터를 사용합니다.

프로세스

  1. 갱신하려는 CA 인증서가 포함된 보안에 strimzi.io/force-renew 주석을 적용합니다.

    클러스터 CA 시크릿 갱신

    oc annotate secret my-cluster-cluster-ca-cert -n my-project strimzi.io/force-renew="true"
    Copy to Clipboard Toggle word wrap

    클라이언트 CA 시크릿 갱신

    oc annotate secret my-cluster-clients-ca-cert -n my-project strimzi.io/force-renew="true"
    Copy to Clipboard Toggle word wrap

  2. 다음 조정에서 Cluster Operator는 새 인증서를 생성합니다.

    유지 관리 시간 창이 구성된 경우 Cluster Operator는 다음 유지 관리 기간 기간 내에 첫 번째 조정에 새 CA 인증서를 생성합니다.

  3. 새 CA 인증서의 유효 기간을 확인합니다.

    새 클러스터 CA 인증서의 유효 기간 확인

    oc get secret my-cluster-cluster-ca-cert -n my-project -o=jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates
    Copy to Clipboard Toggle word wrap

    새 클라이언트 CA 인증서의 유효 기간 확인

    oc get secret my-cluster-clients-ca-cert -n my-project -o=jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates
    Copy to Clipboard Toggle word wrap

    이 명령은 CA 인증서에 유효한 시작 및 종료 날짜인 notBeforenotAfter 날짜를 반환합니다.

  4. 새 클러스터 CA 인증서를 신뢰하도록 클라이언트 구성을 업데이트합니다.

    다음 내용을 참조하십시오.

16.3.4. 만료된 Cluster Operator 관리 CA 인증서에서 수동으로 복구

클러스터 Operator는 갱신 기간이 시작될 때 클러스터 및 클라이언트 CA 인증서를 자동으로 갱신합니다. 그러나 예기치 않은 운영 문제 또는 중단으로 인해 Cluster Operator의 다운타임 또는 Kafka 클러스터를 사용할 수 없는 것과 같은 갱신 프로세스를 방지할 수 있습니다. CA 인증서가 만료되면 Kafka 클러스터 구성 요소는 서로 통신할 수 없으며 Cluster Operator는 수동 조작 없이 CA 인증서를 갱신할 수 없습니다.

즉시 복구를 수행하려면 다음 절차에 설명된 단계를 지정된 순서대로 따르십시오. 만료된 클러스터 및 클라이언트 CA 인증서에서 복구할 수 있습니다. 이 프로세스에서는 Cluster Operator에 의해 새 인증서가 생성되도록 만료된 인증서가 포함된 보안을 삭제해야 합니다. Apache Kafka 스트림에서 관리되는 보안에 대한 자세한 내용은 16.2.2절. “Cluster Operator에서 생성한 보안” 을 참조하십시오.

참고

자체 CA 인증서를 사용하는 경우 프로세스가 만료되지만 Cluster Operator에서 생성한 인증서를 사용하지 않고 CA 인증서를 갱신 해야 합니다.

사전 요구 사항

이 절차에서는 my-project 네임스페이스 내에서 my-cluster 라는 Kafka 클러스터를 사용합니다.

프로세스

  1. 만료된 CA 인증서가 포함된 보안을 삭제합니다.

    클러스터 CA 시크릿 삭제

    oc delete secret my-cluster-cluster-ca-cert -n my-project
    Copy to Clipboard Toggle word wrap

    클라이언트 CA 시크릿 삭제

    oc delete secret my-cluster-clients-ca-cert -n my-project
    Copy to Clipboard Toggle word wrap

  2. Cluster Operator가 새 인증서를 생성할 때까지 기다립니다.

    • Kafka 브로커의 ID를 동일한 이름(my-cluster-cluster-ca-cert)의 시크릿에 생성하는 새 CA 클러스터 인증서입니다.
    • Kafka 사용자의 ID를 확인하는 새 CA 클라이언트 인증서가 동일한 이름의 시크릿(my-cluster-clients-ca-cert)에 생성됩니다.
  3. 새 CA 인증서의 유효 기간을 확인합니다.

    새 클러스터 CA 인증서의 유효 기간 확인

    oc get secret my-cluster-cluster-ca-cert -n my-project -o=jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates
    Copy to Clipboard Toggle word wrap

    새 클라이언트 CA 인증서의 유효 기간 확인

    oc get secret my-cluster-clients-ca-cert -n my-project -o=jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates
    Copy to Clipboard Toggle word wrap

    이 명령은 CA 인증서에 유효한 시작 및 종료 날짜인 notBeforenotAfter 날짜를 반환합니다.

  4. CA 인증서를 사용하는 구성 요소 Pod 및 시크릿을 삭제합니다.

    1. Zoo Cryostat 시크릿을 삭제합니다.
    2. Cluster Operator가 누락된 Zoo Cryostat 시크릿을 감지하고 다시 생성할 때까지 기다립니다.
    3. 모든 Zoo Cryostat Pod를 삭제합니다.
    4. Kafka 시크릿을 삭제합니다.
    5. Cluster Operator가 누락된 Kafka 시크릿을 감지하고 다시 생성할 때까지 기다립니다.
    6. 모든 Kafka Pod를 삭제합니다.

    클라이언트 CA 인증서만 복구하는 경우 Kafka 시크릿 및 Pod만 삭제해야 합니다.

    다음 oc 명령을 사용하여 리소스를 찾고 해당 리소스가 제거되었는지 확인할 수 있습니다.

    oc get <resource_type> --all-namespaces | grep <kafka_cluster_name>
    Copy to Clipboard Toggle word wrap

    & lt;resource_type >을 Pod 또는 Secret 과 같은 리소스 유형으로 바꿉니다.

  5. Cluster Operator가 누락된 Kafka 및 Zoo Cryostat Pod를 감지하고 업데이트된 CA 인증서로 다시 생성할 때까지 기다립니다.

    조정 시 Cluster Operator는 새 CA 인증서를 신뢰하도록 다른 구성 요소를 자동으로 업데이트합니다.

  6. Cluster Operator 로그의 인증서 검증과 관련된 문제가 없는지 확인합니다.
  7. 새 클러스터 CA 인증서를 신뢰하도록 클라이언트 구성을 업데이트합니다.

    다음 내용을 참조하십시오.

16.3.5. Cluster Operator 관리 CA 인증서에서 사용하는 개인 키 교체

Cluster Operator에서 생성한 클러스터 CA 및 클라이언트 CA 인증서에서 사용하는 개인 키를 교체할 수 있습니다. 개인 키가 교체되면 Cluster Operator는 새 개인 키에 대한 새 CA 인증서를 생성합니다.

참고

자체 CA 인증서를 사용하는 경우 force-replace 주석을 사용할 수 없습니다. 대신 자체 CA 인증서를 갱신하는 절차를 따르십시오.

사전 요구 사항

  • Cluster Operator가 실행 중입니다.
  • CA 인증서 및 개인 키가 설치된 Kafka 클러스터입니다.

프로세스

  • strimzi.io/force-replace 주석 을 갱신할 개인 키가 포함된 보안에 적용합니다.

    Expand
    표 16.13. 개인 키 교체 명령
    의 개인 키Secret주석 명령

    클러스터 CA

    <cluster_name>-cluster-ca

    oc annotate secret <cluster_name>-cluster-ca strimzi.io/force-replace="true"

    클라이언트 CA

    <cluster_name>-clients-ca

    oc annotate secret <cluster_name>-clients-ca strimzi.io/force-replace="true"

다음 조정에서 Cluster Operator는 다음을 수행합니다.

  • 주석이 달린 보안에 대한 새 개인 키 생성
  • 새 CA 인증서 생성

유지 관리 시간 창이 구성된 경우 Cluster Operator는 다음 유지 관리 시간 기간 내에 첫 번째 조정 시 새 개인 키 및 CA 인증서를 생성합니다.

클라이언트 애플리케이션은 Cluster Operator가 업데이트한 클러스터 및 클라이언트 CA 인증서를 다시 로드해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat