Skip to content

drpump/evcc-k8s

Repository files navigation

EVCC manifests for kubernetes

These files provide a ready-made manifest for deploying EVCC into a kubernetes cluster. I couldn't find one anywhere on the `net so created my own. Instructions:

  1. Clone this repository
  2. Customize the configuration file (evcc-config.yaml) for your charging setup, either manually or by installing and running the EVCC configuration tool. The tool creates an evcc.yaml file that you will need to rename to evcc-config.yaml, or change the reference inside kustomization.yaml
  3. Update ingress.yaml to suit your cluster and replace example.com with your domain name. Mine uses traefik and a letsencrypt ClusterIssuer to provide TLS endpoints. If you don't have a domain name or LetsEncrypt configured for your cluster, remove the ingress.yaml reference from kustomize.yaml and use port forwarding instead.
  4. Modify the storageClass in pvc.yaml to suit your cluster storage. Mine uses Longhorn, which is a distributed filesystem with highly available features. For a simpler configuration, remove this line altogether to use the default storage class in your cluster.
  5. Run kubectl apply -k ./ to apply the manifests and create a configuration configmap
  6. Check that the pod has started correctly using kubectl get pods -n evcc

Other notes:

  • The manifests create an evcc namespace. Change the name in namespace.yaml if desired.
  • The manifest references the latest tag of the EVCC docker image. You might want to pin it to a version if you're worried about upgrades breaking things.
  • The use of a separate persistent volume claim (PVC) instead of embedding it in the deployment means that you can update the deployment without losing your volume. Have lost data in the past when mucking with deployments that include a PVC spec.
  • The configuration is mounted as a configmap on the EVCC pod. To change the config, edit the config file then run kubectl apply -k ./ again. It will restart the pod.
  • If you need to start again from scratch, use kubectl delete -k ./

About

Kubernetes manifests for deploying EVCC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published