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

# Install the CXDOT Collector in a Kubernetes cluster

> Install the CXDOT Collector in a Kubernetes cluster.

export const MyTenantList = () => <>
    <em><code>TENANT</code></em>: The name of your Cortex XCOR tenant.
  </>;

Install the CXDOT Collector in your Kubernetes cluster to collect telemetry data
and send that telemetry data to Palo Alto Networks Cortex XCOR.

## Supported environments and distributions

The CXDOT Collector supports Kubernetes clusters running in a Linux environment
with either x86\_64 (AMD64) or ARM64 architecture.

The following Kubernetes distributions are supported:

* Upstream Kubernetes (self-managed or on-premises)
* Amazon EKS
* Google GKE
* Azure AKS

## Prerequisites

Before installing the CXDOT Collector in a Kubernetes cluster, you must meet
these prerequisites:

* Your Kubernetes cluster must use Kubernetes version 1.31 or later.
* You must have Helm version 3.8 or later installed.
* You must have an API token from a
  [restricted service account](/administer/accounts-teams/service-accounts#create-a-restricted-service-account)
  with a write-only scope.

## Install

To install the CXDOT Collector in a Kubernetes cluster, follow these steps.

1. Run the following kubectl command to create the `cxdot` namespace:

   ```shell theme={null}
   kubectl create namespace cxdot
   ```

2. Set the name of your Cortex XCOR tenant by adding the following keys to your Helm
   values file:

   ```yaml title="values.yaml" theme={null}
   config:
     orgName: TENANT
     clusterName: CLUSTER
   ```

   Replace the following values:

   * <MyTenantList />
   * *`CLUSTER`*: The name of the cluster where you're installing the CXDOT
     Collector. This value gets added to your telemetry data as the
     `k8s.cluster.name` resource attribute.

3. Set your API token by creating a
   [Kubernetes Secret](https://kubernetes.io/docs/concepts/configuration/secret/)
   named `cxdot-api-token` with the following contents:

   ```yaml theme={null}
   apiVersion: v1
   kind: Secret
   metadata:
     name: cxdot-api-token
     namespace: cxdot
   type: Opaque
   data:
     api-token: "TOKEN"
   ```

   Replace *`TOKEN`* with your base64-encoded Cortex XCOR API token.

   <Note>
     Alternatively, you can reference an existing Kubernetes Secret by supplying
     it to Helm as the value of `config.apiToken`. If you use this method,
     don't encode the value of your API token.
   </Note>

4. Run the following Helm command to install the CXDOT Collector in your
   Kubernetes cluster:

   ```shell theme={null}
   helm install cxdot-collector \
     oci://us-docker.pkg.dev/chronosphereio/helm/cxdot-collector \
     --version "VERSION" \
     --namespace cxdot \
     -f values.yaml
   ```

   Replace *`VERSION`* with the version of the CXDOT Collector to use (for
   example, `1.4.0+otel-0.157.0`).

5. Run the following `kubectl` command to verify that the CXDOT Collector was
   installed successfully:

   ```shell theme={null}
   kubectl -n cxdot get ds,deploy
   ```

   Confirm that the output returns a list of resources that includes
   `ds/cxdot-node-collector`, `deploy/cxdot-api-server`, and
   `deploy/cxdot-cluster-collector`. These are
   [components](/ingest/xcor/collector/install/kubernetes/architecture) of the
   CXDOT Collector.

After you install the CXDOT Collector, the Collector uses the
[Kubernetes](/ingest/xcor/integrations/collector/kubernetes)
integration to collect metrics from your Kubernetes cluster. Configure this
integration to customize or disable its behavior.

## Upgrade

To upgrade the CXDOT Collector to a new version, or after updating configuration
settings in your Helm values file, run the following command:

```shell theme={null}
helm upgrade cxdot-collector \
  oci://us-docker.pkg.dev/chronosphereio/helm/cxdot-collector \
  --version "VERSION" \
  --namespace cxdot \
  -f values.yaml
```

Replace *`VERSION`* with the version of the CXDOT Collector to use (for example,
`1.4.0+otel-0.157.0`).

## Uninstall

To uninstall the CXDOT Collector, follow these steps.

1. Run the following Helm command to uninstall the components of the CXDOT
   Collector:

   ```shell theme={null}
   helm uninstall cxdot-collector --namespace cxdot
   ```

2. Run the following kubectl command to delete the namespace associated with
   the CXDOT Collector:

   ```shell theme={null}
   kubectl delete namespace cxdot
   ```


## Related topics

- [CXDOT Collector](/ingest/xcor/collector.md)
- [Kubernetes architecture of the CXDOT Collector](/ingest/xcor/collector/install/kubernetes/architecture.md)
- [Discover Kubernetes scrape targets with the CXDOT Collector](/ingest/xcor/collector/discover/kubernetes.md)
- [Install the CXDOT Collector on Windows](/ingest/xcor/collector/install/windows.md)
- [Install the CXDOT Collector on Linux](/ingest/xcor/collector/install/linux.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.