简体   繁体   中英

Does stellar core deployment on k8s needs persistent storage?

I want to deploy stellar core on k8s with CATCHUP COMPLETE. I'm using this docker image satoshipay/stellar-core

In docker image docs mentioned /data used to store the some informations about DB. And I've seen that helm template is using a persistent volume and mounting it in /data.

I was wondering what will happen if I use a deployment instead of the stateful set and I restart the pod, update it's docker version or delete it? Does it initialize the DB again?

Also does the stellar core need any extra storage for the catchup?

Statefulset vs Deployment

A StatefulSet "provides guarantees about the ordering and uniqueness of these Pods". If your application needs to be brought up in a specific order, use statefulset .

Storage

Definitely leverage a persistent volume for database. From K8S Docs

On-disk files in a Container are ephemeral

Since it appears you're deploying some kind of blockchain application, this could cause significant delays for startup

In Deployment you specify a PersistentVolumeClaim that is shared by all pod replicas. In other words, shared volume.

The backing storage obviously must have ReadWriteMany or ReadOnlyMany accessMode if you have more than one replica pod.

StatefulSet you specify a volumeClaimTemplates so that each replica pod gets a unique PersistentVolumeClaim associated with it. In other words, no shared volume.

StatefulSet is useful for running things in cluster eg Hadoop cluster, MySQL cluster, where each node has its own storage.

So in your case to have more isolation (no shared volumes) is better to have statefulset based solution.

If you use deployment based solution (restart the pod, update it's docker version or delete it) your DB will be initialized again.

Regarding catchup:

In general, running CATCHUP_COMPLETE=true is not recommended in docker containers as they have limited resources by default (if you really want to do it, make sure to give them access to more resources: CPU, memory and disk space).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM