Azure Red Hat에 Oracle Blockchain Platform Enterprise Edition 배포 OpenShift
Azure Red Hat OpenShift에 Oracle Blockchain Platform Enterprise Edition을 설치할 수 있습니다. OpenShift Red Hat의 엔터프라이즈 Kubernetes 플랫폼으로 컨테이너화된 애플리케이션을 대규모로 구축, 배포 및 관리할 수 있는 도구 모음을 통해 표준 Kubernetes를 개선합니다. Azure Red Hat OpenShift은 Microsoft Azure의 완전 관리형 OpenShift 서비스입니다.
이 항목의 지침은 Azure Red Hat OpenShift에서 Oracle Blockchain Platform Enterprise Edition을 배포하는 방법을 제안하는 지침입니다. 실제로 시도하기 전에, 특히 프로덕션 환경의 경우 이 항목의 정보를 대체하는 Azure Red Hat OpenShift 설명서를 숙지해야 합니다.
- Azure Red Hat OpenShift: Azure Red Hat 정보 OpenShift
- Azure Red Hat OpenShift 설명서: Azure Red Hat OpenShift 설명서
Microsoft Azure에서 Red Hat OpenShift 클러스터 생성
Azure Red Hat OpenShift 클러스터에 권장되는 최소 사양입니다.
Azure 설명서를 참조하여 Azure Red Hat OpenShift 클러스터를 생성합니다: Azure Red Hat OpenShift 클러스터 생성
다음을 생성해야 합니다.
- 제어 플레인 VM: 세 개의 Standard_D8s_v3
- 워커 노드 VM: 4개의 Standard_D4s_v3
- Red Hat 풀 암호를 생성합니다.
Oracle Blockchain Platform Enterprise Edition 설치
Oracle Blockchain Platform 배포에 필요한 이미지는 Microsoft Azure VM으로 푸시되기 전에 Docker 저장소에 저장됩니다. 소프트웨어가 설치될 지역과 가능한 한 지리적으로 가까운 Cloud Linux VM에서 설치하는 것이 좋습니다. Docker 이미지의 로컬 스토리지는 약 100GB여야 합니다.
- OpenShift 클러스터 콘솔을 엽니다.
kube:admin,Copy login command순으로 선택합니다. 사용자 ID 및 암호를 입력하라는 메시지가 표시됩니다.토큰 표시를 누릅니다. 이 토큰으로 로그인 명령을 복사하여 OpenShift 명령줄 인터페이스에 붙여 넣습니다.$ oc login --token=<token> --server=<openshift_cluster_url>- OpenShift에 연결되어 있는지 확인합니다.
이 명령은 마스터 및 워커 노드 목록과 해당 상태를 반환해야 합니다.oc get nodes - 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" - Oracle Blockchain Platform 다운로드: Oracle Blockchain Platform.
- zip 패키지의 압축을 풀고 OpenShift에 대한
runme스크립트를 찾습니다. runme-input.yaml파일을 필요한 값으로 업데이트합니다. 다음 예제runme-input.yaml파일을 참조로 사용할 수 있습니다.
이전 예제에서 변수는 다음 리스트에 표시된 대로 정의됩니다.imageRegistryConfiguration: registry: <container_registry_name.azurecr.io> imageTagPrefix: <container-image-repository-prefix.azurecr.io/bcs-k8s-dev > username: <container-registry-username> imageReleaseVersion: 24.1.3-20240723083137 # storageClassName should be set to create a dynamic persistent volume. If empty, default storageClass is used. controlPlaneStorage: storageClassName: # Example 500Mi, 5Gi 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: 1800imageRegistryConfiguration.registry: 사용할 컨테이너 레지스트리 서버입니다.imageRegistryConfiguration.imageTagPrefix: 레지스트리가 있는 컨테이너 기본 저장소 경로로, 이미지가 푸시되어 풀링됩니다. 예:registryname.azurecr.io/obpee/bcsimageRegistryConfiguration.username: 컨테이너 레지스트리 로그인 사용자 이름입니다. Azure의 경우 컨테이너 레지스트리 토큰입니다.imageReleaseVersion- Oracle Blockchain Platform Enterprise Edition 릴리스 버전controlPlaneStorage.storageClassName: PVC에 사용할 Kubernetes 스토리지 클래스(PersistentVolumeClaim). 비어 있는 경우 기본storageClass가 사용됩니다.controlPlaneStorage.size: 블록체인 플랫폼 관리자(제어 플레인) 서비스를 위한 PVC 크기parentDomainName: Blockchain Platform Manager 서비스에 사용할 도메인 이름입니다. 예:example.comimagePullTimeout: Oracle Blockchain Platform Enterprise Edition 설치 중 이미지 풀 대기 시간 초과(초)입니다. 기본값은 1800초입니다.
- 편집기에서
runme_openshift.sh를 열고 다음 두 행을 주석 처리합니다.openshift_status_checkcheck_software_exists "crc"
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-planeopenldapobp-auth-serverobp-operatorhlf-operator
- Istio 수신 게이트웨이 서비스의 외부 IP 주소를 가져옵니다.
kubectl get svc/istio-ingressgateway -n istio-system - 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 주소입니다. - Linux 또는 macOS:
사후 요구사항
이제 처음으로 Oracle Blockchain Platform에 로그온하고 인스턴스를 프로비저닝할 준비가 되었습니다.