查看指定 ingress 资源访问时应该请求哪个controller对应的pod地址

- 云计算

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 ~]#