Tezos is a distributed consensus platform with meta-consensus capability. Tezos not only comes to consensus about the state of its ledger, like Bitcoin or Ethereum. It also attempts to come to consensus about how the protocol and the nodes should adapt and upgrade.
This chart bootstraps a single Tezos node deployment on a Kubernetes cluster using the Helm package manager. Docker image was taken from tezos on Docker hub.
- Kubernetes 1.8+
 - Helm 2.16
 - PV provisioner support in the underlying infrastructure
 - gcloud
 
CLUSTER_INDEX=0
CLUSTER_NAME=tezos-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-2 \
    --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.shTo install the chart with the release name tezos:
$ helm install --name tezos charts/tezosFollow the instructions in the output of the command to connect to Tezos RPC.
The command deploys Tezos 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
To uninstall/delete the tezos deployment:
$ helm delete tezos --purgeThe command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters of the Tezos chart and their default values.
| Parameter | Description | Default | 
|---|---|---|
image.repository | 
Image source repository name | tezos/tezos | 
image.tag | 
tezos release tag. | 
latest-release | 
image.pullPolicy | 
Image pull policy | IfNotPresent | 
service.rpcPort | 
RPC port | 8732 | 
service.p2pPort | 
P2P port | 9732 | 
persistence.enabled | 
Create a volume to store data | true | 
persistence.accessMode | 
ReadWriteOnce or ReadOnly | ReadWriteOnce | 
persistence.size | 
Size of persistent volume claim | 200Gi | 
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 tezos -f values.yaml charts/tezosTip: You can use the default values.yaml
Check a separate file for more details about additional troubleshooting.