Problem scenario
When writing the configuration file of the ingress controller entry controller of kubernetes
kubectl apply -f ingress-srv.yaml
Three Errors:
-
- Error 1:
no matches for kind “Ingress” in version “networking.k8s.io/v1beta1”
- Error 2: pathType is wrong after I modified APIVersion to v1.
Error 3: Error from server (InternalError): error when creating “ingress-srv.yaml”: Internal error occurred: failed calling webhook “validate.nginx.ingress.kubernetes.io”: Post “https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ingresses?timeout=10s”: dial tcp 10.102.20.133:443: connect: connection refused
Solution 1:
no matches for kind “Ingress” in version “networking.k8s.io/v1beta1”
Modify
apiVersion: networking.k8s.io/v1beta1
to
apiVersion: networking.k8s.io/v1
Solution 2:
pathType is wrong after I modified APIVersion to v1.
It is the version issue. here is the mofied codes below:
Original codes (report error):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: posts.com
http:
paths:
- path: /posts/create
backend:
serviceName: posts-clusterip-srv
servicePort: 4000
- path: /posts
backend:
serviceName: query-srv
servicePort: 4002
- path: /posts/?(.*)/comments
backend:
serviceName: comments-srv
servicePort: 4001
- path: /?(.*)
backend:
serviceName: client-srv
servicePort: 3000
Here is the modified code:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: posts.com
http:
paths:
- pathType: Prefix
path: "/posts/create"
backend:
service:
name: posts-clusterip-srv
port:
number: 4000
- pathType: Prefix
path: "/posts"
backend:
service:
name: query-srv
port:
number: 4002
- pathType: Prefix
path: "/posts/?(.*)/comments"
backend:
service:
name: comments-srv
port:
number: 4001
- pathType: Prefix
path: "/?(.*)"
backend:
service:
name: client-srv
port:
number: 3000
Solution 3:
1. First kubectl get ValidatingWebhookConfiguration
2. Then kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
3. Delete that admission, and then it’s normal
Read More:
- [Solved] Error from server (InternalError): error when creating “ingress.yaml”: Internal error occurred: fail
- error: error validating “ingress-tomcat6.yaml“: error validating data: [ValidationError(Ingress.spec
- k8s kubernetes ingress error: endpoints “default-http-backend“ not found
- K8s ❉ Error: cannot be handled as a** [How to Solve]
- K8S error validating data: ValidationError(Deployment.spec): missing required field selector
- [Solved] k8s error retrieving resource lock default/fuseim.pri-ifs: Unauthorized
- An error occurred: Sorry,Faithfully yours, nginx Error
- [Solved] Playbook Start Nginx Error: Unable to start service nginx: Job for nginx.service fd with error code
- Kubernetes reported an error: matchexpressions: [] v1. Labelselector requirement (NIL)}: field is immutable
- [Solved] MAC Nginx Error: ginx.pid“ failed (2: No such file or directory)
- Nacos Error: server is DOWN now, please try again later! [How to Solve]
- Etcd Error: mvcc: database space exceeded
- kubernetes Error from server (AlreadyExists): error when creating “kubernetes-dashboard.yaml”: serv
- Error reporting and resolution of kubernetes installation
- Gitlab nginx wont start to work. [down: nginx: 1s, normally up, want up; run: log: (pid 20128)xxx]
- [Solved] Ubuntu 20.04 LTS Install k8s Error: The connection to the server localhost:8080 was refused
- How to Fix NSS error 12190 in curl accessing to HTTPS
- [Solved] jumpserver nginx Error: Connect websocket server error
- [Solved] “Failed to run kubelet“ err=“failed to run Kubelet: misconfiguration: kubelet cgroup driver: \“cgrou
- JanusGraph Error: Unknown external index backend [How to Solve]