fabric-samples/full-stack-asset-transfer-guide/docs/CloudReady/20-fabric-zh.md
2023-01-18 09:13:54 -05:00

107 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 部署一个fabric网络
[前一步: 部署一个k8s集群](10-kube-zh.md) <==> [下一步:安装智能合约](30-chaincode-zh.md)
---
[Fabric-operator](https://github.com/hyperledger-labs/fabric-operator)是通过Operator技术使用
[custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)来部署Hyperledger Fabric网络中[CA](../../infrastructure/sample-network/config/cas)[peer](../../infrastructure/sample-network/config/peers)[orderer](../../infrastructure/sample-network/config/orderers)节点的一种工具和方式。最终它会将CAPeerOrderer转化为对应的k8s资源如`Pod`,`Deployment`, `Service`, 和 `Ingress`
一旦Fabric网络启动完成可以使用`peer`和命令行工具通过Ingress来访问fabric网络。创建通道合约和应用部署。
![Fabric Operator](../images/CloudReady/20-fabric.png)
## 执行:
```shell
just check-kube
```
## 示例网络
- 安装 fabric-operator [Kubernetes Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
```shell
kubectl apply -k https://github.com/hyperledger-labs/fabric-operator.git/config/crd
```
- 部署 [CA](../../infrastructure/sample-network/config/cas), [peer](../../infrastructure/sample-network/config/peers),
和 [orderer](../../infrastructure/sample-network/config/orderers) 资源。并等待operator完成k8s上的资源创建 `Pods`, `Deployments`, `Services`, 和 `Ingress`
```shell
just cloud-network
```
- 建立通道:
```shell
just cloud-channel
```
- 建立TLS证书channel msp用户证书创建:
```shell
export WORKSHOP_CRYPTO=$WORKSHOP_PATH/infrastructure/sample-network/temp
```
## 检查
```shell
curl \
-s \
--cacert $WORKSHOP_CRYPTO/cas/org1-ca/tls-cert.pem \
https://$WORKSHOP_NAMESPACE-org1-ca-ca.$WORKSHOP_INGRESS_DOMAIN/cainfo \
| jq
```
## 云原生和peer节点日志
我们可以通过如下方式获取peer节点信息比如peer节点的日志。
```shell
kubectl config set-context --current --namespace=test-network
kubectl get pods
```
假设org1 peer1 pod名称为`org1-peer1-79df64f8d8-7m9mt`, 我们可以通过如下命令来获取日志从而观察peer节点上的通道合约和落块情况。
```shell
kubectl logs -f org1-peer1-79df64f8d8-7m9mt peer
```
您也可以使用其他工具如[k9s utility](https://k9scli.io/topics/install/).比如:
```shell
k9s -n test-network
```
You'll see the fabric-operator, peer, orderer, and CA pods. Navigate around by hitting `ENTER` on one of the pods, `ENTER` again on one of the containers, and then hit `0` to tail the container's log. Go back up by hitting `ESCAPE`. More tips are available at the top of the k9s user interface.
## 调试
```shell
# While running "just cloud-network and/or just cloud-channel":
tail -f infrastructure/sample-network/network-debug.log
```
# 进一步拓展:
- Deploy the [Fabric Operations Console](21-fabric-operations-console.md)
- Build a network with the [Ansible Blockchain Collection](22-fabric-ansible-collection.md)
---
[前一步: 部署一个k8s集群](10-kube-zh.md) <==> [下一步:安装智能合约](30-chaincode-zh.md)