Skip to content

blockchain-etl/iotex-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IoTeX Node in Kubernetes

IoTeX is a decentralized cryptosystem, a new generation of blockchain platform for the development of the Internet of things (IoT). The project team is sure that the users do not have such an application that would motivate to implement the technology of the Internet of things in life. And while this will not be created, people will not have the desire to spend money and time on IoT. The developers of IoTeX decided to implement not the application itself, but the platform for creation. It is through the platform that innovative steps in the space of the Internet of things will be encouraged.

Introduction

This chart bootstraps a single IoTeX node deployment on a Kubernetes cluster using the Helm package manager. Docker image was taken from IoTeX on Docker hub

Prerequisites

  • Kubernetes 1.8+
  • Helm 2.16
  • PV provisioner support in the underlying infrastructure
  • gcloud

Creating GKE Kubernetes Cluster

CLUSTER_INDEX=0
CLUSTER_NAME=iotex-node-${CLUSTER_INDEX} && echo "Cluster name is ${CLUSTER_NAME}"
MASTER_ZONE=us-central1-a

gcloud container clusters create $CLUSTER_NAME \
    --num-nodes 1 \
    --enable-autoscaling --max-nodes=1 --min-nodes=1 \
    --machine-type=n1-standard-1 \
    --cluster-version latest \
    --enable-autorepair \
    --enable-ip-alias \
    --zone=$MASTER_ZONE

gcloud container clusters get-credentials $CLUSTER_NAME --zone=$MASTER_ZONE

kubectl create -f storageclass-ssd.yaml 
helm init
bash patch-tiller.sh

Installing the Chart

To install the chart with the release name iotex:

$ helm install --name iotex charts/iotex

The command deploys IoTeX on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the iotex deployment:

$ helm delete iotex --purge

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the iotex chart and their default values.

Parameter Description Default
image.repository Image source repository name iotex/iotex-core
image.tag iotex release tag. v1.0.0
image.pullPolicy Image pull policy IfNotPresent
service.rpcPort RPC port 14014
service.p2pPort P2P port 4689
persistence.enabled Create a volume to store data true
persistence.accessMode ReadWriteOnce or ReadOnly ReadWriteOnce
persistence.size Size of persistent volume claim 100Gi
resources CPU/Memory resource requests/limits {}
terminationGracePeriodSeconds Wait time before forcefully terminating container 30

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name iotex ./iotex

Tip: You can use the default values.yaml

Check a separate file for more details about additional troubleshooting.