---
title: "Calico the hard way"
description: "Calico the hard way — install every Calico Open Source component manually to understand how the pieces fit together end to end."
product: "Calico Open Source"
version: "3.32 (latest)"
section: "Installing and upgrading"
canonical_url: "https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/"
---

# Calico the hard way

## [📄️Calico the hard way](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/overview.md)

[Step-by-step tutorial intro for Calico the hard way — the cluster you build with Calico Open Source, the components installed by hand, and prerequisites.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/overview.md)

## [📄️Stand up Kubernetes](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/standing-up-kubernetes.md)

[Calico the hard way — stand up a minimal Kubernetes cluster ready to receive a manual Calico Open Source installation.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/standing-up-kubernetes.md)

## [📄️The Calico datastore](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/the-calico-datastore.md)

[Calico the hard way — choose between the Kubernetes API datastore and etcd for the Calico Open Source operational and configuration store.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/the-calico-datastore.md)

## [📄️Configure IP pools](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/configure-ip-pools.md)

[Calico the hard way — define IP pools that govern which address ranges Calico Open Source assigns to pods and services.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/configure-ip-pools.md)

## [📄️Install CNI plugin](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-cni-plugin.md)

[Calico the hard way — install the Calico Open Source CNI plugin on each node and wire it into kubelet.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-cni-plugin.md)

## [📄️Install Typha](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-typha.md)

[Calico the hard way — install Typha to fan out datastore reads so Calico Open Source can scale to large clusters.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-typha.md)

## [📄️Install calico/node](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-node.md)

[Calico the hard way — deploy calico/node as a DaemonSet so the Calico Open Source agent runs on every cluster node.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/install-node.md)

## [📄️Configure BGP peering](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/configure-bgp-peering.md)

[Calico the hard way — configure BGP peering between Calico Open Source nodes and review the available peering topologies.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/configure-bgp-peering.md)

## [📄️Test networking](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/test-networking.md)

[Calico the hard way — verify pod-to-pod connectivity and routing on a cluster after the manual Calico Open Source build-out.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/test-networking.md)

## [📄️Test network policy](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/test-network-policy.md)

[Calico the hard way — verify that Calico Open Source network policy enforcement is working after the manual install.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/test-network-policy.md)

## [📄️End user RBAC](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/end-user-rbac.md)

[Calico the hard way — RBAC roles and access controls that govern who can edit Calico Open Source resources in a production cluster.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/end-user-rbac.md)

## [📄️Istio integration](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/istio-integration.md)

[Calico the hard way — extend Calico Open Source policy enforcement into Istio service-mesh sidecars for layer-7 traffic.](https://docs.tigera.io/calico/latest/getting-started/kubernetes/hardway/istio-integration.md)
