3장. 인증서 구성


3.1. 기본 수신 인증서 교체

3.1.1. 기본 수신 인증서 이해

기본적으로 OpenShift Container Platform에서는 Ingress Operator를 사용하여 내부 CA를 생성하고 .apps 하위 도메인의 애플리케이션에 유효한 와일드카드 인증서를 발급합니다. 웹 콘솔과 CLI도 모두 이 인증서를 사용합니다.

내부 인프라 CA 인증서는 자체 서명됩니다. 이 프로세스는 일부 보안 또는 PKI 팀에서는 나쁜 습관으로 인식할 수 있지만 위험이 거의 없습니다. 이러한 인증서를 암시적으로 신뢰하는 유일한 클라이언트는 클러스터 내의 다른 구성요소입니다. 기본 와일드카드 인증서를 컨테이너 사용자 공간에서 제공한 대로 이미 CA 번들에 포함된 공용 CA에서 발행한 인증서로 교체하면 외부 클라이언트가 .apps 하위 도메인에서 실행되는 애플리케이션에 안전하게 연결할 수 있습니다.

3.1.2. 기본 수신 인증서 교체

.apps 하위 도메인에 있는 애플리케이션의 기본 수신 인증서를 교체할 수 있습니다. 인증서를 교체한 후 웹 콘솔 및 CLI를 포함한 모든 애플리케이션에는 지정된 인증서에서 제공하는 암호화가 있습니다.

사전 요구 사항

  • 정규화된 .apps 하위 도메인 및 해당 개인 키에 맞는 와일드카드 인증서가 있어야 합니다. 각각은 별도의 PEM 형식 파일이어야 합니다.
  • 개인 키는 암호화되지 않아야 합니다. 키가 암호화된 경우 OpenShift Container Platform으로 가져오기 전에 키의 암호를 해독합니다.
  • 인증서에는 *.apps.<clustername>.<domain>을 표시하는 subjectAltName 확장자가 포함되어야 합니다.
  • 인증서 파일은 체인에 하나 이상의 인증서를 포함할 수 있습니다. 파일은 와일드카드 인증서를 첫 번째 인증서로 나열한 다음 다른 중간 인증서가 있는 다음 root CA 인증서로 끝나야 합니다.
  • 루트 CA 인증서를 추가 PEM 형식 파일로 복사합니다.
  • ---- END CERTIFICATE-----를 포함하는 모든 인증서가 해당 행 뒤에 하나의 반환으로도 종료되는지 확인합니다.

프로세스

  1. 와일드카드 인증서에 서명하는 데 사용되는 루트 CA 인증서만 포함하는 구성 맵을 생성합니다.

    $ oc create configmap custom-ca \
         --from-file=ca-bundle.crt=</path/to/example-ca.crt> \
    1
    
         -n openshift-config
    Copy to Clipboard
    1
    </path/to/example-ca.crt>는 로컬 파일 시스템에서 루트 CA 인증서 파일의 경로입니다. 예를 들어 /etc/pki/ca-trust/source/anchors.
  2. 새로 생성된 구성 맵으로 클러스터 전체 프록시 구성을 업데이트합니다.

    $ oc patch proxy/cluster \
         --type=merge \
         --patch='{"spec":{"trustedCA":{"name":"custom-ca"}}}'
    Copy to Clipboard
    참고

    클러스터에 대해 신뢰할 수 있는 CA만 업데이트하면 MCO는 /etc/pki/ca-trust/source/anchors/openshift-config-user-ca-bundle.crt 파일을 업데이트하고 노드를 재부팅할 필요가 없도록 신뢰할 수 있는 CA 업데이트를 각 노드에 적용합니다. 그러나 이러한 변경으로 인해 MCP(Machine Config Daemon)가 kubelet 및 CRI-O와 같은 각 노드에서 중요한 서비스를 다시 시작합니다. 이러한 서비스를 다시 시작하면 서비스가 완전히 다시 시작될 때까지 각 노드가 NotReady 상태를 간략하게 입력합니다.

    openshift-config-user-ca-bundle.crt 파일(예: noproxy )에서 다른 매개변수를 변경하면 MCO가 클러스터의 각 노드를 재부팅합니다.

  3. 와일드카드 인증서 체인과 키를 포함하는 보안을 생성합니다.

    $ oc create secret tls <secret> \
    1
    
         --cert=</path/to/cert.crt> \
    2
    
         --key=</path/to/cert.key> \
    3
    
         -n openshift-ingress
    Copy to Clipboard
    1
    <secret>은 인증서 체인과 개인 키를 포함할 보안의 이름입니다.
    2
    </path/to/cert.crt>는 로컬 파일 시스템의 인증서 체인 경로입니다.
    3
    </path/to/cert.key>는 이 인증서와 관련된 개인 키의 경로입니다.
  4. 새로 생성된 보안으로 Ingress Controller 구성을 업데이트합니다.

    $ oc patch ingresscontroller.operator default \
         --type=merge -p \
         '{"spec":{"defaultCertificate": {"name": "<secret>"}}}' \
    1
    
         -n openshift-ingress-operator
    Copy to Clipboard
    1
    <secret>을 이전 단계에서 보안에 사용된 이름으로 교체합니다.
    중요

    롤링 업데이트를 수행하기 위해 Ingress Operator를 트리거하려면 보안 이름을 업데이트해야 합니다. kubelet은 볼륨 마운트의 시크릿에 변경 사항을 자동으로 전파하므로 시크릿 콘텐츠를 업데이트해도 롤링 업데이트가 트리거되지 않습니다. 자세한 내용은 Red Hat 지식베이스 솔루션을 참조하십시오.

추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat