9.8. 발급자를 사용하여 인증서 구성

cert-manager Operator for Red Hat OpenShift를 사용하면 인증서와 인증서를 관리하고 갱신 및 발급과 같은 작업을 처리하며 클러스터 내 워크로드에 대해 클러스터 내부 및 클러스터 외부에서 상호 작용하는 구성 요소를 관리할 수 있습니다.

9.8.1. 사용자 워크로드에 대한 인증서 생성

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • cert-manager Operator for Red Hat OpenShift가 설치되어 있습니다.

프로세스

  1. 발행자를 생성합니다. 자세한 내용은 "추가 리소스" 섹션의 "문제 구성"을 참조하십시오.
  2. 인증서를 생성합니다.

    1. Certificate 오브젝트를 정의하는 YAML 파일(예: certificate.yaml )을 생성합니다.

      certificate.yaml 파일 예

      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: <tls_cert> 1
        namespace: <issuer_namespace> 2
      spec:
        isCA: false
        commonName: '<common_name>' 3
        secretName: <secret_name> 4
        dnsNames:
        - "<domain_name>" 5
        issuerRef:
          name: <issuer_name> 6
          kind: Issuer

      1
      인증서의 이름을 입력합니다.
      2
      발급자의 네임스페이스를 지정합니다.
      3
      CN(일반 이름)을 지정합니다.
      4
      인증서가 포함된 생성하는 시크릿의 이름을 지정합니다.
      5
      도메인 이름을 지정합니다.
      6
      발행자의 이름을 지정합니다.
    2. 다음 명령을 실행하여 Certificate 오브젝트를 생성합니다.

      $ oc create -f certificate.yaml

검증

  • 다음 명령을 실행하여 인증서가 생성되고 사용할 준비가 되었는지 확인합니다.

    $ oc get certificate -w -n <issuer_namespace>

    인증서가 Ready 상태가 되면 클러스터의 워크로드가 생성된 인증서 시크릿을 사용할 수 있습니다.

9.8.2. API 서버에 대한 인증서 생성

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • cert-manager Operator for Red Hat OpenShift 1.13.0 이상을 설치했습니다.

프로세스

  1. 발행자를 생성합니다. 자세한 내용은 "추가 리소스" 섹션의 "문제 구성"을 참조하십시오.
  2. 인증서를 생성합니다.

    1. Certificate 오브젝트를 정의하는 YAML 파일(예: certificate.yaml )을 생성합니다.

      certificate.yaml 파일 예

      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: <tls_cert> 1
        namespace: openshift-config
      spec:
        isCA: false
        commonName: "api.<cluster_base_domain>" 2
        secretName: <secret_name> 3
        dnsNames:
        - "api.<cluster_base_domain>" 4
        issuerRef:
          name: <issuer_name> 5
          kind: Issuer

      1
      인증서의 이름을 입력합니다.
      2
      CN(일반 이름)을 지정합니다.
      3
      인증서가 포함된 생성하는 시크릿의 이름을 지정합니다.
      4
      API 서버의 DNS 이름을 지정합니다.
      5
      발행자의 이름을 지정합니다.
    2. 다음 명령을 실행하여 Certificate 오브젝트를 생성합니다.

      $ oc create -f certificate.yaml
  3. certificate라는 API 서버를 추가합니다. 자세한 내용은 "추가 리소스" 섹션의 "인증서라는 API 서버 추가" 섹션을 참조하십시오.
참고

인증서가 업데이트되었는지 확인하려면 인증서가 생성된 후 oc login 명령을 다시 실행합니다.

검증

  • 다음 명령을 실행하여 인증서가 생성되고 사용할 준비가 되었는지 확인합니다.

    $ oc get certificate -w -n openshift-config

    인증서가 Ready 상태가 되면 클러스터의 API 서버가 생성된 인증서 보안을 사용할 수 있습니다.

9.8.3. Ingress 컨트롤러의 인증서 생성

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • cert-manager Operator for Red Hat OpenShift 1.13.0 이상을 설치했습니다.

프로세스

  1. 발행자를 생성합니다. 자세한 내용은 "추가 리소스" 섹션의 "문제 구성"을 참조하십시오.
  2. 인증서를 생성합니다.

    1. Certificate 오브젝트를 정의하는 YAML 파일(예: certificate.yaml )을 생성합니다.

      certificate.yaml 파일 예

      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: <tls_cert> 1
        namespace: openshift-ingress
      spec:
        isCA: false
        commonName: "apps.<cluster_base_domain>" 2
        secretName: <secret_name> 3
        dnsNames:
        - "apps.<cluster_base_domain>" 4
        - "*.apps.<cluster_base_domain>" 5
        issuerRef:
          name: <issuer_name> 6
          kind: Issuer

      1
      인증서의 이름을 입력합니다.
      2
      CN(일반 이름)을 지정합니다.
      3
      인증서가 포함된 생성하는 시크릿의 이름을 지정합니다.
      4 5
      인그레스의 DNS 이름을 지정합니다.
      6
      발행자의 이름을 지정합니다.
    2. 다음 명령을 실행하여 Certificate 오브젝트를 생성합니다.

      $ oc create -f certificate.yaml
  3. 기본 수신 인증서를 교체합니다. 자세한 내용은 "추가 리소스" 섹션의 "기본 수신 인증서 교체" 섹션을 참조하십시오.

검증

  • 다음 명령을 실행하여 인증서가 생성되고 사용할 준비가 되었는지 확인합니다.

    $ oc get certificate -w -n openshift-ingress

    인증서가 Ready 상태가 되면 클러스터의 Ingress 컨트롤러가 생성된 인증서 보안을 사용할 수 있습니다.

9.8.4. 추가 리소스