容器中执行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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容