前提条件
このトピックでは、Oracle Blockchain Platform Enterprise Editionをインストールするためのハードウェアおよびソフトウェアの前提条件について説明します。
Kubernetesプラットフォーム
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1以上
- minikube v1.33.1以降- テスト環境のみ、本番用ではありません
DNSサーバーで解決できるドメイン名が必要です。
その他の前提条件ソフトウェア
- kubectlバージョン1.29.3以降- Kubernetesのコマンドライン・ツール
- Helmバージョン3.12.3以降- Kubernetesパッケージ・マネージャ
- コンテナおよびポッドを管理するツール- 次のいずれかを選択します:
- Podmanバージョン4.9.4-rhel以上
- Dockerバージョン24.0.6以降
- yqバージョン4.42.1 - コマンドラインYAMLプロセッサ
- jq v1.7.1以上- コマンドラインJSONプロセッサ
- Istioバージョン1.20.2以降とistioctl - デプロイメント用のセキュリティおよびトラフィック管理ツール、およびそのコマンドライン・ツール
Webブラウザ
- Mozilla Firefox
- Microsoft Edge
- Google Chrome
- Apple Safari
必要なソフトウェアのインストール
この項では、前提条件のテスト済バージョンのインストールの例を示します。インストール手順の追加情報および必要な変更については、各製品のドキュメントを参照してください。
kubectlのインストール
kubectlバージョンは、常にクラスタの1つのマイナー・バージョン差異内にある必要があります。たとえば、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のインストール手順を参照してください。
# 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でテストされました。詳細は、jqのダウンロードを参照してください。
# Install:
sudo dnf install jq
# Verify:
jq --version
jq-1.7.1
kubectlのインストール
kubectlバージョンは、常にクラスタの1つのマイナー・バージョン差異内にある必要があります。たとえば、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のインストール手順を参照してください。
# 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でテストされました。詳細は、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
ノート:
Istioのインストールは、Kubernetesクラスタの作成後に完了します。.kube/config
ファイルへの依存性があります。
Istioのingressgateway
サービスは、LoadBalancer
またはNodePort
のいずれかのサービス・タイプで実行するようにKubernetesで構成できます。詳細は、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にルーティングします。httpsポートのnodePort
の値は、runme
スクリプトを使用してOracle Blockchain Platform Enterprise Editionのインストール中に(許可されたnodePort
範囲に基づいて)オプションでカスタマイズできます。デフォルトでは、Kubernetesクラスタで許可されるnodePort
範囲は30000-32767です。ノート:
Oracle Blockchain Platform Enterprise Editionのインストール後にhttpsport
またはnodePort
の値は、その機能に影響するため、更新しないでください。
Oracle Blockchain Platform Enterprise Editionサービスのホスト名解決
istio-ingressgateway
に対して選択したサービス・タイプに基づいて、次の方法でこれらのホスト名をIPv4アドレスに解決する必要があります。
LoadBalancer
の場合、istio-ingressgateway
サービスに対して生成された外部IPアドレスに解決されます。NodePort
の場合、ワーカー・ノードのIPアドレスに解決されます。