16.2.2. 사용자 정의 인증서를 사용하여 엣지 경로 생성
oc create route
명령을 사용하면 엣지 TLS 종료와 사용자 정의 인증서로 보안 경로를 구성할 수 있습니다. 엣지 경로를 사용하면 Ingress 컨트롤러에서 트래픽을 대상 Pod로 전달하기 전에 TLS 암호화를 종료합니다. 이 경로는 Ingress 컨트롤러가 경로에 사용하는 TLS 인증서 및 키를 지정합니다.
사전 요구 사항
- PEM 인코딩 파일에 인증서/키 쌍이 있고 해당 인증서가 경로 호스트에 유효해야 합니다.
- 인증서 체인을 완성하는 PEM 인코딩 파일에 별도의 CA 인증서가 있을 수 있습니다.
- 노출하려는 서비스가 있어야 합니다.
암호로 보호되는 키 파일은 지원되지 않습니다. 키 파일에서 암호를 제거하려면 다음 명령을 사용하십시오.
$ openssl rsa -in password_protected_tls.key -out tls.key
프로세스
이 절차에서는 사용자 정의 인증서 및 엣지 TLS 종료를 사용하여 Route
리소스를 생성합니다. 다음 예에서는 인증서/키 쌍이 현재 작업 디렉터리의 tls.crt
및 tls.key
파일에 있다고 가정합니다. 인증서 체인을 완료하는 데 필요한 경우 CA 인증서를 지정할 수도 있습니다. tls.crt
, tls.key
, ca.crt
(옵션)에 실제 경로 이름을 사용하십시오. frontend
에는 노출하려는 서비스 이름을 사용합니다. www.example.com
을 적절한 호스트 이름으로 바꿉니다.
엣지 TLS 종료 및 사용자 정의 인증서를 사용하여 보안
Route
리소스를 생성합니다.$ oc create route edge --service=frontend --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=www.example.com
생성된
Route
리소스는 다음과 유사합니다.보안 경로의 YAML 정의
apiVersion: route.openshift.io/v1 kind: Route metadata: name: frontend spec: host: www.example.com to: kind: Service name: frontend tls: termination: edge key: |- -----BEGIN PRIVATE KEY----- [...] -----END PRIVATE KEY----- certificate: |- -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- caCertificate: |- -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE-----
추가 옵션은
oc create route edge --help
를 참조하십시오.