使用容器化Ansible控制器在Hyperledger Bevel中无法创建组织命名空间
Hyperledger Bevel部署Fabric网络新增组织命名空间失败问题处理
问题概述
- 基于Hyperledger Bevel部署Hyperledger Fabric网络,现有
supply-chain和carrier-net两个组织 - 执行Ansible部署命令时,多数步骤成功,但无法为新组织
manufacturer-net创建命名空间 - 执行的Docker启动命令:
useradmin@100:~/Docker/bevel$ docker run -it -v $(pwd):/home/bevel/ --network="host" ghcr.io/hyperledger/bevel-build:latest - 配置文件中
subject字段语法未自动生成正确格式,尝试两种嵌套引号写法均报错:subject: "''"'"'/C=US/ST=New York/L=New York/O=Store'"'"''" subject: "''"'"'/C=US/ST=New York/L=New York/O=Store'"'"''"
解决步骤
1. 修正Subject字段语法
Fabric证书配置的subject字段无需复杂嵌套引号,直接使用标准LDAP格式字符串即可,且O字段需匹配新组织名称manufacturer-net,正确写法:
subject: "/C=US/ST=New York/L=New York/O=manufacturer-net"
2. 检查命名空间相关配置
- 确认新组织的
values.yaml中namespace字段已设置为manufacturer-net - 检查Ansible playbook是否包含创建该命名空间的任务,需确保有
kubernetes.core.k8s模块创建命名空间的逻辑 - 调整本地挂载目录权限,保证容器可读写配置文件:
chmod -R 755 ~/Docker/bevel
3. 重新执行部署
修正配置后,重新运行Docker容器内的Ansible部署命令,指定针对新组织的playbook执行。
内容的提问来源于stack exchange,提问作者BlockchainGeek
相关产品推荐
相关产品推荐

