Getting started with the Free Tier

This Getting started guide helps you access and install the free version of Service Mesh Manager. If you are a paying customer, see Installation for installation options.

To get started with Service Mesh Manager, you will install Service Mesh Manager and a demo application on a single cluster. After that, you can attach other clusters to the mesh and redeploy the demo application to run on multiple clusters.

Free tier limitations

  • The free tier of Service Mesh Manager allows you to use Service Mesh Manager on maximum of two Kubernetes clusters where the total number of worker nodes in your clusters is 10. For details, see Licensing options.
  • SMM Operator helm charts is not supported.

To buy an enterprise license, contact your Cisco sales representative, or directly Cisco Emerging Technologies and Incubation.

Prerequisites

You need a Kubernetes cluster to run Service Mesh Manager. If you don’t already have a Kubernetes cluster to work with, then:

  1. Create a cluster that meets the following resource requirements with your favorite provider.

    CAUTION:

    Supported providers and Kubernetes versions

    The cluster must run a Kubernetes version that Istio supports. For Istio 1.12.x, these are Kubernetes 1.19, 1.20, 1.21 and 1.22.

    Service Mesh Manager is tested and known to work on the following Kubernetes providers:

    • Cisco Intersight Kubernetes Service (IKS)
    • Amazon Elastic Kubernetes Service (Amazon EKS)
    • Google Kubernetes Engine (GKE)
    • Azure Kubernetes Service (AKS)
    • On-premises installation of stock Kubernetes with load balancer support (and optionally PVCs for persistence)

    Resource requirements:

    Make sure that your Kubernetes cluster has sufficient resources. The default installation (with Service Mesh Manager and demo application) requires the following amount of resources on the cluster:

    • CPU:
      • 12 vCPU in total
      • 4 vCPU available for allocation per worker node
    • Memory:
      • 16 GB in total
      • 2 GB available for allocation per worker node
    • 12 GB of ephemeral storage on the Kubernetes worker nodes (for Traces and Metrics)

    Note: These minimum requirements need to be available for allocation within your cluster, in addition to the requirements of any other loads running in your cluster (for example, DaemonSets and Kubernetes node-agents). If Kubernetes cannot allocate sufficient resources to Service Mesh Manager, some pods will remain in Pending state, and Service Mesh Manager will not function properly.

    Enabling additional features, such as High Availability increases this value.

    The default installation, when enough headroom is available in the cluster, should be able to support at least 150 running Pods with the same amount of Services. For setting up Service Mesh Manager for bigger workloads, see scaling Service Mesh Manager.

  2. Set Kubernetes configuration and context.

    The Service Mesh Manager command-line tool uses your current Kubernetes context, from the file named in the KUBECONFIG environment variable (~/.kube/config by default). Check if this is the cluster you plan to deploy the product by running the following command:

    kubectl config get-contexts
    

    If there are multiple contexts in the Kubeconfig file, specify the one you want to use with the use-context parameter, for example:

    kubectl config use-context <context-to-use>
    

Preparation

To access and install the free version of Service Mesh Manager, complete the following steps.

  1. If you don’t already have a Cisco Customer Identity (CCI) account, sign up. It’s free.

    1. Visit the Service Mesh Manager download page page and sign up for a Cisco Customer Identity account, and complete the registration form.
    2. Click the account activation link you receive in an email.
  2. Read and accept the End-User License Agreement (EULA).

  3. Download the Service Mesh Manager command-line tool.

    1. Visit the Service Mesh Manager download page.
    2. Download the Service Mesh Manager command-line tool (CLI) suitable for your system. The CLI supports macOS and Linux (x86_64). On Windows, install the Windows Subsystem for Linux (WSL) and use the Linux binary.
    3. Extract the archive.
    4. Navigate to the directory where you have extracted the CLI.

  4. The Service Mesh Manager download page shows your credentials that you can use to access the Service Mesh Manager docker images.

    Open a terminal and login to the image registries of Service Mesh Manager by running:

    SMM_REGISTRY_PASSWORD=<your-password> ./smm activate \
      --host=registry.eticloud.io \
      --prefix=smm \
      --user='<your-username>'
    

    Where the <your-password> and <your-username> parts contain the access credentials to the registries.

Install Service Mesh Manager on a single cluster

  1. Run the following command. This will install the main Service Mesh Manager components.

    smm install -a --cluster-name <name-of-your-cluster>
    

    Service Mesh Manager supports KUBECONFIG contexts having the following authentication methods:

    • certfile and keyfile
    • certdata and keydata
    • bearer token
    • exec/auth provider

    Username-password pairs are not supported. If you are installing Service Mesh Manager in a test environment, you can install it without requiring authentication by running:

    smm install --anonymous-auth -a --run-demo
    

    If you experience errors during the installation, try running the installation in verbose mode: smm install -v

  2. Wait until the installation is completed. This can take a few minutes.

  3. (Optional) If you don’t already have Istio workload and traffic on this cluster, install the demo application:

    smm demoapp install
    
  4. Run the following command to open the dashboard. If you don’t already have Istio workload and traffic, the dashboard will be empty.

    smm dashboard
    

    The Service Mesh Manager Dashboard for your Istio service mesh

  5. (Optional)

    If you are installing Service Mesh Manager on a managed Kubernetes solution of a public cloud provider (for example, AWS, Azure, or Google Cloud), assign admin roles so that you can tail the logs of your containers from the Service Mesh Manager UI and perform various tasks from the CLI that require custom permissions. Run the following command:

    kubectl create clusterrolebinding user-cluster-admin --clusterrole=cluster-admin --user=<gcp/aws/azure username>
    

  6. At this point, Service Mesh Manager is up and running. On the dashboard select MENU > TOPOLOGY to see how the traffic flows through your mesh, and experiment with any of the available features described in the documentation.

    The Service Mesh Manager demo application topology The Service Mesh Manager demo application topology

Get help

If you run into errors, experience problems, or just have a question or feedback about Service Mesh Manager, visit our Application Networking and Observability community site.