Kubernetes

Use Kubernetes for deployment and health monitoring.

Kubernetes (k8s) is a very powerful tool to manage your containerized services. It is very convenient to deploy and upgrade services running in a Docker container in Kubernetes.

k8s will also do the health check and automatically restart the falling node to maximize your uptime.

We heavily rely on k8s in our test environment. With our own experience, we can tell that k8s will for sure reduce your operation cost.

These are the probe configuration we use in our deployment.yaml:

livenessProbe:
  httpGet:
    path: "/liveness"
    port: 8080
  initialDelaySeconds: 15
  timeoutSeconds: 2
  periodSeconds: 15
  failureThreshold: 5
readinessProbe:
  httpGet:
    path: "/readiness"
    port: 8080
  initialDelaySeconds: 30
  timeoutSeconds: 2
  periodSeconds: 15
  failureThreshold: 5

The setup we currently run for the IoTeX testnet is very similar to the one illustrated below:

Last updated