EOSIO Nodeos Helm Charts

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).
Note

The EOSIO Web IDE is another tool that allows developers to get an EOSIO network up and running quickly. It also allows developers to build and deploy EOSIO applications smoothly from within a Docker-enabled web-based IDE.

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.

  1. Install Docker Desktop:

  2. Install Kubernetes command-line tool (kubectl):

  3. Install Helm:

  4. Configure Helm and Kubernetes for deployment:

    1. Helm repo add eosio.helm public repository.
    2. Set Kubernetes to use the Docker Desktop context.

      1. Verify the current context using kubectl config current-context.
      2. If the current context is not Docker Desktop, then

        1. Get a list of contexts via kubectl config get-contexts.
        2. Set the current context to the Docker Desktop Kubernetes namespace via kubectl config use-context <docker local>.
  5. Deploy a Helm chart for EOSIO applications:

    1. Clone the EOSIO Help Charts github repository via git clone https://github.com/EOSIO/eosio.helm.git.
    2. Configure Helm Chart subpackages via helm dependency update.

    3. Deploy EOSIO via helm upgrade --install eosio eosio -f eosio/local.yaml -f eosio/nodeos_config.yaml

Cloud Deployment

To install EOSIO Helm Charts for cloud deployment using a cloud provider like AWS or GCP, follow these instructions:

  1. Deploy a Helm chart for EOSIO applications:

    1. Clone the EOSIO Help Charts github repository via git clone https://github.com/EOSIO/eosio.helm.git.
    2. Configure Helm chart subpackages for chain via helm dependency update.

    3. Deploy EOSIO via helm upgrade --install eosio eosio -f eosio/primary.yaml -f eosio/nodeos_config.yaml

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

  1. Specify additional value files as desired using additional -f options. Remember that order matters and values are overridden from left-to-right in specification.

  2. 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.