使用kubeoperator中提供的ingress-nginx作为默认的IngressClass分析
1.查看当前已安装的Ingress-NGINX 控制器
# kubectl get pod -n kube-system
2.查看任意一个pod的详情,获取对应的部署服务
# kubectl describe pod ingress-nginx-controller-df8sw -n kube-system
Controlled By: DaemonSet/ingress-nginx-controller
3.查看上一步获取到的服务
# kubectl describe daemonset ingress-nginx-controlle -n kube-system
注意有个参数:--watch-ingress-without-class=true
4.官方关于Ingress的有关说明
网址:https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/
如果 ingressClassName 被省略,那么你应该定义一个默认 Ingress 类。
有一些 Ingress 控制器不需要定义默认的 IngressClass。比如:Ingress-NGINX 控制器可以通过参数 --watch-ingress-without-class
来配置。
5.总结
使用kubeoperator中提供的ingress-nginx因为有这个参数:--watch-ingress-without-class
,因此其安装后就是默认的Ingress 类。因此在kuboard界面中配置ingress规则的时候不用填写IngressClass的名称,直接为空,表示使用默认的
网址:https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress-controllers/
如果你不为 Ingress 指定 IngressClass,并且你的集群中只有一个 IngressClass 被标记为默认,那么 Kubernetes 会将此集群的默认 IngressClass 应用到 Ingress 上。