mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-18 16:05:10 +00:00
49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# Kubernetes Test Network
|
|
|
|
Starting in release 2.0, Hyperledger introduced the [test-network](https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html)
|
|
to serve as both an accelerator and learning resource for running Fabric networks. In addition to
|
|
providing a study guide for operational patterns, the test-network provided a baseline environment for members of
|
|
the Fabric community to quickly get up to speed with a working, local system, author smart contracts, and develop
|
|
simple blockchain applications.
|
|
|
|
While test-network provided a solid foundation for casual Fabric development, the over-reliance on
|
|
[Docker Compose](https://docs.docker.com/compose/) introduced tremendous, non-trivial complexity when transitioning
|
|
applications to production. Without belaboring the many issues and anti-patterns present in the Compose-based
|
|
test network, we'll submit that the best path forward is to _align_ the development and production patterns around a
|
|
common orchestration framework - Kubernetes.
|
|
|
|
Similar to Fabric, Kubernetes introduces a steep learning curve and presents a dizzying array of operational
|
|
flexibility. In this guide, we'll outline the design considerations in the [`./network`](../network)
|
|
scripts, provide a supplement to the [Fabric CA Deployment Guide](https://hyperledger-fabric-ca.readthedocs.io/en/latest/deployguide/ca-deploy.html),
|
|
and build up to a reference model for realistic production deployments on Kubernetes.
|
|
|
|
_Ahoy!_
|
|
|
|
|
|
## Network Topology
|
|
|
|
The Kube test network establishes as consortium among a dedicated ordering organization and two peer organizations.
|
|
Participation in the network is managed over a channel, and transactions are committed to the blockchain ledgers by
|
|
invoking the [asset-transfer-basic](https://github.com/hyperledgendary/fabric-ccaas-asset-transfer-basic)
|
|
_Chaincode-as-a-Service_ running in a shared Kubernetes namespace. Each organization maintains indepedendent TLS
|
|
and ECert CAs for management of local, channel, and user MSP contexts.
|
|
|
|

|
|
|
|
|
|
## Detailed Guides
|
|
|
|
- [`./network`](NETWORK.md)
|
|
- [Working with Kubernetes](KUBERNETES.md)
|
|
- [Certificate Authorities](CA.md)
|
|
- [Planning for a CA](CA.md#planning-for-a-ca)
|
|
- [Deploy the TLS CAs](CA.md#deploy-the-tls-cas)
|
|
- [Deploy the ECert CAs](CA.md#deploy-the-organization-ca)
|
|
- [Launching the Test Network](TEST_NETWORK.md)
|
|
- [Registering and Enrolling Identities](CA.md#registering-and-enrolling-identities)
|
|
- [Assembling Node MSPs](link)
|
|
- [Deploy Orderers and Peers](link)
|
|
- [Working with Channels](CHANNELS.md)
|
|
- [Working with Chaincode](CHAINCODE.md)
|
|
- [Working with Applications](APPLICATIONS.md)
|
|
- [High Availability](HIGH_AVAILABILITY.md)
|