3.6. 내부 OAuth 서버 URL 사용자 정의

클러스터 Ingress 구성의 spec.componentRoutes 필드에 사용자 정의 호스트 이름과 TLS 인증서를 설정하여 내부 OAuth 서버 URL을 사용자 지정할 수 있습니다.

주의

내부 OAuth 서버 URL을 업데이트하는 경우 OAuth 액세스 토큰을 검색하기 위해 OpenShift OAuth 서버와 통신해야 하는 클러스터의 구성 요소에서 신뢰를 중단할 수 있습니다. OAuth 서버를 신뢰해야 하는 구성 요소는 OAuth 엔드포인트를 호출할 때 적절한 CA 번들을 포함해야 합니다. 예를 들어 다음과 같습니다.

$ oc login -u <username> -p <password> --certificate-authority=<path_to_ca.crt> 1
1
자체 서명 인증서의 경우 ca.crt 파일에 사용자 정의 CA 인증서가 포함되어야 합니다. 그렇지 않으면 로그인에 실패합니다.

Cluster Authentication Operator는 openshift-config-managed 네임스페이스의 oauth-serving-cert 구성 맵에 OAuth 서버의 제공 인증서를 게시합니다. 구성 맵의 data.ca-bundle.crt 키에서 인증서를 찾을 수 있습니다.

사전 요구 사항

  • 관리 권한이 있는 사용자로 클러스터에 로그인했습니다.
  • TLS 인증서 및 키가 포함된 openshift-config 네임스페이스에 시크릿을 생성했습니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.

    작은 정보

    oc create secret tls 명령을 사용하여 TLS 시크릿을 생성할 수 있습니다.

절차

  1. 클러스터 Ingress 구성을 편집합니다.

    $ oc edit ingress.config.openshift.io cluster
  2. 사용자 정의 호스트 이름과 서비스 인증서 및 키를 설정합니다.

    apiVersion: config.openshift.io/v1
    kind: Ingress
    metadata:
      name: cluster
    spec:
      componentRoutes:
        - name: oauth-openshift
          namespace: openshift-authentication
          hostname: <custom_hostname> 1
          servingCertKeyPairSecret:
            name: <secret_name> 2
    1
    사용자 지정 호스트 이름.
    2
    TLS 인증서 (tls.crt) 및 키 (tls.key)가 포함된 openshift-config 네임스페이스의 시크릿에 대한 참조입니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.
  3. 파일을 저장하여 변경 사항을 적용합니다.