Skip to main content

Installation

Install Otterize without Otterize Cloud (OSS only)

You'll need Helm installed on your machine to install Otterize as follows:

helm repo add otterize https://helm.otterize.com
helm repo update
helm install otterize otterize/otterize-kubernetes -n otterize-system --create-namespace

This chart is a bundle of the Otterize intents operator, Otterize credentials operator, Otterize network mapper, and SPIRE. Initial deployment may take a couple of minutes. You can add the --wait flag for Helm to wait for deployment to complete and all pods to be Ready, or manually watch for all pods to be Ready using kubectl get pods -n otterize-system -w.

After all the pods are ready you should see the following (or similar) in your terminal when you run kubectl get pods -n otterize-system:

NAME                                                       READY  STATUS  RESTARTS AGE
credentials-operator-controller-manager-6c56fcfcfb-vg6m9 2/2 Running 0 9s
intents-operator-controller-manager-65bb6d4b88-bp9pf 2/2 Running 0 9s
otterize-network-mapper-779fffd959-twjqd 1/1 Running 0 9s
otterize-network-sniffer-65mjt 1/1 Running 0 9s
otterize-spire-agent-lcbq2 1/1 Running 0 9s
otterize-spire-server-0 2/2 Running 0 9s
otterize-watcher-b9bf87bcd-276nt 1/1 Running 0 9s

Upgrade Otterize

Use Helm to upgrade to the latest version of Otterize:

helm repo update
helm upgrade --install otterize otterize/otterize-kubernetes -n otterize-system

Install Otterize with Otterize Cloud

To connect Otterize OSS to Otterize Cloud you will need to log in, create an integration, and follow the instructions which generates unique credentials for your cluster to communicate to Otterize Cloud.

Install just the Otterize network mapper

helm repo add otterize https://helm.otterize.com
helm repo update
helm install network-mapper otterize/network-mapper -n otterize-system --create-namespace

You can add the --wait flag for Helm to wait for deployment to complete and all pods to be Ready, or manually watch for all pods to be Ready using kubectl get pods -n otterize-system -w.

Create a cluster with support for network policies

Before you start, you need to have a Kubernetes cluster with a CNI that supports NetworkPolicies.

Below are instructions for setting up a Kubernetes cluster with network policies. If you don't have a cluster already, we recommend starting out with a Minikube cluster.

If you don't have the Minikube CLI, first install it.

Then start your Minikube cluster with Calico, in order to enforce network policies.

minikube start --cpus=4 --memory 4096 --disk-size 32g --cni=calico

The increased CPU, memory and disk resource allocations are required to be able to deploy the ecommerce app used in the visual tutorials successfully.


Install the Otterize CLI

The Otterize CLI is a command-line utility used to control and interact with the Otterize network mapper, manipulate local intents files, and interact with Otterize Cloud.

To install the CLI:

brew install otterize/otterize/otterize-cli

More variants are available at the GitHub Releases page.

Uninstall Otterize

Before uninstalling

Before uninstalling Otterize, you should make sure to delete any resources created by users: ClientIntents and KafkaServerConfigs.

When you remove these resources, the intents operator will clean up network policies and Kafka ACLs it created. If you remove the operator before doing so, it will not be able to clean up.

If, however, you want the network policies and ACLs to stay in place (because you're redeploying with different configuration, for example), don't remove them.

  1. First check if any ClientIntents exist: kubectl get clientintents --all-namespaces
  2. If so, remove them.
  3. Check if any KafkaServerConfigs exist: kubectl get kafkaserverconfig --all-namespaces
  4. If so, remove them.

It's important to remove ClientIntents before removing KafkaServerConfigs, as once you remove the KafkaServerConfig for a Kafka cluster, the intents operator will no longer know how to connect to it and perform cleanup.

Uninstallation

helm uninstall otterize -n otterize-system