Summary
Overview
EOSIO Helm Charts provides direct access to infrastructure-as-code (IaC) for rapid deployment of EOSIO nodes via Kubernetes. It includes support for common cloud providers such as Amazon Web Services (AWS) and Google Cloud Platform (GCP). EOSIO Helm Charts currently includes three charts:
eosio
: provides the configuration umbrella for the EOSIO ecosystem.eosio-common
: provides scaffolding for infrastructure extensions support.eosio-nodeos
: provides the configuration options for the EOSIO node(s).
Installation
EOSIO Helm Charts can be installed and run locally with a Docker Desktop backend, or run remotely with a cloud deployment. For quick prototyping and rapid testing choose a local deployment. For production environments or distributed testing select a cloud deployment.
Local Deployment
To install EOSIO Helm Charts for local deployment via Docker Desktop, follow the instructions below. You may also follow the Tutorial for step-by-step instructions.
-
Install Docker Desktop:
-
Install Kubernetes command-line tool (kubectl):
-
Install Helm:
-
Configure Helm and Kubernetes for deployment:
- Helm repo add
eosio.helm
public repository. -
Set Kubernetes to use the Docker Desktop context.
- Verify the current context using
kubectl config current-context
. -
If the current context is not Docker Desktop, then
- Get a list of contexts via
kubectl config get-contexts
. - Set the current context to the Docker Desktop Kubernetes namespace via
kubectl config use-context <docker local>
.
- Get a list of contexts via
- Verify the current context using
- Helm repo add
-
Deploy a Helm chart for EOSIO applications:
- Clone the EOSIO Help Charts github repository via
git clone https://github.com/EOSIO/eosio.helm.git
. -
Configure Helm Chart subpackages via
helm dependency update
. -
Deploy EOSIO via
helm upgrade --install eosio eosio -f eosio/local.yaml -f eosio/nodeos_config.yaml
- File: eosio/local.yaml
- File: eosio/nodeos_config.yaml
- Clone the EOSIO Help Charts github repository via
Cloud Deployment
To install EOSIO Helm Charts for cloud deployment using a cloud provider like AWS or GCP, follow these instructions:
-
Deploy a Helm chart for EOSIO applications:
- Clone the EOSIO Help Charts github repository via
git clone https://github.com/EOSIO/eosio.helm.git
. -
Configure Helm chart subpackages for chain via
helm dependency update
. -
Deploy EOSIO via
helm upgrade --install eosio eosio -f eosio/primary.yaml -f eosio/nodeos_config.yaml
- File: eosio/primary.yaml
- File: eosio/nodeos_config.yaml
- Clone the EOSIO Help Charts github repository via
Configuration
You can customize specific values to be passed to the EOSIO Helm charts. You can also configure specific artefacts within the cloud provider.
Customizing Values
-
Specify additional value files as desired using additional
-f
options. Remember that order matters and values are overridden from left-to-right in specification. -
Specify values directly as command line arguments.
Configuring Cloud Provider
- Cloud provider:
.Values.global.cloudProvider
- Autoscaler:
.Values.global.nodeSelector
Tutorial
Check the EOSIO Helm Tutorial, which demonstrates how to install EOSIO Helm Charts for local deployment, how to use them to launch an EOSIO node, and how to use EOSIO Helm repositories.