1.背景介绍
在维护多个k8s 集群中我们经常会遇到 类似情况
- 查询k8s service 关联了哪些 deployments ?
- 查询k8s ingress 关联了哪些 servcie ?
- 查询service 和 deployments 哪些在运行着?
话不多说直接上命令 GoGoGo
2.操作命令
#1.查询 dev 环境所有svc 关联哪些deployments 对象名称(支持使用多个selector)
for svc in `kubectl get svc -n dev-02 |grep -v "NAME"|awk '{print $1}'`;do kubectl get svc $svc -n dev -o=jsonpath='{.metadata.name} {.spec.selector}';done
common-api map[app:common-api]
da-stare-svc map[app:da-stare]
http-friend-srv-svc map[app:http-friend-srv]
http-user-srv-svc map[app:http-user-srv]
http-api-cron map[app:cron-api]
http-api-dc map[app:dc-api]
http-api-live map[app:live-api]
http-api-order map[app:order-api]
http-api-sale map[app:sale-api]
http-api-user map[app:user-api]
http-srv-bid map[app:bid-srv]
http-srv-dc map[app:dc-srv]
http-srv-friend map[app:friend-srv]
#2.查询dev 环境所有ingress 关联哪些service
for ing in `kubectl get ingress -n dev-02 |grep -v "NAME"|awk '{print $1}'`;do kubectl get ingress $ing -n dev-02 -o=jsonpath='{.metadata.name} {.spec.rules[0].http.paths[0].backend.serviceName}' ;done