背景
探究iptables在istio中如何做流量劫持
操作
- 部署bookinfo的istio官方demo
- 登录productpage pod所在node
$ kubectl get pod -l app=productpage -owide
- 登录productpage pod中的istio-proxy容器
# docker ps |grep productpage
# docker exec -it {istio-proxy-dockerId} /bin/bash
- istio-proxy容器中执行
$ sudo -i
# iptables -L -v
异常
# iptables v1.6.0: can't initialize iptables table `filter': Permission denied (you must be root)
原因
iptables必须工作在容器的privileged模式下
解决办法
登录istio-proxy容器登录时加上--privileged参数
# docker exec --it --privileged {istio-proxy-dockerid} /bin/bash