是否可以在生产中使用RedHat Openshift设置Hyperledger Fabric网络?

时间:2019-01-15 21:04:30

标签: openshift hyperledger-fabric

请记住,“对等”节点使用到Docker恶魔的通信路径/var/run/docker.sock创建并启动“ chaincode”容器(dev- *),我对此是否可行表示怀疑。 Openshift集群。

如果我错了,请纠正我,但是在Openshift集群中运行HLF组件的唯一解决方案是:

a)进入Docker-In-Docker设置-缺点:在Openshift中需要特权容器。对于准备就绪的集群来说这是不可接受的。

b)在dev-mode中运行“ chaincode”-缺点:dev-mode仅用于开发。不适合生产。

由于Openshift群集使用layer7反向代理与Pod通信,因此无法在Openshift群集外部启动“ chaincode”容器并使用TCP / IP连接与它们进行通信。

所以问题仍然存在:

问:可以在生产中使用RedHat Openshift设置HLF网络吗?

2 个答案:

答案 0 :(得分:0)

在Docker中没有立即解决Docker的方法 ○仍然存在安全风险,因此请在生产前评估风险 ○放宽 ■允许使用docker.sock ■确保在所有节点上进行更改 ○oc adm policy add-scc-to-user anyuid -z默认 ■特权模式

短期蛮力解 ●希望使用Secrets和ConfigMap替换主机安装 ●在需要的地方使用NFS挂载 ○oc adm policy add-scc-to-user hostmount-anyuid -z default ●将docker-compose,docker调用替换为: ○kubectl,oc,podman,Buildah,kompose ●使用kompose转换docker-compose.yaml文件 ○kompose convert --provider=openshift -f ■然后编辑和合并文件 ●备用(如果是非常简单的yaml文件) ○kompose up --provider==openshift -f

更多信息,请点击此处:https://www.redhat.com/files/summit/session-assets/2019/T905A4.pdf

答案 1 :(得分:0)

是的,可以在OpenShift中运行HLF,但是DinD必须在v1.4.4上运行,因此需要特权Pod。正确地保护群集可以消除风险,许多许多组织正在使用具有特权Pod的OpenShift和Kube在生产中运行。

话虽如此,Fabric v2.0.0将附带一个新的链码模型,使您可以在不使用DinD的情况下运行Fabric。我们计划在月底之前发布正式的v2.0.0版本。如果您想立即对其进行测试,请访问以下网址提供v2.0.0-beta:https://github.com/hyperledger/fabric/releases/tag/v2.0.0-beta