필요 조건

이 항목에는 Oracle Blockchain Platform Enterprise Edition 설치를 위한 하드웨어 및 소프트웨어 필수 조건이 포함되어 있습니다.

Kubernetes 플랫폼

다음 플랫폼이 지원됩니다.
  • Oracle Cloud Infrastructure Container Engine for Kubernetes(OKE) v1.29.1 이상
  • minikube v1.33.1 이상 - 프로덕션이 아닌 테스트 환경만

DNS 서버에서 확인할 수 있는 도메인 이름이 있어야 합니다.

기타 필수 소프트웨어

또한 Kubernetes 플랫폼을 관리하고 Oracle Blockchain Platform 컨테이너를 설치하려면 다음 도구가 필요합니다.
  • kubectl 버전 1.29.3 이상 - Kubernetes의 명령행 도구
  • Helm 버전 3.12.3 이상 - Kubernetes 패키지 관리자
  • 컨테이너 및 Pod를 관리하는 툴 - 다음 중 하나를 선택합니다.
    • Podman 버전 4.9.4-rhel 이상
    • Docker 버전 24.0.6 이상
  • yq 버전 4.42.1 - 명령행 YAML 프로세서
  • jq v1.7.1 이상 - 명령행 JSON 프로세서입니다.
  • Istio 버전 1.20.2 이상 및 istioctl - 배포를 위한 보안 및 트래픽 관리 도구, 명령행 도구

웹 브라우저

Oracle Blockchain Platform에 포함된 모든 관리 도구는 다음 브라우저를 사용하여 액세스할 수 있습니다.
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Apple Safari

필요 조건 소프트웨어 설치

이 절에서는 테스트된 버전의 필요 조건 설치를 안내하는 예를 제공합니다. 설치 지침에 대한 추가 정보 및 필요한 수정 사항은 각 제품의 설명서를 참조하십시오.

kubectl 설치

kubectl 버전은 항상 클러스터의 한 부 버전 차이 내에 있어야 합니다. 예를 들어, Oracle Kubernetes Engine 클러스터 버전이 v1.29.1인 경우 kubectl v1.29.3을 사용할 수 있습니다. 자세한 내용은 Kubernetes 설치 도구를 참조하십시오.

# Download:
    curl -LO https://dl.k8s.io/release/v1.29.3/bin/linux/amd64/kubectl
 
# Setup:
    # Make binary file executable:
    chmod +x ./kubectl
    # Move the downloaded binary to /usr/local/bin or /usr/bin and make "root" as the owner of this binary
    sudo mv ./kubectl /usr/bin/kubectl
    sudo chown root: /usr/bin/kubectl
 
# Verify:
    $ kubectl version --client --output=yaml
    clientVersion:
        buildDate: "2024-03-15T00:08:19Z"
        compiler: gc
        gitCommit: 6813625b7cd706db5bc7388921be03071e1a492d
        gitTreeState: clean
        gitVersion: v1.29.3
        goVersion: go1.21.8
        major: "1"
        minor: "29"
        platform: linux/amd64
    kustomizeVersion: v5.0.4-0.20230601165947-6ce0bf390ce3

Helm 설치

Oracle Blockchain Platform Enterprise Edition은 Helm v3.12.3에서 테스트되었습니다. 자세한 내용은 Helm 설치를 참조하십시오.

#Download install script:
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
 
# Provide execute permission and execute:
    chmod +x get_helm.sh
    ./get_helm.sh
 
# Verify:"
    $ helm version
    version.BuildInfo{Version:"v3.12.3", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}

Podman 설치

Oracle Blockchain Platform Enterprise Edition은 Podman v4.9.4-rhel에서 테스트되었습니다. 자세한 내용은 Podman Installation Instructions를 참조하십시오.

# Update the package list:
    sudo yum update
 
# Install podman:
    sudo yum install podman -y
 
# create docker alias to run podman commands
    sudo yum install -y podman-docker
 
#Verify:
    $ podman --version
        podman version 4.9.4-rhel
    $ docker --version
        podman version 4.9.4-rhel

설치 YQ

Oracle Blockchain Platform Enterprise Edition은 yq v4.42.1로 테스트되었습니다. 자세한 내용은 yq README를 참조하십시오.

# Download:
    wget https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64.tar.gz -O - | tar xz
 
# Setup:
    sudo mv yq_linux_amd64 /usr/bin/yq
    sudo chmod +x /usr/bin/yq
 
# Verify:
    yq --version

jq 설치

Oracle Blockchain Platform Enterprise Edition은 jq v1.7.1에서 테스트되었습니다. 자세한 내용은 Download jq를 참조하십시오.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

kubectl 설치

kubectl 버전은 항상 클러스터의 한 부 버전 차이 내에 있어야 합니다. 예를 들어, Oracle Kubernetes Engine 클러스터 버전이 v1.29.1인 경우 kubectl v1.29.3을 사용할 수 있습니다. 자세한 내용은 Kubernetes 설치 도구를 참조하십시오.

curl -LO https://dl.k8s.io/release/v1.29.3/bin/darwin/amd64/kubectl

# Setup:
    # Make binary file executable:
    chmod +x ./kubectl
    # Move the downloaded binary to /usr/local/bin and make "root" as the owner of this binary
    sudo mv ./kubectl /usr/local/bin/kubectl
    sudo chown root: /usr/local/bin/kubectl
 
# Verify:
    $ kubectl version --client --output=yaml

    clientVersion:
        buildDate: "2024-03-15T00:08:19Z"
        compiler: gc
        gitCommit: 6813625b7cd706db5bc7388921be03071e1a492d
        gitTreeState: clean
        gitVersion: v1.29.3
        goVersion: go1.21.8
        major: "1"
        minor: "29"
        platform: darwin/amd64
    kustomizeVersion: v5.0.4-0.20230601165947-6ce0bf390ce3

Helm 설치

Oracle Blockchain Platform Enterprise Edition은 Helm v3.12.3에서 테스트되었습니다. 자세한 내용은 Helm 설치를 참조하십시오.

#Download install script:
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
 
# Provide execute permission and execute:
    chmod +x get_helm.sh
    ./get_helm.sh
 
# Verify:"
    $ helm version
    version.BuildInfo{Version:"v3.12.3", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}

Podman 설치

Oracle Blockchain Platform Enterprise Edition은 Podman v4.9.4-rhel에서 테스트되었습니다. 자세한 내용은 Podman Installation Instructions를 참조하십시오.

# Install:
     brew install podman

# After installing, you need to create and start your first Podman machine:

     podman machine init
     podman machine start

# Verify:
     podman info
     host: arch: amd64 buildahVersion: 1.36.0 cgroupControllers: - cpu - io - memory - pids cgroupManager: systemd

# Make docker commands available via podman by creating a symlink:
     sudo ln -s /usr/local/bin/podman /usr/local/bin/docker 

설치 YQ

Oracle Blockchain Platform Enterprise Edition은 yq v4.44.1로 테스트되었습니다. 자세한 내용은 yq README를 참조하십시오.

# Install:
    brew install yq

# Verify:
   yq--version
   yq (https://github.com/mikefarah/yq/) version v4.44.1

jq 설치

Oracle Blockchain Platform Enterprise Edition은 jq v1.7.1에서 테스트되었습니다. 자세한 내용은 Download jq를 참조하십시오.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Istio 설치

Istio는 Kubernetes를 확장하여 복잡한 배포에 트래픽 관리 및 보안을 제공합니다. Oracle Blockchain Platform Enterprise Edition은 Istio를 수신 게이트웨이 서비스로 사용하여 다양한 서비스로 들어오는 트래픽을 수락합니다.

Istio 및 istioctl(Istio 구성 명령행 유틸리티)을 설치하는 것이 좋습니다. Istio 버전 1.20.2 이상이 지원됩니다.

Istio를 다운로드하려면:

# Download istioctl tool
   curl -L https://istio.io/downloadIstio | sh -

# (optional) You can move the downloaded "istio-1.22.1" directory     
   mv ./istio-1.22.1 $HOME/istioctl

# Add the istioctl client to your path     
export PATH=$HOME/istioctl/bin:$PATH

주:

Kubernetes 클러스터가 생성된 후 Istio 설치가 완료됩니다. .kube/config 파일에 대한 종속성이 있습니다.

Istio의 ingressgateway 서비스는 Kubernetes에서 LoadBalancer 또는 NodePort 서비스 유형으로 실행되도록 구성할 수 있습니다. 자세한 내용은 Istio 설명서(Istio Ingress Gateways)를 참조하십시오.

Load Balancer

Kubernetes 클러스터가 외부 로드 밸런서를 지원하는 경우 배치 중 사용할 Oracle Blockchain Platform Enterprise Edition runme 스크립트를 사용하여 Istio 수신 게이트웨이 서비스를 로드 밸런서로 구성하는 것이 좋습니다. Oracle Blockchain Platform Enterprise Edition은 Istio 수신 게이트웨이의 https 포트(443)를 공용 포트로 사용하여 수신 트래픽을 수락합니다. 이 포트 값은 runme 스크립트를 사용하여 Oracle Blockchain Platform Enterprise Edition을 설치하는 동안 선택적으로 사용자정의할 수 있습니다.

노드 포트

로드 밸런서 서비스 유형을 사용할 수 없는 경우 Istio 수신 게이트웨이 서비스를 노드 포트 서비스 유형으로 구성할 수 있습니다. Oracle Blockchain Platform Enterprise Edition은 Istio 수신 게이트웨이에서 https 포트의 nodePort 값을 사용하여 외부 트래픽을 Kubernetes 클러스터 내 Oracle Blockchain Platform Enterprise Edition으로 라우팅합니다. runme 스크립트를 사용하여 Oracle Blockchain Platform Enterprise Edition을 설치하는 동안 https 포트에 대한 nodePort 값을 선택적으로 사용자 정의할 수 있습니다(허용된 nodePort 범위에 기반). 기본적으로 Kubernetes 클러스터에서 허용되는 nodePort 범위는 30000-32767입니다.

주:

Oracle Blockchain Platform Enterprise Edition 설치 후 https port 또는 nodePort의 값은 기능에 영향을 미치므로 업데이트하지 마십시오.

Oracle Blockchain Platform Enterprise Edition 서비스에 대한 호스트 이름 확인

Oracle Blockchain Platform Enterprise Edition 서비스는 Istio 게이트웨이/가상 서비스에 구성된 고유하게 생성된 호스트 이름을 사용합니다. Kubernetes 클러스터 내의 Oracle Blockchain Platform Enterprise Edition 서비스와 통신하려면 브라우저 또는 애플리케이션에서 이러한 고유한 호스트 이름을 사용해야 합니다. istio-ingressgateway에 대해 선택한 서비스 유형을 기준으로 다음 방법으로 이러한 호스트 이름을 IPv4 주소로 확인해야 합니다.
  • LoadBalancer인 경우 istio-ingressgateway 서비스에 대해 생성된 외부 IP 주소로 분석됩니다.
  • NodePort인 경우 작업자 노드의 IP 주소로 분석됩니다.