EOSIO Nodeos Helm Charts

Summary

Overview

EOSIO Helm Charts provide 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 quickly from within a Docker-enabled web-based IDE.

Installation

EOSIO Helm Charts can be installed and run locally with Docker Desktop support, or run remotely via a cloud deployment. For quick prototyping and rapid testing you may want a local deployment. For production environments or distributed testing, a cloud deployment is recommended.

Local Deployment

To install EOSIO Helm Charts for local deployment via Docker Desktop, follow these 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.

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

Configure Cloud Provider

  • Cloud provider: .Values.global.cloudProvider
  • Autoscaler: .Values.global.nodeSelector