What you'll learn:
- Design Hyperledger Fabric Network
- Working with Kubernetes
- Hyperledger Fabric on Kubernetes
In this course, you will learn to design and deploy Hyperledger Fabric applications on Kubernetes. This course is specifically designed for those seeking to learn hyperledger fabric deployment on Kubernetes. By the end of the course, you will be able to design, develop and deploy your hyperledger fabric network on any cloud, since we have used the cloud-agnostic approach. This course is completely hands-on and we will be focusing more on the practical approach rather than the theoretical.
What you will learn from this course
By the end of the course, you will be able to design, develop and deploy your hyperledger fabric application on Kubernetes. You will learn the following things
Creating Kubernetes cluster
Setting up NFS Server
Starting up Fabric CA Server
Generating certificates for peers and orderers
Creating artifacts like genesis block, channel transaction, and anchor peers
Creating application channel
Joining application channel
Configuring peers to use external chaincode builder
Starting up peer nodes
Packaging chaincode as per external chaincode builder settings
Starting up chaincode as service in Kubernetes
Approving chaincode
Committing chaincode
Invoking and querying transactions.
Setting up REST API Server
Setting up Frontend Application build over Angular
Hyperledger Explorer Integration
Enabling Hyperledger Fabric Monitoring using Prometheus and Grafana
Setting up an ingress controller and domain configuration.
Enabling SSL on Kubernetes with the help of cert-manager and Let's encrypt
Various Ways for Hyperledger Fabric Deployment
As Hyperledger Fabric components are deployed as containers, everything works fine when running in the localhost. When they are running in different hosts, we need to find a way to make these containers talk to one another.
Static IP By specifying the host IP where a container is running, containers can communicate with each other. Those host IPs are specified usingextra_hostsin docker-compose files, and after a container is running, these entries are seen in,etc/hosts. The downside is that things are statically configured, and there are challenges when one needs to add or change the configuration.
Docker Swarm Docker Swarm is a container orchestration tool natively in the Docker environment. In a nutshell, It provides an overlay network for containers across multiple hosts. Those containers on this overlay network can communicate to one another as if they were on a large host. Obviously, the good side is that the original configuration can be used with minimal modification, and no static information such as IP is coded in the configuration.
Kubernetes (k8s) K8s by far is the most popular container orchestration tool. The mechanism is similar to Docker Swarm. The implementation of this approach is much more challenging than the previous two mechanisms but this approach is much more scalable and recommended by the Hyperledger Fabric team.