Deploy Fabric Network using Operator¶
Introduction¶
The bevel-operator-fabric provides a streamlined way to deploy a Fabric network. It leverages the Kubernetes operator to manage the deployment of Certificate Authorities (CAs), Orderers, and Peers. This guide covers the deployment process using bevel-operator-fabric version 1.9.0 and the Fabric platforms it supports.
Important
Chaincode and user/certificate management are not yet supported by this Bevel release. There will be separate issues to address these features. The current implementation supports channel creation and joining.
Note
The bevel-operator-fabric automated deployment has been tested with Fabric 2.5.4.
Understanding the Configuration File¶
A Sample configuration file for deploying using bevel-operator-fabric is available here.
Here are the key changes from other versions:
network.env.type: Must be set tooperator. This tells Ansible to use bevel-operator-fabric for deployment.network.env.proxy: Must be set toistioas bevel-operator-fabric currently only supports Istio as a proxy.- External Port: Only port
443is supported for external access. - Removed Sections: The
vaultandgitopssections are removed as they are not applicable to this deployment method.
# yaml-language-server: $schema=../../../../platforms/network-schema.json
# This is a sample configuration file for setting up initial Fabric network with 1 RAFT Orderer and 5 Nodes.
network:
# Network level configuration specifies the attributes required for each organization
# to join an existing network.
type: fabric
version: 2.5.3 # currently tested on 2.5.3
#Environment section for Kubernetes setup
env:
type: "operator" # Do not change this for using 'bevel-operator-fabric'. Any other value will trigger Flux based deployment
proxy: istio # values can be 'istio' only. No other proxy is supported at the moment
retry_count: 20 # Retry count for the checks
external_dns: enabled # Should be enabled if using external-dns for automatic route configuration
..
..
For a comprehensive guide on the Fabric configuration file, refer to this guide.
Running the Deployment Playbook¶
After updating the network.yaml file with the necessary configurations, follow these steps to create your DLT network.
-
Run the provisioning scripts:
The
site.yamlplaybook will call various other playbooks based on your configuration file and set up your DLT/Blockchain network. -
Alternative Deployment Method (Pre-requisites installed):
If you have already installed and configured Istio and krew, you can use the deploy-operator-network.yaml playbook:
Manual Deployment¶
For detailed information about the operator and latest releases, and also for manual deployment instructions, refer to the bevel-operator-fabric documentation.