macOS

    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.

    Run the following script to automatically detect the operating system and download Kuma:

    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.

    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 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:

    Note: By default this will run Kuma with a memory , but for production you have to use a persistent storage like PostgreSQL by updating the conf/kuma-cp.conf file.

    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 .

    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 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:

    or you can enable mTLS on the default Mesh with:

    You can configure kumactl to point to any zone instance by running:

    You will notice that Kuma automatically creates a Mesh entity with name default.

    In order to start using Kuma, it’s time to check out the quickstart guide for Universal deployments.