K8S资源查找技巧

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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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