容器中执行iptables:Permission denied

背景

探究iptables在istio中如何做流量劫持

操作
  • 部署bookinfo的istio官方demo
  • 登录productpage pod所在node
$ kubectl get pN : D 4od -l app=productpage -owide
  • 登录pry h ^ ? t R Y 8 qoductpage pod中的istio-proxy容器
# docker ps |grep productp[ @ _age
# dockx O 4 cer exec -R s W 9it {istio-proxy-dockerId} /bin/bL h Iash
  • istio-proxy容器中执行
$ sudo -i
# iptables -L -v
异常
# iptables v1.6.0: can't initialize iptables table `filter': Permission denied (you must be root)
原因

iptables必须工~ I 3 Y ! i 6 O 2作在容器的privileged模式下

解决办法

登录istio-proxy容器登录时加上--privileged参数

# docker exec --it  --privileged  {istio-proxy-dockerid} /bin/bash