7cfddef4f0ae17d1fafb7ff1a36417a8d5f4df10
[iec.git] / src / foundation / scripts / cni / calico / k8s-new / restore_bpf.sh
1 #!/bin/bash
2
3 set -x
4
5 WORKDIR=$(pwd)
6 TMP_DIR=$(mktemp -d)
7 CALICO_VERSION=${1:-3.23.1}
8
9 MARCH=$(uname -m)
10
11 if [ $MARCH == "aarch64" ]; then ARCH=arm64;
12 elif [ $MARCH == "x86_64" ]; then ARCH=amd64;
13 else ARCH="unknown";
14 fi
15
16 echo ARCH=$ARCH
17
18 echo "Restore kube-proxy:"
19 kubectl patch ds -n kube-system kube-proxy --type merge -p '{"spec":{"template":{"spec":{"nodeSelector":{"non-calico": null}}}}}'
20
21 if [ ! -f /usr/local/bin/calicoctl ]; then
22    curl -L https://github.com/projectcalico/calico/releases/download/v${CALICO_VERSION}/calicoctl-linux-${ARCH} -o ${WORKDIR}/calicoctl;
23    chmod +x ${WORKDIR}/calicoctl;
24    sudo cp ${WORKDIR}/calicoctl /usr/local/bin;
25 fi
26
27 echo "Restore eBPF mode:"
28 calicoctl patch felixconfiguration default --patch='{"spec": {"bpfEnabled": false}}'
29
30 echo "Disable Direct Server Return(DSR) mode: optional"
31 calicoctl patch felixconfiguration default --patch='{"spec": {"bpfExternalServiceMode": "Tunnel"}}'
32