7.3. OpenShift Serverless 전송 암호화 설정
사전 요구 사항
- 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
- {oc-first}를 설치합니다.
- cert-manager Operator for Red Hat OpenShift를 설치합니다.
- OpenShift Serverless Operator를 설치합니다.
cert-manager Operator for Red Hat OpenShift를 설치하기 전에 OpenShift Serverless Operator를 설치하는 경우 knative-serving
네임스페이스에서 컨트롤러 및 활성화자 배포를 다시 시작해야 합니다. 이러한 배포를 다시 시작하지 않으면 Knative에서 필요한 cert-manager
리소스가 생성되지 않아 Knative 서비스가 보류되어 Knative Serving cert-manager
통합을 활성화하지 못합니다.
7.3.1. 자체 서명 클러스터 발행자 구성
다음 절차에서는 루트 인증서로 SelfSigned
발행자를 사용합니다. 이 방법의 영향 및 제한 사항에 대한 자세한 내용은 SelfSigned cert-manager 설명서를 참조하십시오.
회사별 개인 키 인프라(PKI)를 관리하는 경우 CA 발행자를 사용합니다. 자세한 내용은 CA 발행자에 대한 cert-manager 설명서를 참조하십시오.
프로세스
자체 서명된
ClusterIssuer
사용자 정의 리소스(CR)를 생성합니다.ClusterIssuer CR의 예
apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: knative-serving-selfsigned-issuer spec: selfSigned: {}
다음 명령을 실행하여
ClusterIssuer
CR을 적용합니다.$ oc apply -f <filename>
ClusterIssuer
CR을 참조하는 루트 인증서를 생성합니다.루트 인증서 예
apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: knative-serving-selfsigned-ca namespace: cert-manager 1 spec: secretName: knative-serving-ca 2 isCA: true commonName: selfsigned-ca privateKey: algorithm: ECDSA size: 256 issuerRef: name: knative-serving-selfsigned-issuer kind: ClusterIssuer group: cert-manager.io
다음 명령을 실행하여
인증서
CR을 적용합니다.$ oc apply -f <filename>
7.3.2. Serving에서 사용할 ClusterIssuer 생성
Serving으로 인증서 사용을 활성화하려면 클러스터 발행자를 생성해야 합니다.
프로세스
Serving용
knative-serving-ca-issuer
ClusterIssuer
를 생성합니다.apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: knative-serving-ca-issuer spec: ca: secretName: knative-serving-ca 1
- 1
- OpenShift Serverless Serving 구성 요소에서 새 인증서에 사용할 수 있는 인증서가 포함된
cert-manager
Operator for Red Hat OpenShift 네임 스페이스(기본적으로 cert-manager)의 시크릿 이름입니다.
다음 명령을 실행하여
ClusterIssuer
리소스를 적용합니다.$ oc apply -f <filename>
7.3.3. 전송 암호화 구성
전송 암호화 구성은 다음 두 부분으로 구성됩니다.
사용할
ClusterIssuer
발행자를 지정합니다.-
clusterLocalIssuerRef
: Ingress에 사용되는 cluster-local-domain 인증서에 대한 issuer입니다. -
systemInternalIssuerRef
: Knative 내부 구성 요소에서 사용하는 system-internal-tls 인증서에 대한 인증서의 경우 발행자입니다.
-
사용할 전송 암호화 기능 지정:
-
cluster-local-domain-tls
: cluster-local 도메인에 대한 전송 암호화 기능 사용 -
system-internal-tls
: OpenShift Serverless Serving 내부 구성 요소에 대한 전송 암호화 기능을 활성화합니다.
-
프로세스
KnativeServing
리소스에서 전송 암호화를 활성화합니다.apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: ... config: certmanager: clusterLocalIssuerRef: | kind: ClusterIssuer name: knative-serving-ca-issuer 1 systemInternalIssuerRef: | kind: ClusterIssuer name: knative-serving-ca-issuer 2 network: cluster-local-domain-tls: Enabled 3 system-internal-tls: Enabled 4
다음 명령을 실행하여
KnativeServing
리소스를 적용합니다.$ oc apply -f <filename>
필요한 경우 Ingress 컨트롤러의
defaultCertificate
값을 변경합니다.apiVersion: operator.openshift.io/v1 kind: IngressController ... spec: defaultCertificate: name: ca-ingress-cert
defaultCertificate
값을 변경한 경우KnativeServing
사용자 정의 리소스의openshift-ingress-default-certificate
필드에 사용자 정의 인증서 이름을 지정해야 합니다.예를 들어 사용자 정의 인증서 이름이
ca-ingress-cert
인 경우 다음 구성을 추가합니다.... spec: config: network: system-internal-tls: Enabled openshift-ingress-default-certificate: "ca-ingress-cert" ...
cluster-local-domain-tls
또는system-internal-tls
를 활성화한 경우 다음 명령을 실행하여 컨트롤러 구성 요소를 다시 시작합니다.중요cluster-local-domain-tls
또는system-internal-tls
기능이 활성화된 경우 Knative Servingcert-manager
통합을 활성화하려면 컨트롤러 구성 요소를 다시 시작해야 합니다.$ oc rollout restart deploy/controller -n knative-serving
system-internal-tls
를 활성화한 경우 다음 명령을 실행하여 Activator 구성 요소를 다시 시작합니다.중요system-internal-tls
기능이 활성화되면 런타임 중에 사용할 수 없으므로 활성화 구성 요소를 다시 시작하여 내부 웹 서버를 재구성해야 합니다.$ oc rollout restart deploy/activator -n knative-serving