---
title: "Schedule Typha for scaling to well-known nodes"
description: "Configure the TCP port used by Typha in a Calico Open Source cluster to reduce datastore load on large clusters."
product: "Calico Open Source"
version: "3.32 (latest)"
section: "Network policy"
canonical_url: "https://docs.tigera.io/calico/latest/network-policy/comms/reduce-nodes"
---

# Schedule Typha for scaling to well-known nodes

## Big picture

Schedule Typha to well-known nodes.

## Value

By scheduling Typha to well-known nodes, you can reduce the number of nodes which expose Typha's listen port.

## Concepts

### Typha

Typha is a Calico component which improves scalability and reduces the impact that large clusters may have on the Kubernetes API. Typha agents must accept connections from other agents on a fixed port.

As part of the Calico bootstrap infrastructure, Typha must be available before pod networking begins and uses host networking instead. It opens a port on the node it is scheduled on. By default, it can get scheduled to any node and opens TCP 5473.

## How to

### Tell if you have installed Typha

<!-- tabs -->

**Tab: Operator**

Operator based installations always include Typha.

**Tab: Manifest**

Check if the `calico-typha` deployment exists in the `kube-system` namespace.

```text
kubectl get deployment -n kube-system calico-typha
```

<!-- /tabs -->

### Schedule Typha to well-known nodes

<!-- tabs -->

**Tab: Operator**

You can use the Installation API to configure a node affinity for Typha pods. The operator supports both `preferredDuringSchedulingIgnoredDuringExecution` and `requiredDuringSchedulingIgnoredDuringExecution` options.

For example, to require the scheduler to place Typha on nodes with the label "typha=allowed":

```yaml
kind: Installation
apiVersion: operator.tigera.io/v1
metadata:
  name: default
spec:
  typhaAffinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - matchExpressions:
     	- key: typha
          operator: In
          values:
          - allowed
```

**Tab: Manifest**

See [scheduling Typha to well-known nodes](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/).

<!-- /tabs -->
