Red Hat OpenShift 온프레미스 클러스터에 Oracle Blockchain Platform Enterprise Edition 배포

Oracle Blockchain Platform Enterprise Edition을 배포하기 전에 Red Hat OpenShift Enterprise 클러스터가 실행 중이어야 하며 몇 가지 필수 조건을 설치해야 합니다.

이 항목의 지침은 온프레미스에서 Red Hat OpenShift에 Oracle Blockchain Platform Enterprise Edition을 배포하는 방법을 제안하는 지침입니다. 실제로 시도하기 전에, 특히 프로덕션 환경의 경우 이 항목의 정보를 대체하는 Red Hat OpenShift 설명서를 숙지해야 합니다.

Red Hat OpenShift 클러스터 만들기

클러스터는 OpenShift Container Platform 필요 조건에 설명된 Red Hat OpenShift 설명서에 설명된 요구 사항을 충족해야 합니다.

클러스터 워커 노드에 권장되는 최소 사양:

  고가용성을 통한 생산
노드 CPU CPU 4개 이상
노드 메모리 32GB 이상
노드 개수 3 이상으로 설정
부트 볼륨 크기 100GB 이상

클러스터에 액세스할 수 있도록 OpenShift CLI(oc)를 설치합니다. OpenShift CLI를 참조하십시오.

OpenShift에 연결되어 있는지 확인합니다.
oc get nodes
이 명령은 마스터 및 워커 노드 목록과 해당 상태를 반환해야 합니다.

Oracle Blockchain Platform Enterprise Edition 설치

  1. istio 프로파일을 설정합니다. 다음 명령을 실행하기 전에 Install Istio의 단계를 완료한 상태여야 합니다.
    istioctl install --set profile=openshift --set
    values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set
    values.cni.repair.deletePods="true"
  2. Oracle Blockchain Platform 다운로드: Oracle Blockchain Platform.
  3. zip 패키지의 압축을 풀고 OpenShift에 대한 runme 스크립트를 찾습니다.
  4. runme-input.yaml 파일을 필요한 값으로 업데이트합니다. 다음 예제 runme-input.yaml 파일을 참조로 사용할 수 있습니다.
    imageRegistryConfiguration:
      registry: <container_registry_name>
      imageTagPrefix: <container-image-repository-prefix>
      username: <container-registry-username>
     
    imageReleaseVersion: 24.1.3-20240723083137
     
    controlPlaneStorage:
      storageClassName: 
      size: 10Gi
      
    parentDomainName: example.com
    #imagePullTimeout: Use this field to customize the wait time (in seconds) for pulling the required container images from the repository. Default is 1800 seconds.
      imagePullTimeout: 1800

    주:

    이미지 풀이 더 빨라지도록 환경에서 컨테이너 레지스트리를 설정하는 것이 좋습니다. 고유의 컨테이너 레지스트리를 사용하는 경우 24.1.3-20240723083137 imageReleaseVersion 값을 사용합니다.
    이전 예제에서 변수는 다음 리스트에 표시된 대로 정의됩니다.
    • imageRegistryConfiguration.registry: 사용할 컨테이너 레지스트리 서버입니다.
    • imageRegistryConfiguration.imageTagPrefix: 레지스트리가 있는 컨테이너 기본 저장소 경로로, 이미지가 푸시되어 풀링됩니다. 예: registryname.rhoscr.io/obpee/bcs
    • imageRegistryConfiguration.username: 컨테이너 레지스트리 로그인 사용자 이름입니다.
    • imageReleaseVersion - Oracle Blockchain Platform Enterprise Edition 릴리스 버전
    • controlPlaneStorage.storageClassName: PVC에 사용할 Kubernetes 스토리지 클래스(PersistentVolumeClaim). 비어 있는 경우 기본 storageClass가 사용됩니다.
    • controlPlaneStorage.size: 블록체인 플랫폼 관리자(제어 플레인) 서비스를 위한 PVC 크기
    • parentDomainName: Blockchain Platform Manager 서비스에 사용할 도메인 이름입니다. 예: example.com. Blockchain Platform Manager 및 서비스 콘솔 URL에는 이 도메인 이름이 포함됩니다.
    • imagePullTimeout: Oracle Blockchain Platform Enterprise Edition 설치 중 이미지 풀 대기 시간 초과(초)입니다. 기본값은 1800초입니다.
  5. 편집기에서 runme_openshift.sh를 열고 다음 두 행을 주석 처리합니다.
    • openshift_status_check
    • check_software_exists "crc"
  6. runme_openshift.sh를 실행하고 다음 프롬프트에 따라 단계를 완료하십시오.
    chmod +x runme_openshift.sh
    
    ./runme_openshift.sh --publish-images
    # The publish-images option uploads the containers to the container image registry specified in runme-input.yaml
    # Running the script without this option pulls images you've already pre-uploaded from the repository specified in runme-input.yaml
    표시되는 프롬프트는 다음과 같습니다.
    • OpenLDAP 관리자 비밀번호 입력 - 이 비밀번호는 Blockchain Platform Manager에서 사용되며 사용자는 이 OpenLDAP 서버에서 생성됩니다.
    • 제어 플레인 관리자 비밀번호 입력 - 이 비밀번호는 Oracle Blockchain Platform 관리 사용자용이며 Blockhain Platform Manager 콘솔에 처음 로그인할 때 사용됩니다.
    • run-input.yaml에 지정된 사용자에 대한 레지스트리 로그인 비밀번호를 입력하십시오. - 컨테이너 저장소에 접속하는 데 사용됩니다.
    • 이 스크립트는 obp-cp 네임스페이스 아래에 다음 서비스를 설치합니다.
      • control-plane
      • openldap
      • obp-auth-server
      • obp-operator
      • hlf-operator
  7. Istio 수신 게이트웨이 서비스의 외부 IP 주소를 가져옵니다.
    kubectl get svc/istio-ingressgateway -n istio-system
  8. Blockchain Platform Manager 콘솔에 연결하는 데 사용되는 호스트의 이러한 파일 중 하나에 필요에 따라 다음 행을 추가합니다.
    • Linux 또는 macOS: /etc/hosts
    • 윈도우: C:\Windows\system32\drivers\etc\hosts
    <public_svc_ip> controlplane.<parentDomainName> openldap.<parentDomainName> auth.<parentDomainName>
    여기서 <public_svc_ip>는 이전 단계의 공용 외부 IP 주소입니다.

사후 요구사항

이제 처음으로 Oracle Blockchain Platform에 로그온하고 인스턴스를 프로비저닝할 준비가 되었습니다.