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.10, 9.6, 9.7, 9.8, 10.0, 10.1, 10.2)
- SLES 15 SP7
- Ubuntu (22.04, 24.04)
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.35
1. Build Calico basic components
Instructions for building the basic Calico components, which includes calico/node 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
- Import the locally built
calico/nodeimage into the containerd k8s.io namespace:docker save calico/node:latest-s390x | ctr -n k8s.io images import - - Install Calico as per instructions; ensure
tigera-operator.yamlandcustom-resources.yamlhave correct values reflecting the operational cluster:
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.32.1/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.32.1/manifests/custom-resources.yaml
- Following
podsare expected following a successful deployment:
NAMESPACE NAME READY STATUS RESTARTS AGE
calico-system calico-apiserver-c559b9cd8-j4xbr 1/1 Running 0 2m8s
calico-system calico-apiserver-c559b9cd8-xrpkh 1/1 Running 0 2m8s
calico-system calico-kube-controllers-6b7c66849b-25fp9 1/1 Running 0 2m8s
calico-system calico-node-vwpx4 1/1 Running 0 2m8s
calico-system calico-typha-7d45cff587-xzj8t 1/1 Running 0 2m8s
calico-system csi-node-driver-jk6f9 2/2 Running 0 2m8s
calico-system goldmane-646fd87bdd-9vw7t 1/1 Running 0 2m8s
calico-system whisker-cfc8868b8-l7qmq 1/2 ErrImagePull 0 112s
kube-system coredns-7d764666f9-bdzl8 1/1 Running 0 3m4s
kube-system coredns-7d764666f9-mqv89 1/1 Running 0 3m4s
kube-system etcd-c95592v1.fyre.ibm.com 1/1 Running 0 3m11s
kube-system kube-apiserver-c95592v1.fyre.ibm.com 1/1 Running 0 3m11s
kube-system kube-controller-manager-c95592v1.fyre.ibm.com 1/1 Running 0 3m11s
kube-system kube-proxy-6rp59 1/1 Running 0 3m5s
kube-system kube-scheduler-c95592v1.fyre.ibm.com 1/1 Running 0 3m11s
tigera-operator tigera-operator-7fc95779c7-8wb46 1/1 Running 0 2m21s
Note: Calico Whisker is in tech preview and s390x is not currently supported.
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.32.1/manifests/canal.yaml -O
kubectl apply -f canal.yaml
- Following
podsare expected upon successful deployment:
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-kube-controllers-687fc57cb8-v8h4n 1/1 Running 0 92s
kube-system canal-qlff9 2/2 Running 0 92s
kube-system coredns-7d764666f9-dsw66 1/1 Running 0 118s
kube-system coredns-7d764666f9-fqqrj 1/1 Running 0 118s
kube-system etcd-c95592v1.fyre.ibm.com 1/1 Running 1 2m5s
kube-system kube-apiserver-c95592v1.fyre.ibm.com 1/1 Running 1 2m5s
kube-system kube-controller-manager-c95592v1.fyre.ibm.com 1/1 Running 0 2m5s
kube-system kube-proxy-zmf7c 1/1 Running 0 118s
kube-system kube-scheduler-c95592v1.fyre.ibm.com 1/1 Running 1 2m5s