how to delete the grepped iptables

I am trying to delete all iptables created by calico in my k3s setup. I am using calico-script to delete but after running this script some cali- iptables I can see in iptables -S output, I want to delete them all

I can see iptables with cali- under iptables -S

 root@Ubuntu-18-VM:~# iptables -S  | grep -e 'cali-'
    cali-FORWARD
    cali-INPUT
    cali-OUTPUT
    cali-cidr-block
    cali-from-hep-forward
    cali-from-host-endpoint
    cali-from-wl-dispatch
    cali-from-wl-dispatch-5
    cali-fw-cali2847b154969
    cali-fw-cali4bb24809f90
    cali-fw-cali531f8f2e712
    cali-fw-cali5a82b3ff301
    cali-pri-_CVSZITRyIpEmH8AB6H
    cali-pri-_HayIXLB85hzHkIhWER
    cali-pri-_PTRGc0U-L5Kz7V6ERW
    cali-pri-_u2Tn2rSoAPffvE7JO6
    cali-pri-kns.kube-system
    cali-pro-_CVSZITRyIpEmH8AB6H
    cali-pro-_HayIXLB85hzHkIhWER
    cali-pro-_PTRGc0U-L5Kz7V6ERW
    cali-pro-_u2Tn2rSoAPffvE7JO6
    cali-pro-kns.kube-system
    cali-to-hep-forward

How can I delete these iptables after grepping so that in iptables -S all these doesn't come ?


Solution 1:

Deleting calico-Iptables:

Use calico-policy and add below lines at the end of script:

echo "Flush remaining calico iptables"
iptables-save | grep -i cali | iptables -F

echo "Delete remaining calico iptables"
iptables-save | grep -i cali | iptables -X

This will delete all calico iptables when you check with iptables -S

Note: Run this script only after uninstalling K3S otherwise calico will keep on creating the iptables.