6장. 배포


6.1. 애플리케이션 사용자 정의 도메인

주의

AWS 4.14에서 Red Hat OpenShift Service부터 Custom Domain Operator는 더 이상 사용되지 않습니다. AWS 4.14의 Red Hat OpenShift Service에서 Ingress를 관리하려면 Ingress Operator를 사용합니다. AWS 4.13 및 이전 버전의 Red Hat OpenShift Service에는 기능이 변경되지 않습니다.

애플리케이션에 대한 사용자 지정 도메인을 구성할 수 있습니다. 사용자 지정 도메인은 AWS 애플리케이션에서 Red Hat OpenShift Service와 함께 사용할 수 있는 특정 와일드카드 도메인입니다.

6.1.1. 애플리케이션의 사용자 정의 도메인 구성

최상위 도메인(TLD)은 AWS 클러스터에서 Red Hat OpenShift Service를 운영하는 고객이 소유합니다. Custom Domains Operator는 사용자 정의 인증서를 두 번째 작업으로 사용하여 새 Ingress 컨트롤러를 설정합니다. 그런 다음 외부 DNS에서 이 Ingress 컨트롤러의 퍼블릭 DNS 레코드를 사용하여 사용자 정의 도메인에 사용할 와일드카드 CNAME 레코드를 생성할 수 있습니다.

참고

Red Hat은 API 도메인을 제어하므로 사용자 정의 API 도메인은 지원되지 않습니다. 그러나 고객은 애플리케이션 도메인을 변경할 수 있습니다. 개인 IngressController 가 있는 프라이빗 사용자 정의 도메인의 경우 CustomDomain CR에서 .spec.scopeInternal 로 설정합니다.

사전 요구 사항

  • dedicated-admin 권한이 있는 사용자 계정
  • 고유한 도메인 또는 와일드카드 도메인(예: *.apps.<company_name>.io)
  • CN=*.apps.<company_name>.io와 같은 사용자 정의 인증서 또는 와일드카드 사용자 정의 인증서
  • 최신 버전의 oc CLI가 설치된 클러스터에 액세스
중요

CustomDomain CR의 metadata/name: 섹션에서 예약된 이름 default 또는 apps * (예: apps 또는 apps2 )를 사용하지 마십시오.

프로세스

  1. 개인 키와 공개 인증서에서 새 TLS 시크릿을 만듭니다. 여기서 fullchain.pemprivkey.pem 은 공개 또는 개인 와일드카드 인증서입니다.

    예제

    $ oc create secret tls <name>-tls --cert=fullchain.pem --key=privkey.pem -n <my_project>

  2. CustomDomain CR(사용자 정의 리소스)을 생성합니다.

    예: <company_name>-custom-domain.yaml

    apiVersion: managed.openshift.io/v1alpha1
    kind: CustomDomain
    metadata:
      name: <company_name>
    spec:
      domain: apps.<company_name>.io 1
      scope: External
      loadBalancerType: Classic 2
      certificate:
        name: <name>-tls 3
        namespace: <my_project>
      routeSelector: 4
        matchLabels:
         route: acme
      namespaceSelector: 5
        matchLabels:
         type: sharded

    1
    사용자 정의 도메인입니다.
    2
    사용자 정의 도메인의 로드 밸런서 유형입니다. 네트워크 로드 밸런서를 사용하는 경우 이 유형은 기본 클래식 또는 NLB 일 수 있습니다.
    3
    이전 단계에서 생성한 시크릿입니다.
    4
    선택 사항: CustomDomain 인그레스에서 서비스를 제공하는 경로 세트를 필터링합니다. 값을 제공하지 않으면 기본값은 필터링이 아닙니다.
    5
    선택 사항: CustomDomain 인그레스에서 서비스를 제공하는 네임스페이스 세트를 필터링합니다. 값을 제공하지 않으면 기본값은 필터링이 아닙니다.
  3. CR을 적용합니다.

    예제

    $ oc apply -f <company_name>-custom-domain.yaml

  4. 새로 생성된 CR의 상태를 가져옵니다.

    $ oc get customdomains

    출력 예

    NAME               ENDPOINT                                                    DOMAIN                       STATUS
    <company_name>     xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com  *.apps.<company_name>.io     Ready

  5. endpoint 값을 사용하여 Route53과 같은 관리형 DNS 공급자에 새 와일드카드 CNAME 레코드 세트를 추가합니다.

    예제

    *.apps.<company_name>.io -> xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com

  6. 새 애플리케이션을 생성하고 노출합니다.

    예제

    $ oc new-app --docker-image=docker.io/openshift/hello-openshift -n my-project

    $ oc create route <route_name> --service=hello-openshift hello-openshift-tls --hostname hello-openshift-tls-my-project.apps.<company_name>.io -n my-project
    $ oc get route -n my-project
    $ curl https://hello-openshift-tls-my-project.apps.<company_name>.io
    Hello OpenShift!

6.1.2. 사용자 정의 도메인의 인증서 업데이트

oc CLI 툴을 사용하여 CDO(Custom Domains Operator)로 인증서를 갱신할 수 있습니다.

사전 요구 사항

  • 최신 버전 oc CLI 툴이 설치되어 있어야 합니다.

프로세스

  1. 새 시크릿 생성

    $ oc create secret tls <secret-new> --cert=fullchain.pem --key=privkey.pem -n <my_project>
  2. patch CustomDomain CR

    $ oc patch customdomain <company_name> --type='merge' -p '{"spec":{"certificate":{"name":"<secret-new>"}}}'
  3. 이전 시크릿 삭제

    $ oc delete secret <secret-old> -n <my_project>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.