在 minikube 上部署 Oracle Blockchain Platform Enterprise Edition
您可以使用 minikube 进行测试和内部开发。请勿将 minikube 用于生产环境。
先决条件:
- CPU:8 个或更高
- 内存:16 GB
- 可用磁盘空间:50 GB 或更高
- 具有超级用户权限的非 root 用户
- 确保 minikube 节点可以访问 Internet,这是在 Oracle Blockchain Platform 实例上安装链代码所必需的。
- minikube v1.33.1 或更高版本
安装 minikube
本节提供了安装 minikube 测试版本的示例演练。有关详细信息,请参阅 Kubernetes 安装工具。
#Download the latest minikube binary
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
#Install
sudo install minikube-linux-amd64 /usr/local/bin/minikube
#Verify Installation
minikube version
#Start Minikube
minikube start
#Verify Minikube Installation
minikube status
#Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#Install minikube using Homebrew
brew install minikube
#Start minikube
minikube start
#Verify minikube Installation
minikube status
完成 Istio 安装
Oracle Blockchain Platform Enterprise Edition 支持 1.20.2 版及更高版本。在运行以下命令之前,必须完成 Install Istio 中的步骤。
# Install
istioctl install --set profile=default --set values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set values.cni.repair.deletePods="true"
## Enter "y" when prompted for "Proceed? (y/N)"
# Verify:
$ istioctl version
client version: 1.22.1
control plane version: 1.22.1
data plane version: 1.22.1 (1 proxies)安装 Oracle Blockchain Platform Enterprise Edition
在您的 minikube 实例上下载并安装 Oracle Blockchain Platform Enterprise Edition :
- 在 Oracle Blockchain Platform Enterprise Edition 页面上,单击下载并按照步骤下载 Oracle Blockchain Platform Enterprise Edition 软件包。从
.zip文件中提取软件包,然后从下载的归档文件中提取软件包。tar -xzf <distribution-package-file> # example tar -xzf obpee_package_24.1.3-20240723083137.tgz - 使用必需的值更新
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 # storageClassName should be set to create a dynamic persistent volume. If empty, default storageClass is used. controlPlaneStorage: storageClassName: # Example 500Mi, 5Gi size: 4Gi 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:要使用的容器注册表服务器。示例:iad.ocir.ioimageRegistryConfiguration.imageTagPrefix:容器基本资料档案库路径和注册表,其中映像将被推送到并拉出。示例:iad.ocir.io/obpee/bcsimageRegistryConfiguration.username:容器注册表登录用户名imageReleaseVersion:Oracle Blockchain Platform Enterprise Edition 版本controlPlaneStorage.storageClassName:要用于 PVC 的 Kubernetes 存储类 (PersistentVolumeClaim )。如果为空,则使用缺省storageClasscontrolPlaneStorage.size:Blockchain Platform Manager (control plane) 服务的 PVC 大小parentDomainName:用于区块链平台管理器服务的域名。示例:example.comimagePullTimeout:在 Oracle Blockchain Platform Enterprise Edition 安装期间,映像提取等待超时(秒)。默认值为 1800 秒。
- 确保 minikube 正在运行。
- 打开新的终端窗口并转到分发包目录。运行
runme_minikube.sh脚本并按照脚本输出提示执行以下步骤:./runme_minikube.sh [--publish-images]- 输入默认的 LDAP 管理员密码(将不显示该密码):设置内置 LDAP 验证服务器的管理员密码。
- 输入默认控制层管理员用户密码(将不显示密码):设置 Blockchain Platform Manager 管理员的密码。
- 如果未在
runme-input.yaml文件中提供StorageClass,系统将检查是否设置了默认存储类,并询问您是否要使用它。 - 确认 Istio 入站网关服务 https 端口:
LoadBalancer服务类型的默认值为 443。 - 输入注册表 <registry name> 密码:此密码用于连接到容器映像注册表(如
runme-input.yaml文件中所指定)以下载映像。
- 在其他终端窗口中,运行以下命令:
export KUBECONFIG=/<path_to>/.kube/minikube - 确保 minikube 隧道处于活动状态,可用于访问区块链平台管理器和实例:
minikube tunnel --bind-address 0.0.0.0 - 该脚本将以下服务安装在
obp-cp名称空间下:control-planeopenldapobp-auth-serverobp-operatorhlf-operator
- 该脚本显示区块链平台管理器 URL,您可以使用该 URL 访问控制层 UI。
访问区块链平台管理器
安装后,为生成的 Blockchain Platform Manager 主机名配置主机名解析。
- 运行以下命令可获取已配置主机名的列表:
kubectl get virtualservice -n obp-cp -o json | jq -r '.items[].spec.hosts[0]' - 使用 minikube 主机的 IPv4 地址作为所生成主机名的映射 IP 地址。
- 确保 minikube 隧道处于活动状态,可以访问 Blockchain Platform Manager 和 Oracle Blockchain Platform 实例。