kubectl get endpoints -o jsonpath="{range .items[*]}{.metadata.name},{.subsets[*].addresses[*].ip}{'\n'}{end}"
巴什脚本
#!/usr/bin/env bash
for service in `kubectl get endpoints -o jsonpath="{range .items[*]}{.metadata.name},{.subsets[*].addresses[*].ip}{'\n'}{end}"`; do
echo $service | awk -F, {'print $1'}
for endpoint in $(echo $services | awk -F, {'print $2'}); do
echo $endpoint
done
done
2条答案
按热度按时间lmvvr0a81#
您可以使用以下命令:
kubectl describe endpoints <endpoint name>
例如,
kubectl get endpoints -o wide
的输出:和
kubectl describe endpoints traefik-dashboard
的输出:如您所见,它列出了端点中的所有IP地址。
wj8zmpe12#
一个有趣的方法是输出json并提取相关字段。如果你想在之后分析输出,这是很有用的。如果你有多个名称空间,你可能想添加名称空间。
单一命令:
巴什脚本