Building Calico with Kubernetes - linux-on-ibm-z/docs GitHub Wiki
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
andcustom-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
flannel (aka Canal) for networking
3. (Optional) Install Calico for policy and-
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