【问题标题】:Is it possible to setup Hyperledger Fabric network using RedHat Openshift in production?是否可以在生产中使用 RedHat Openshift 设置 Hyperledger Fabric 网络?
【发布时间】:2020-01-15 11:01:34
【问题描述】:

请记住,“对等”节点使用与 Docker 恶魔的通信路径 /var/run/docker.sock 创建并启动“链码”容器(dev-*),我怀疑它在生产就绪的 RH 中是否可行Openshift 集群。

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

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

b) 在开发模式下运行“链代码” - 缺点:开发模式仅用于开发。它不适合生产。

无法在 Openshift 集群外部启动“链码”容器并使用 TCP/IP 连接与它们通信,因为 Openshift 集群使用第 7 层反向代理与 pod 通信。

所以问题仍然存在:

问:是否可以在生产环境中使用 RedHat Openshift 设置 HLF 网络?

【问题讨论】:

    标签: openshift hyperledger-fabric


    【解决方案1】:

    在 Docker 中没有直接解决 Docker 的方法 ○ 安全风险依然存在,因此在生产使用前评估风险 ○ setenforce 许可 ■ 允许使用 docker.sock ■ 确保在所有节点上更改它 ○ oc adm policy add-scc-to-user anyuid -z default ■ 特权模式

    短期蛮力解决方案 ● 寻找使用 Secrets 和 ConfigMaps 来替换主机挂载 ● 在需要时使用 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

    【讨论】:

      【解决方案2】:

      是的,可以在 OpenShift 中运行 HLF,但现在需要 DinD 在 v1.4.4 上执行此操作,因此需要特权 pod。正确保护集群可以消除风险,许多组织正在使用 OpenShift 和 Kube 以及特权 pod 在生产环境中运行。

      话虽如此,Fabric v2.0.0 将附带一个新的链码模型,允许您在没有 DinD 的情况下运行 Fabric。我们计划在月底之前发布正式的 v2.0.0 版本。如果你想现在测试一下,这里有 v2.0.0-beta:https://github.com/hyperledger/fabric/releases/tag/v2.0.0-beta

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 2018-04-21
        相关资源
        最近更新 更多