macOS
If you only want the CLI, you can always use homebrew brew install kumactl
.
To install and run Kuma execute the following steps:
Finally, you can follow the Quickstart to take it from here and continue your Kuma journey.
Download Kuma
Run the following script to automatically detect the operating system and download Kuma:
curl -L https://kuma.io/installer.sh | VERSION=2.1.1 sh -
or you can download the distribution manually.
Then extract the archive with: tar xvzf kuma-2.1.1
.
Make sure you have tar and gzip installed.
Run Kuma
Once downloaded, you will find the contents of Kuma in the kuma-2.1.1
folder. In this folder, you will find - among other files - the bin
directory that stores all the executables for Kuma.
You can start the control-plane with: kuma-2.1.1/bin/kuma-cp run
This example will run Kuma in standalone
mode for a “flat” deployment, but there are more advanced deployment modes like “multi-zone”.
We suggest adding the kumactl
executable to your PATH
so that it’s always available in every working directory. Or - alternatively - you can also create link in /usr/local/bin/
by executing:
ln -s kuma-2.1.1/bin/kumactl /usr/local/bin/kumactl
Note: By default this will run Kuma with a memory
store, but for production you have to use a persistent storage like PostgreSQL by updating the conf/kuma-cp.conf
file.
Use Kuma
Kuma (kuma-cp
) is now running! Now that Kuma has been installed you can access the control-plane via either the GUI, the HTTP API, or the CLI:
Kuma ships with a read-only GUI that you can use to retrieve Kuma resources. By default the GUI listens on the API port and defaults to :5681/gui
.
To access Kuma you can navigate to 127.0.0.1:5681/gui to see the GUI.
Kuma ships with a read and write HTTP API that you can use to perform operations on Kuma resources. By default the HTTP API listens on port 5681
.
To access Kuma you can navigate to 127.0.0.1:5681 to see the HTTP API.
You can use the kumactl
CLI to perform read and write operations on Kuma resources. The kumactl
binary is a client to the Kuma HTTP API. For example:
kumactl get meshes
# NAME mTLS METRICS LOGGING TRACING
# default off off off off
or you can enable mTLS on the default
Mesh with:
echo "type: Mesh
name: default
mtls:
enabledBackend: ca-1
backends:
- name: ca-1
type: builtin" | kumactl apply -f -
You can configure kumactl
to point to any zone kuma-cp
instance by running:
kumactl config control-planes add --name=XYZ --address=http://{address-to-kuma}:5681
You will notice that Kuma automatically creates a Mesh entity with name default
.
Quickstart
Congratulations! You have successfully installed Kuma 🚀.
In order to start using Kuma, it’s time to check out the quickstart guide for Universal deployments.