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:
- Clone this repository
- 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 anevcc.yamlfile that you will need to rename toevcc-config.yaml, or change the reference insidekustomization.yaml - Update
ingress.yamlto suit your cluster and replaceexample.comwith 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 theingress.yamlreference fromkustomize.yamland use port forwarding instead. - Modify the
storageClassinpvc.yamlto 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. - Run
kubectl apply -k ./to apply the manifests and create a configuration configmap - Check that the pod has started correctly using
kubectl get pods -n evcc
Other notes:
- The manifests create an
evccnamespace. Change the name innamespace.yamlif desired. - The manifest references the
latesttag 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 ./