skip to Main Content

Now I’m using WSL 2 and Docker Desktop on Windows 10.

I created an YAML script to create an ingress for my microservices like below.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-srv
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
    - host: posts.com
      http:
        paths:
          - path: /posts
            pathType: Prefix
            backend:
              service:
                name: posts-clusterip-srv
                port:
                  number: 4000

And I installed ingress-nginx by following this installation guide

I ran this command in the guide.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml

But when I ran kubectl get pods --namespace=ingress-nginx, ingress-nginx-controller shows ImageInspectError
ImageInspectError

And when I ran the command kubectl apply -f ingress-srv.yaml, it showed an error message.
Ingress error message

Can anyone please let me know what the issue is?

I removed the namespace ingress-nginx using this command kubectl delete all --all -n ingress-nginx and ran the deploy script again.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml

But the issue still happened.

2

Answers


  1. Chosen as BEST ANSWER

    It was because of the corrupted filesystem.

    When I ran the ingress-nginx deployment command, there was a docker-desktop crash because of the lack of drive storage size.

    So I removed all corrupted, unused or dangling docker images.

    docker system prune

    Also I deleted ingress-nginx and reinstalled.

    kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml

    After that, it worked well.

    kubectl get pods --namespace=ingress-nginx

    NAME                                        READY   STATUS      RESTARTS   AGE
    ingress-nginx-admission-create-tgkfx        0/1     Completed   0          74m
    ingress-nginx-admission-patch-28l7q         0/1     Completed   3          74m
    ingress-nginx-controller-7844b9db77-4dfvb   1/1     Running     0          74m
    

  2. There is an issue deploying ingress-nginx controller. You need to first fix issues there before deploying the ingress. Because, only the nginx controller knows how to handle the ingress resources.

    Since there is no much info about the controller deployment failure, you better add more details about the error. You can describe the controller pod and share its event and status to look into this further.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search