# OpenShift

To install and run Kuma on OpenShift execute the following steps:

Finally, you can follow the Quickstart to take it from here and continue your Kuma journey.

# 1. Download Kuma

To run Kuma on Kubernetes, you need to download the Kuma cli (kumactl) on your machine.

    Once downloaded, you will find the contents of Kuma in the kuma-1.5.0 folder. In this folder, you will find - among other files - the bin directory that stores the executables for Kuma, including the CLI client kumactl.

    Note: On Kubernetes - of all the Kuma binaries in the bin folder - we only need kumactl.

    So we enter the bin folder by executing: cd kuma-1.5.0/bin

    We suggest adding the kumactl executable to your PATH (by executing: PATH=$(pwd):$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 $PWD/kumactl /usr/local/bin/kumactl
    
    1

    # 2. Run Kuma

    We can install and run Kuma:

      This example will run Kuma in standalone mode for a "flat" deployment, but there are more advanced deployment modes like "multi-zone".

      It may take a while for OpenShift to start the Kuma resources, you can check the status by executing:

      oc get pod -n kuma-system
      
      1

      # 3. Use Kuma

      Kuma (kuma-cp) will be installed in the newly created kuma-system namespace! Now that Kuma has been installed, you can access the control-plane via either the GUI, oc, the HTTP API, or the CLI:

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

        Kuma explicitly specifies UID for kuma-dp sidecar to avoid capturing traffic from kuma-dp itself. For that reason, nonroot Security Context Constraint (opens new window) has to be granted to the application namespace:

        oc adm policy add-scc-to-group nonroot system:serviceaccounts:<app-namespace>
        
        1

        If namespace is not configured properly, we will see following error on the Deployment or DeploymentConfig

        'pods "kuma-demo-backend-v0-cd6b68b54-" is forbidden: unable to validate against any security context constraint: [spec.containers[1].securityContext.securityContext.runAsUser: Invalid value: 5678: must be in the ranges: [1000540000, 1000549999]]'
        
        1

        # 4. Quickstart

        Congratulations! You have successfully installed Kuma on OpenShift 🚀.

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

        Before running Kuma Demo in the Quickstart, remember to run the following command

        oc adm policy add-scc-to-group anyuid system:serviceaccounts:kuma-demo
        
        1

        In case of Kuma Demo, one of the component requires root access therefore we use anyuid instead of nonroot permission.

        Last Updated: 3/4/2022, 1:26:16 PM