K8S资源查找技巧

举报
nanjunjie 发表于 2020/02/24 13:10:20 2020/02/24
【摘要】 本文汇总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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。