K8S资源查找技巧
【摘要】 本文汇总K8S里资源的查找技巧,包括列出节点名,列出Pod里的容器ID,由容器ID找容器进程ID,由容器进程ID找出其所在网络命名空间的iptables规则。
查找POD所在节点名字:
kubectl get pod calculator-v1-6d6d7cbd-4nvzw -o json|jq -r .spec.nodeName #=> mnode02
其中用到一个Json工具,jq,可以这么安装:
apt-get install jq
列出POD里的容器ID:
kubectl get pod calculator-v1-6d6d7cbd-4nvzw -o json | \ jq -r .status.containerStatuses[].containerID #=> docker://e21c3ef31f81e99d63e5650154e723af1bf5065e12316a291e5439e02d8f61e7 docker://ef52e1c3a09c5a6a470c7c95f93d5c1550042481d2e251b901ab4550b4dc4958
列出某个容器的进程ID:
登录mnode02 docker inspect e21c3ef3 --format '{{.State.Pid}}' #=> 8649
列出此容器所在网络命名空间的iptables规则:
nsenter -t 8649 -n iptables -t nat -S #=> -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -N ISTIO_INBOUND -N ISTIO_IN_REDIRECT -N ISTIO_OUTPUT -N ISTIO_REDIRECT -A PREROUTING -p tcp -j ISTIO_INBOUND -A OUTPUT -p tcp -j ISTIO_OUTPUT -A ISTIO_INBOUND -p tcp -m tcp --dport 22 -j RETURN -A ISTIO_INBOUND -p tcp -m tcp --dport 15020 -j RETURN -A ISTIO_INBOUND -p tcp -j ISTIO_IN_REDIRECT -A ISTIO_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006 -A ISTIO_OUTPUT -s 127.0.0.6/32 -o lo -j RETURN -A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -j ISTIO_IN_REDIRECT -A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN -A ISTIO_OUTPUT -m owner --gid-owner 1337 -j RETURN -A ISTIO_OUTPUT -d 127.0.0.1/32 -j RETURN -A ISTIO_OUTPUT -j ISTIO_REDIRECT -A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001
这其实是Istio边车注入的iptables 规则:)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)