diff --git a/docs/Tutorials/Kubernetes/Playground.md b/docs/Tutorials/Kubernetes/Playground.md new file mode 100644 index 00000000000..b984a42c228 --- /dev/null +++ b/docs/Tutorials/Kubernetes/Playground.md @@ -0,0 +1,37 @@ +--- +title: Deploy a Hyperledger Besu private network locally with Kubernetes +description: Deploying a Hyperledger Besu private network locally with Kubernetes +--- + +# Deploy Besu with Kubernetes in a Local Environment + +The [playground](https://github.com/ConsenSys/quorum-kubernetes/tree/master/playground) was created to provide an +opportunity to deploy [quorum-kubernetes](https://github.com/ConsenSys/quorum-kubernetes/) in a local environment before +attempting in a live environment (such as in the cloud or on-premise). +Local deployment can be done with any local Kubernetes tool. +Minikube and Rancher Desktop have been tested to work, but any complete Kubernetes solution with support for `kubectl` +should suffice. + +## How to deploy locally + +1. Navigate to the playground [`README`](https://github.com/ConsenSys/quorum-kubernetes/tree/master/playground). +1. Ensure that your system meets the requirements specified. +1. Choose your Ethereum client (Hyperledger Besu or GoQuorum): `quorum-besu` or `quorum-go`. +1. Choose your consensus algorithm. + The playground supports Clique, Ethash (PoW), and IBFT2 for Besu, and IBFT for GoQuorum. +1. Follow the instructions from the `README` for the chosen client and consensus algorithm folder. + +## Important notes + +Consider the following when deploying and developing with the playground: + +* The playground is created specifically for developers and operators to become familiar with the deployment of Besu in + a Kubernetes environment in preparation for going into a cloud or on-premise environment. + Thus, it should **not** be deployed into a production environment. +* The playground is not a complete reflection of the `dev` and `prod` charts as it does not use `Helm`, but rather + static or non-templated code that is deployed through `kubectl apply -f`. + This means that without `Helm` there's a significant amount of repeated code. + This is fine for development but not ideal for a production environment. +* The playground uses static/hard-coded keys. + Automatic key generation is only supported in `dev` and `prod` charts. +* As the playground is for local development, no cloud integration or lifecycle support is offered. diff --git a/mkdocs.yml b/mkdocs.yml index 10352d915ad..461690fa960 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -183,10 +183,11 @@ nav: - Developer Quickstart: Tutorials/Developer-Quickstart.md - Kubernetes: - Overview: Tutorials/Kubernetes/Overview.md + - Local playground: Tutorials/Kubernetes/Playground.md - Create a cluster: Tutorials/Kubernetes/Create-Cluster.md - Deploy charts: Tutorials/Kubernetes/Deploy-Charts.md - Maintenance: Tutorials/Kubernetes/Maintenance.md - - Production: Tutorials/Kubernetes/Production.md + - Production: Tutorials/Kubernetes/Production.md - Concepts: - Architecture: Concepts/ArchitectureOverview.md - Consensus protocols: