Running BitCoin Core in Kubernetes (Azure Container Service) cluster

Blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. The blockchain is a public ledger that records bitcoin transactions. In this blog, we will show you how to deploy and run BitCoin Core in Kubernetes. We will be using Azure Container Service (AKS), Microsoft’s managed Kubernetes service but same concepts should apply to other cloud providers or local Kubernetes deployments as well.

BitCoin Core in Kubernetes

Clone our github repo to fetch Kubernetes configuration files and list them:

Create a new Persistent Volume Claim(PVC) for data storage:

Confirm PVC bound was successful:

Create Kubernetes service and deployment for BitCoin Core:

Confirm Service was successful:

Confirm Deployment was successful:

Check Pod status:

Optionally, you can describe the Pod:

Exec into the BitCoin Pod:

Switch to ‘bitcoin’ user and list contents of BITCOIN_DATA directory which will show you the data.

To confirm bitcoin daemon is responding, you can execute this query using bitcoin-cli

This should confirm that you have successfully deployed the BitCoin Core in Kubernetes.

Please note that this should only be used for experimental purpose and is not production ready as we have not covered authentication, exposing the service publicly, creating configuration file and related topics. You can post comments and let us know if you are interested and we will try to cover them in future blogs. Until then, stay tuned and don’t forget to read our other blogs here.

Reference:

For this blog, we have referenced the docker image published and maintained by ‘ruimarinho’ here.