5.4. OpenShift 클러스터 내부에서 서비스 레지스트리에 대한 HTTPS 연결 구성


다음 절차에서는 OpenShift 클러스터 내부에서 HTTPS 연결에 사용할 포트를 노출하도록 서비스 레지스트리 배포를 구성하는 방법을 보여줍니다.

주의

이러한 종류의 연결은 클러스터 외부에서 직접 사용할 수 없습니다. 라우팅은 호스트 이름을 기반으로 하며, HTTPS 연결 시 인코딩됩니다. 따라서 엣지 종료 또는 기타 구성이 여전히 필요합니다. 5.5절. “OpenShift 클러스터 외부에서 서비스 레지스트리에 대한 HTTPS 연결 구성”을 참조하십시오.

사전 요구 사항

  • Service Registry Operator가 이미 설치되어 있어야 합니다.

절차

  1. 자체 서명된 인증서가 있는 키 저장소를 생성합니다. 자체 인증서를 사용하는 경우 이 단계를 건너뛸 수 있습니다.

    keytool -genkey -trustcacerts -keyalg RSA -keystore registry-keystore.jks -storepass password
    Copy to Clipboard Toggle word wrap
  2. 키 저장소 및 키 저장소 암호를 저장할 새 시크릿을 생성합니다.

    1. OpenShift 웹 콘솔의 왼쪽 탐색 메뉴에서 워크로드 > 시크릿 > 키/값 시크릿 만들기를 클릭합니다.
    2. 다음 값을 사용합니다.
      이름: registry-keystore
      Key 1: keystore.jks
      Value 1: registry-keystore.jks (uploaded file)
      Key 2: password
      Value 2: password

      참고

      java.io.IOException: Invalid keystore 형식이 표시되면 바이너리 파일의 업로드가 제대로 작동하지 않았습니다. 또는 cat registry-keystore.jks | base64 -w0 > data.txt 를 사용하여 파일을 base64 문자열로 인코딩하여 인코딩된 파일을 수동으로 추가합니다.

  3. 서비스 레지스트리 인스턴스의 배포 리소스를 편집합니다. Service Registry Operator의 상태 필드에서 올바른 이름을 찾을 수 있습니다.

    1. 키 저장소 보안을 볼륨으로 추가합니다.

      template:
        spec:
          volumes:
          - name: registry-keystore-secret-volume
            secret:
            secretName: registry-keystore
      Copy to Clipboard Toggle word wrap
    2. 볼륨 마운트를 추가합니다.

      volumeMounts:
        - name: registry-keystore-secret-volume
          mountPath: /etc/registry-keystore
          readOnly: true
      Copy to Clipboard Toggle word wrap
    3. JAVA_OPTIONSKEYSTORE_PASSWORD 환경 변수를 추가합니다.

      - name: KEYSTORE_PASSWORD
        valueFrom:
          secretKeyRef:
            name: registry-keystore
            key: password
      - name: JAVA_OPTIONS
          value: >-
           -Dquarkus.http.ssl.certificate.key-store-file=/etc/registry-keystore/keystore.jks
           -Dquarkus.http.ssl.certificate.key-store-file-type=jks
           -Dquarkus.http.ssl.certificate.key-store-password=$(KEYSTORE_PASSWORD)
      Copy to Clipboard Toggle word wrap
      참고

      문자열 보간을 사용할 때는 순서가 중요합니다.

    4. HTTPS 포트를 활성화합니다.

      ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 8443
          protocol: TCP
      Copy to Clipboard Toggle word wrap
  4. 서비스 레지스트리 인스턴스의 서비스 리소스를 편집합니다. Service Registry Operator의 상태 필드에서 올바른 이름을 찾을 수 있습니다.

    ports:
      - name: http
        protocol: TCP
        port: 8080
        targetPort: 8080
      - name: https
        protocol: TCP
        port: 8443
        targetPort: 8443
    Copy to Clipboard Toggle word wrap
  5. 연결이 작동하는지 확인합니다.

    1. SSH를 사용하여 클러스터의 Pod에 연결합니다(서비스 레지스트리 Pod를 사용할 수 있음).

      oc rsh -n default example-apicurioregistry-deployment-vx28s-4-lmtqb
      Copy to Clipboard Toggle word wrap
    2. 서비스 리소스에서 서비스 레지스트리 포드의 클러스터 IP를 찾습니다(웹 콘솔의 위치 열 참조). 이후 테스트 요청을 실행합니다(자체 서명 인증서를 사용하므로 비보안 플래그가 필요합니다.

      curl -k https://172.30.209.198:8443/health
      [...]
      Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat