如何解析特定K8s入口正在服务的K8s服务的域/主机名?
在名称空间foobar
中,我想知道入口提供的服务的连接位置。
kubectl --namespace foobar get ingress
返回可用的,
kubectl --namespace foobar describe ingress/bazbar
返回详细信息;我可以通过名称(例如barbaz
(来匹配我的目标
但是,我如何推断主机(可能还有路径(,然后在浏览器中使用xdg-open
启动它?
下面的内容应该可以解决您对每个命名空间获取域的查询。
下面的查询";获取入口";从所有命名空间中检索域的详细信息,并使用awk,它打印入口中的第一列(即命名空间(和第四列(即域(,您可以进一步对其进行grep以筛选特定的命名空间。
#To get all namespace and domain
kubectl get ingress --all-namespaces|awk '{print $1 " | " $4 }'
foobar | foobar.example.com
barfoo | barfoo.example.com
#To filter on namespace from all namespace
kubectl get ingress --all-namespaces|awk '{print $1 " | " $4 }'|grep -i foobar
foobar | foobar.example.com
#To get one namespace
kubectl get ingress -n <namespace-name>|awk '{print $1 " | " $4 }'
foobar | foobar.example.com