kubernetes - 如何在kubernetes中列出服务背后流量的所有Pod的名称

标签 kubernetes

我想列出所有实际上在kubernetes服务背后服务流量的Pod的名称。我的问题是如何通过执行单个kubectl命令来实现这一点。

最佳答案

有两种方法可以列出服务背后的 pod 。

比较简单的方法,但是有两个命令

通过运行以下命令找到选择器

kubectl get services -o=wide

输出:
NAME                  TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE   SELECTOR
hello-world-service   ClusterIP   172.21.xxx.xx   <none>        80/TCP    13m   run=nginx

将选择器传递给下面的命令
kubectl get pods --selector=run=nginx -o=name

要查看不含pod/的确切 pods 名称
kubectl get pods --selector=run=nginx  --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

在单个命令中,但使用服务的端点信息hello-world-service
kubectl get endpoints hello-world-service -o=jsonpath='{.subsets[*].addresses[*].ip}' | tr ' ' '\n' | kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

关于kubernetes - 如何在kubernetes中列出服务背后流量的所有Pod的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60221012/

相关文章:

kubernetes - 有没有办法在Log4Net.config中使用Kubernetes容器环境变量?

azure - 缩放 Azure nginx 入口 Controller

docker - RabbitMQ pod Web用户名和密码?

kubernetes - 有没有办法将 minikube 安装更改为另一个硬盘驱动器

nginx - Q : How to rewrite single path among many with the ingress-nginx

kubernetes - kube-system/ingress Controller pod 的多个副本?

postgresql - 无法连接到部署到 Kubernetes 的 Postgres

kubernetes - GKE 入口;将重写应用于特定服务

kubernetes - Kubernetes配置文件从主机到容器?

kubernetes - 从 GitLab CI 作业向 Kubernetes Pod 发送信号