You are browsing documentation for a version of Kuma that is not the latest release.
Systemd
It’s recommended to use a process manager like systemd when using Kuma on VMs.
Here are examples of systemd configurations
kuma-cp
[Unit]Description=Kuma Control PlaneAfter=network.targetDocumentation=https://kuma.io[Service]User=< user to use to run the process >WorkingDirectory=<directory of the Kuma install >ExecStart=./bin/kuma-cp run --config-file=./cp-config.yaml# if you need your Control Plane to be able to handle a non-trivial number of concurrent connections# (a total of both incoming and outgoing connections), you need to set proper resource limits on# the `kuma-cp` process, especially maximum number of open files.## it happens that `systemd` units are not affected by the traditional `ulimit` configuration,# and you must set resource limits as part of `systemd` unit itself.## to check effective resource limits set on a running `kuma-cp` instance, execute## $ cat /proc/$(pgrep kuma-cp)/limits## Limit Soft Limit Hard Limit Units# ...# Max open files 1024 4096 files# ...## for Kuma demo setup, we chose the same limit as `docker` and `containerd` set by default.# See https://github.com/containerd/containerd/issues/3201LimitNOFILE=1048576Restart=alwaysRestartSec=1s# disable rate limiting on start attemptsStartLimitIntervalSec=0StartLimitBurst=0[Install]WantedBy=multi-user.target
kuma-dp
[Unit]Description=Kuma Data Plane ProxyAfter=network.targetDocumentation=https://kuma.io[Service]User=< user to use to run the process >WorkingDirectory=<directory of the Kuma install >ExecStart=./bin/kuma-dp run \
--cp-address=https://<kuma-cp-address>:5678 \
--dataplane-token-file=./echo-service-universal.token \
--dataplane-file=./dataplane-notransparent.yaml \
--ca-cert-file=./ca.pemRestart=alwaysRestartSec=1s# disable rate limiting on start attemptsStartLimitIntervalSec=0StartLimitBurst=0[Install]WantedBy=multi-user.target