Skip to content

Building Calico with Kubernetes

linuxonz edited this page Apr 29, 2025 · 49 revisions

Integrating Calico with Kubernetes

Calico enables networking and network policy in Kubernetes clusters across the cloud. The instructions provided you the steps to integrate Calico with Kubernetes on Linux on IBM Z for following distribution:

  • RHEL (8.8, 8.10, 9.2, 9.4. 9.5)
  • SLES (15 SP6)
  • Ubuntu (22.04, 24.04, 24.10)

General Notes:

  • When following the steps below please use a standard permission user unless otherwise specified.

  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.

  • Following build instructions were tested using Kubernetes version 1.31

1. Build Calico basic components

Instructions for building the basic Calico components, which includes calico/ctl , calico/node and calico/kube-controllers can be found here.

2. Install Calico in Kubernetes environment

Once you have all necessary components built on Z systems, you can

  • Configure and run your Kubernetes following here

  • Install Calico as per instructions; ensure tigera-opeartor.yaml and custom-resources.yaml have correct values reflecting the operational cluster:

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.3/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.3/manifests/custom-resources.yaml
  • Following pods are expected following a successful deployment:
NAMESPACE          NAME                                           READY   STATUS    RESTARTS   AGE
calico-apiserver   calico-apiserver-5d6d9cbbdf-br5sr              1/1     Running   0          50m
calico-apiserver   calico-apiserver-5d6d9cbbdf-jw4sb              1/1     Running   0          50m
calico-system      calico-kube-controllers-86b95bfcd6-cdr9n       1/1     Running   0          2m2s
calico-system      calico-node-6t6zp                              1/1     Running   0          60s
calico-system      calico-typha-68dfc6dcd9-9w5wk                  1/1     Running   0          2m2s
calico-system      csi-node-driver-fptl6                          2/2     Running   0          2m2s
kube-system        coredns-76f75df574-hz62d                       1/1     Running   0          50m
kube-system        coredns-76f75df574-qhf7b                       1/1     Running   0          50m
kube-system        etcd-c3879v1.fyre.ibm.com                      1/1     Running   0          49m
kube-system        kube-apiserver-c3879v1.fyre.ibm.com            1/1     Running   0          49m
kube-system        kube-controller-manager-c3879v1.fyre.ibm.com   1/1     Running   0          49m
kube-system        kube-proxy-qfh5z                               1/1     Running   0          49m
kube-system        kube-scheduler-c3879v1.fyre.ibm.com            1/1     Running   0          49m
tigera-operator    tigera-operator-56b74f76df-2v4g5               1/1     Running   0          49m

3. (Optional) Install Calico for policy and flannel (aka Canal) for networking

  • Ensure you have a Calico compatible Kubernetes cluster

  • Download and install flannel networking manifest for the Kubernetes API datastore

curl https://raw.githubusercontent.com/projectcalico/calico/v3.29.3/manifests/canal.yaml -O
kubectl apply -f canal.yaml
  • Following pods are expected upon successful deployment:
NAMESPACE     NAME                                                      READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-cc5755cd7-jz4pw                   1/1     Running   0          19s
kube-system   canal-dt75q                                               2/2     Running   0          19s
kube-system   coredns-7c65d6cfc9-9gwb5                                  1/1     Running   0          26s
kube-system   coredns-7c65d6cfc9-m762v                                  1/1     Running   0          26s
kube-system   etcd-calico-k8s-rh95-z1.fyre.ibm.com                      1/1     Running   0          30s
kube-system   kube-apiserver-calico-k8s-rh95-z1.fyre.ibm.com            1/1     Running   0          30s
kube-system   kube-controller-manager-calico-k8s-rh95-z1.fyre.ibm.com   1/1     Running   0          30s
kube-system   kube-proxy-pqgfg                                          1/1     Running   0          26s
kube-system   kube-scheduler-calico-k8s-rh95-z1.fyre.ibm.com            1/1     Running   0          32s

References:

Clone this wiki locally