14.7. 샘플 애플리케이션 배포
이제 동적 인증서가 구성되었으므로 샘플 애플리케이션을 배포하여 새 경로를 노출할 때 인증서가 프로비저닝되고 신뢰할 수 있는지 확인할 수 있습니다.
샘플 애플리케이션에 대한 새 프로젝트를 생성합니다.
$ oc new-project hello-world
hello world 애플리케이션을 배포합니다.
$ oc -n hello-world new-app --image=docker.io/openshift/hello-openshift
클러스터 외부에서 애플리케이션을 노출할 경로를 생성합니다.
$ oc -n hello-world create route edge --service=hello-openshift hello-openshift-tls --hostname hello.${DOMAIN}
경로의 인증서를 신뢰할 수 없는지 확인합니다.
$ curl -I https://hello.${DOMAIN}
출력 예
curl: (60) SSL: no alternative certificate subject name matches target host name 'hello.example.com' More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.
cert-manager를 트리거하도록 경로에 주석을 달아 사용자 정의 도메인의 인증서를 프로비저닝합니다.
$ oc -n hello-world annotate route hello-openshift-tls cert-manager.io/issuer-kind=ClusterIssuer cert-manager.io/issuer-name=letsencrypt-production
참고인증서를 생성하는 데 2~3분 정도 걸립니다. 인증서 갱신은 expiration에 따라 cert-manager Operator에 의해 자동으로 관리됩니다.
경로의 인증서가 이제 신뢰할 수 있는지 확인합니다.
$ curl -I https://hello.${DOMAIN}
출력 예
HTTP/2 200 date: Thu, 05 Oct 2023 23:45:33 GMT content-length: 17 content-type: text/plain; charset=utf-8 set-cookie: 52e4465485b6fb4f8a1b1bed128d0f3b=68676068bb32d24f0f558f094ed8e4d7; path=/; HttpOnly; Secure; SameSite=None cache-control: private