K8S 集群中部署了多套 ingress-nginx-controller ,并且各自都有多个副本。创建了 ingress 资源后想要请求验证时,不知道绑定的 ingressclass 是对应的哪个 ingress-nginx-controller 以及对应的 pod 地址是啥了。这里记录下查找方法。
需求
假设我们这里要查找名为 nginx-wan 的 ingressclass 对应请求的 pod 地址。
查看 ingress 资源
因为 ingress 是集群级别的资源,所以要加上 -A 列出所有命名空间下资源。
[root@imzcy ~]# kubectl get ingress -A
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
default ins-lan nginx-lan lan.local.cn,lan2.local.cn 192.168.3.9 80 101d
default ins01 nginx zcy.local.cn 192.168.3.5 80 105d
test ing-jd-jdcourierapi nginx-wan jdcourierapp-test.imzcy.cn 192.168.3.15 80 84d
test ing-policy nginx-wan jdcourierapp-test.imzcy.cn 192.168.3.15 80 77d
[root@imzcy ~]#
列出所有的 ingressclass 资源
ingressclass 属于集群级别资源,所以无需指定命名空间。
[root@imzcy ~]# kubectl get ingressclass
NAME CONTROLLER PARAMETERS AGE
nginx k8s.io/ingress-nginx <none> 105d
nginx-lan k8s.io/lan-ingress-nginx <none> 101d
nginx-wan k8s.io/wan-ingress-nginx <none> 84d
qcloud cloud.tencent.com/ingress-controller <none> 190d
[root@imzcy ~]#
查看 ingressclass 的详细信息
[root@imzcy ~]# kubectl describe ingressclass nginx-wan
Name: nginx-wan
Labels: app.kubernetes.io/component=controller
app.kubernetes.io/instance=wan-ingress-nginx
app.kubernetes.io/name=wan-ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
app.kubernetes.io/version=1.3.1
Annotations: <none>
Controller: k8s.io/wan-ingress-nginx
Events: <none>
[root@imzcy ~]#
基于 label 查找 pod
基于下面的命令,加上 -o wide 即可查看pod的IP了。
[root@imzcy ~]# kubectl get pod --all-namespaces -l app.kubernetes.io/name=wan-ingress-nginx
NAMESPACE NAME READY STATUS RESTARTS AGE
ingress-nginx-wan ingress-nginx-controller-ddg5q 1/1 Running 0 80d
ingress-nginx-wan wan-ingress-nginx-admission-create--1-t2dnt 0/1 Completed 0 84d
ingress-nginx-wan wan-ingress-nginx-admission-patch--1-6ddrl 0/1 Completed 0 84d
[root@imzcy ~]#
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。