> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chronosphere.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Install a Core Operator in a Kubernetes cluster

To get started with Chronosphere Telemetry Pipeline on Kubernetes, you'll need to
install a [Core Operator](/ingest/pipeline/v2/concepts#core-operator)
in each Kubernetes cluster where you want to deploy pipelines.

## Supported Kubernetes distributions

Telemetry Pipeline is compatible with the following distributions of Kubernetes:

* Open Source Kubernetes 1.25 or later
* Amazon Kubernetes Service (EKS)
* Azure Kubernetes Service (AKS)
* Google Kubernetes Engine (GKE)
* Red Hat Open Shift 4.0 or later

## Installation steps

You can use [Pipeline CLI](/ingest/pipeline/pipeline-cli) or Helm to install a Core Operator in
a Kubernetes cluster.

<Note>
  When you install a Core Operator, only deploy a single replica.
  If a Core Operator has multiple replicas, those replicas will conflict with one another.
</Note>

<Tabs>
  <Tab title="Pipeline CLI" id="install-cli">
    1. [Review the Telemetry Pipeline installation prerequisites](/ingest/pipeline/v2/install/prereqs).

    2. [Install](/ingest/pipeline/pipeline-cli/install) or [update](/ingest/pipeline/pipeline-cli/install#update-pipeline-cli)
       Pipeline CLI. Because Core Operator versions are dependent on your Pipeline CLI
       version, keeping Pipeline CLI current ensures that you're installing
       the latest version of Core Operator.

    3. If you haven't already, [set an API token in Pipeline CLI](/ingest/pipeline/pipeline-cli/authenticate).

    4. Ensure that the
       [`KUBECONFIG`](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
       environment variable in your cluster is set to a valid configuration file.

    5. Run the following command to install a Core Operator:

       ```shell theme={null}
       calyptia install operator
       ```

    6. Optional: Add the `--kube-namespace` command to set that Core Operator's
       [namespace](/ingest/pipeline/v2/configure/kubernetes/namespaces).

    7. Repeat these steps for each Kubernetes cluster where you want to use Telemetry
       Pipeline.
  </Tab>

  <Tab title="Helm" id="install-helm">
    1. [Review the Telemetry Pipeline installation prerequisites](/ingest/pipeline/v2/install/prereqs).

    2. Ensure that [Helm](https://helm.sh/) is installed and has a valid connection
       to your target cluster.

    3. Ensure that the
       [`KUBECONFIG`](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
       environment variable in your cluster is set to a valid configuration file.

    4. Run the following command to add the Telemetry Pipeline chart repository:

       ```shell theme={null}
       helm repo add calyptia https://helm.calyptia.com/
       ```

    5. Run the following command to install the custom resource definitions (CRDs)
       that Telemetry Pipeline relies on:

       ```shell theme={null}
       helm install core-crd calyptia/core-crd
       ```

       To optionally set a custom registry for your Core Operator, add the flag
       `--set global.imageRegistry='NAME'` to this command. Replace *`NAME`* with
       the name of your custom registry.

    6. Run the following command to install Core Operator:

       ```shell theme={null}
       helm install core-operator calyptia/core-operator
       ```

    7. Repeat these steps for each Kubernetes cluster where you want to use Telemetry
       Pipeline.
  </Tab>
</Tabs>

## View installation logs

After you install a Core Operator in a Kubernetes cluster, use the
following kubectl command to view logs from the installation process:

```shell theme={null}
kubectl logs deploy/calyptia-core-controller-manager
```

## Next steps

After you've installed a Core Operator in your Linux environment, you can
[create a Core Instance](/ingest/pipeline/v2/install/create-instance) in that environment.
