
Explore the course roadmap for deploying hyperledger fabric v2.x on kubernetes, covering cluster setup, certificate creation, ordering and peer services, channel and chaincode operations, and hybrid explorer integration.
Explore the repository structure for Hyperledger Fabric v2.x on Kubernetes, detailing folders for deployments, services, certificates, artifacts, and chaincode, plus a config map and scripts to automate setup.
install kubectl, the Kubernetes command-line tool, using multiple methods such as snap or other packaging; verify installation and follow the provided steps to configure kubectl for your environment.
Install the Lens IDE to visualize a Kubernetes cluster, including ports, volumes, storage, and networking services. Install and launch Lens on macOS, Windows, or Linux to explore cluster features.
Learn how to create a Kubernetes cluster on a cloud provider, select region and version, configure nodes and authentication, and connect with kubectl using the downloaded config.
Set up a platform-agnostic NFS server on a virtual machine, configure the exports file and permissions, and enable client connections from any cloud provider.
learn how to mount an NFS drive to a local system, create mount directory, use the server IP, and verify file visibility between server and client on macOS and Linux.
Create a 5 gb persistent volume, define and apply a persistent volume claim, mount it in a pod, and verify file access in the kubernetes cluster.
Run a sample application on Kubernetes by creating deployments with replicas, upgrading images, and scaling from two to four replicas and back to three using kubectl and the scale option.
Prepare prerequisites to move the CA configuration to an NFS server for Hyperledger Fabric v2.x on Kubernetes, including updating the order service server config and setting script execution permissions.
Deploy and configure a Fabric CA server on Kubernetes, including deployment files, bootstrap admin credentials, resource limits, environment variables, persistent volumes, and a connecting service.
Discover how to start up the Hyperledger Fabric CA server on Kubernetes, configuring multiple components, services, and deployments, and verify the CA server is up and running.
Generate certificates for peers and orderers in Hyperledger Fabric v2.x on Kubernetes by using scripts and a job-based workflow, validating all certificates across all orders.
Generate the genesis block and channel transactions by creating artifacts, configuring profiles, and deploying anchor peers to establish channels and certificates for a Hyperledger Fabric v2.0 network on Kubernetes.
Create deployment files for five orderers in the fabric application on Kubernetes. Configure container images, environment variables, genesis, certificates, MSP, and volumes to run the orderer services.
Define and configure the orderers service in Kubernetes, map deployment names to the service, expose the protocol and port, and enable interaction with other departments' services.
The lecture covers deploying the orderer components and related services, verifying deployment status, inspecting logs and ports, and confirming the orderer service is up and running.
Learn to create and apply a config map with build and code data to configure external chaincode before starting peer services on Kubernetes.
Learn to create and configure Kubernetes deployments for Hyperledger Fabric peers, including multi-organization setups, persistent volumes, ConfigMaps, and certificate management with scripts and data mounts.
Create and configure services for peer deployments, including a metrics service and year-zero services, by defining names, ports, and targets and applying the configurations across peers.
Set up the cli for all peers in a Kubernetes deployment, configuring containers, certificates, volumes, MSPs, channels, and service communications for a Hyperledger Fabric network.
Start the peer nodes by bringing up Kubernetes services and deployments, verify peers, orderers, and logs, and preview upcoming channel operations and anchor updates.
Learn to create the application channel in Hyperledger Fabric v2.x on Kubernetes by using prepared scripts, configuring the ordering service endpoint, and generating channel artifacts.
Learn how to join the application channel across peers by submitting join proposals, specifying the block, and verifying successful channel joins in a Hyperledger Fabric network.
Update anchor peers in Hyperledger Fabric v2.x using a script that passes the channel and orderer details, with dynamic environment variables.
explore how hyperledger fabric v2.x enables external chaincode by deploying external services, packaging the chaincode, transforming it into an executable binary, and running it in containers via scripts.
Learn how to package chaincode by structuring a packaging folder with connection and metadata, define the service address and label, and generate a packaged artifact for deployment.
Install chaincode on Kubernetes by packaging the chaincode, managing packaging artifacts, and performing a successful installation, with attention to package folders and attributes.
Create chaincode deployment by building and pushing a docker image, then configure kubernetes deployment files with environment variables and image secrets to run the chaincode on the channel.
Create chaincode services and start them on Kubernetes, configure deployments and sensor metadata, apply image policies, validate deployments, and verify chaincode status across multiple services.
Explore approving chaincode in Hyperledger Fabric v2.x on Kubernetes by packaging the chaincode, specifying channel, name, version, and sequence, and validating commitments across peers.
Commit chaincode in Hyperledger Fabric v2.x on Kubernetes by configuring the lifecycle: channel, chaincode name, version sequence, endorsements, and certificates; execute the commit and verify the deployment on the channel.
Invoke a transaction on the ledger using a function with arguments, wait for the event, then query the channel to verify assets and their state, demonstrating end-to-end transaction flow.
Learn to access the CouchDB interface in a kubernetes deployment by identifying the CouchDB service, forwarding its port (5984) to your local machine, and loading the database in a browser.
Learn to build an express api server for Hyperledger Fabric on Kubernetes, register and enroll users, and invoke blockchain transactions using a connection profile and wallet.
Define and expose transaction and query endpoints to create, upgrade, delete, transfer, and query assets on a Hyperledger Fabric v2.x network, building gateways, channels, and asset data models.
Create the connection profile for the Hyperledger Fabric network by generating JSON and YAML CCPs from certificates. Configure endpoints and CSR data, and prepare a config map for server deployment.
Create a Kubernetes config map to override the Fabric CA default configuration, increasing the connection and request timeouts, and apply the custom values to the Fabric service.
Create a Kubernetes deployment for the api server using a custom EPA image, mount certificates and config maps, and expose port 4000 via a service.
Start the api server deployment on kubernetes by applying the config, expose it via port-forward, and validate endpoints with postman to create and manage assets.
Set up an angular front-end project to interact with a backend, create list and dialog components, and implement asset models, services, and environments for history and updates.
implement user interface functionalities to create and update assets, open dialogues, and update app components in the dashboard, then validate in the browser and prepare for testing.
Integrate the port-forwarded EPA service with the front-end application, update endpoints, and test the UI while managing assets—create, update, delete, and view history.
Deploy a frontend application by building a Docker image from a base, installing dependencies, copying files, then pushing to a registry and creating a Kubernetes deployment and service.
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 using extra_hosts in 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.