kubernetes创建的ingress规则不生效
解决方法一:
给创建ingress的yaml文件添加ingressClassName参数:
查看ingressclass
[root@k8s-master01 2-4]# kubectl get ingressclass
NAME CONTROLLER PARAMETERS AGE
nginx k8s.io/ingress-nginx <none> 22h
根据实际情况添加ingressClassName参数
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx
spec:
ingressClassName: nginx
rules:
- host: nginx.test.com
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: my-nginx
port:
number: 80
解决方法二:
设置默认的 IngressClass 。
集群中,我们可以设定一个默认的 Ingress Class,以便处理所有没有指定 Ingress Class 的 Ingress 资源。
在 IngressClass 资源上,我们可以通过将 ingressclass.kubernetes.io/is-default-class 注解的值设定为 true,来使没有设置 ingressClassName 的 Ingress 使用此默认的 IngressClass。
添加ingressclass.kubernetes.io/is-default-class: "true"参数在annotations下
[root@k8s-master01 2-4]# kubectl edit ingressclass nginx
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"networking.k8s.io/v1","kind":"IngressClass","metadata":{"annotations":{},"labels":{"app.kubernetes.io/component":"controller","app.kubernetes.io/instance":"ingress-nginx","app.kubernetes.io/name":"ingress-nginx","app.kubernetes.io/part-of":"ingress-nginx","app.kubernetes.io/version":"1.8.1"},"name":"nginx"},"spec":{"controller":"k8s.io/ingress-nginx"}}
creationTimestamp: "2024-02-19T08:52:53Z"
generation: 1
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.8.1
name: nginx
resourceVersion: "263096"
uid: f636091a-c014-44b5-8c99-54a40d68f228
spec:
controller: k8s.io/ingress-nginx
标签:ingress,kubernetes,app,nginx,io,生效,k8s
From: https://www.cnblogs.com/wytblog/p/18023239