> For the complete documentation index, see [llms.txt](https://platform9.com/kb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://platform9.com/kb/pmk/solutions/calico-node-pods-in-crashloopbackoff-typha.md).

# Calico Node Pods in CrashLoopBackOff: "Unable to get Typha service endpoints from Kubernetes"

## Problem

* The `calico-node` pod(s) are in `CrashLoopBackOff` state and/or constantly restarting.

{% tabs %}
{% tab title="Bash" %}

```bash
NAME                                              READY   STATUS             RESTARTS   AGE
calico-kube-controllers-f6b98779-qfmhh            1/1     Running            1          101d
calico-node-69nk4                                 0/1     CrashLoopBackOff   131        7h37m
calico-node-g7pz7                                 0/1     CrashLoopBackOff   131        7h37m
calico-node-mngnc                                 0/1     Running            130        7h37m
calico-node-p4ktd                                 0/1     CrashLoopBackOff   129        7h37m
calico-node-wlv9t                                 0/1     CrashLoopBackOff   130        7h37m
calico-node-zl5ng                                 0/1     CrashLoopBackOff   129        7h37m
calico-typha-95b7898f5-g559h                      1/1     Running            0          8h
calico-typha-95b7898f5-lmxbw                      1/1     Running            0          8h
calico-typha-95b7898f5-zmn2x                      1/1     Running            0          8h
```

{% endtab %}
{% endtabs %}

* The pod log (via `kubectl logs`) for the `calico-node` pod(s) shows the following error related to `calico-typha` .

{% tabs %}
{% tab title="Bash" %}

```bash
[ERROR][68] confd/discovery.go 126: Unable to get Typha service endpoints from Kubernetes. error=endpoints "calico-typha" not found
```

{% endtab %}
{% endtabs %}

* Similarly, the following error is recorded in the `calico-typha` pod(s).

{% tabs %}
{% tab title="Bash" %}

```bash
[ERROR][7] lookup.go 65: Failed to get Typha endpoint from Kubernetes error=endpoints "calico-typha" not found
[WARNING][7] rebalance.go 55: Failed to get number of Typhas error=<nil> numTyphas=0 thread="k8s-poll"
```

{% endtab %}
{% endtabs %}

* No `calico-typha` service (separate from the `DaemonSet` and `Deployment` objects) exists in the `kube-system` namespace.

## Environment

* Platform9 Managed Kubernetes – v5.5
* Calico

## Cause

The `calico-typha` service is missing from the `kube-system` namespace.

## Resolution

1. Create a file `calico-typha.yaml` with the following content.

{% tabs %}
{% tab title="Bash" %}

```bash
# Source: calico/templates/calico-typha.yaml
# This manifest creates a Service, which will be backed by Calico's Typha daemon.
# Typha sits in between Felix and the API server, reducing Calico's load on the API server.

apiVersion: v1
kind: Service
metadata:
  name: calico-typha
  namespace: kube-system
  labels:
    k8s-app: calico-typha
spec:
  ports:
    - port: 5473
      protocol: TCP
      targetPort: calico-typha
      name: calico-typha
  selector:
    k8s-app: calico-typha
```

{% endtab %}
{% endtabs %}

2. Apply the YAML to the affected cluster.

{% tabs %}
{% tab title="Bash" %}

```bash
kubectl apply -f calico-typha.yaml
```

{% endtab %}
{% endtabs %}

## Additional Information

* [Calico – Install Typha](https://projectcalico.docs.tigera.io/getting-started/kubernetes/hardway/install-typha)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://platform9.com/kb/pmk/solutions/calico-node-pods-in-crashloopbackoff-typha.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
