容器中执行iptables:Permission denied

背景

探究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

你可能感兴趣的:(容器中执行iptables:Permission denied)