Kubectl desribe returns 404 for Ingresses

7/10/2019

I reinstalled my system today and since than i can not access my Ingresses anymore with kubectl describe, get works fine and returns the expected Ingresses.

kubectl describe ingresses
Error from server (NotFound): the server could not find the requested resource

This is the response i get if i run describe with -v 8

GET host:443/apis/networking.k8s.io/v1beta1/namespaces/default/ingresses/ingress-rule
Request Headers:
    Authorization: Bearer TOKEN
    Accept: application/json, */*
    User-Agent: kubectl/v1.15.0 (linux/amd64) kubernetes/e8462b5
Response Status: 404 Not Found in 14 milliseconds
Response Headers:
    Content-Type: application/json
    Content-Length: 174
    Date: Wed, 10 Jul 2019 12:30:05 GMT
Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"the server could not find the requested resource","reason":"NotFound","details":{},"code":404}

This is the kubectl version result

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.7", GitCommit:"6f482974b76db3f1e0f5d24605a9d1d38fad9a2b", GitTreeState:"clean", BuildDate:"2019-03-25T02:41:57Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}
-- joachim
kubectl
kubernetes
kubernetes-ingress

2 Answers

7/10/2019

You have problem with different version of kubectl client and server. you need to downgrade your kubectl client to the 1.12

In k8s v.15 ingress is part of the group networking.k8s.io before it was in the "extensions/v1beta1" group

Ingress resources will no longer be served from extensions/v1beta1 in v1.19. Migrate use to the networking.k8s.io/v1beta1 API, available since v1.14. Existing persisted data can be retrieved via the networking.k8s.io/v1beta1 API.k8s CHANGELOG-1.15.md

-- Suresh Vishnoi
Source: StackOverflow

7/10/2019

Try to run

kubectl get ingress

If you have ingress defined in namespace other than default use below:

kubectl get ingress -n <NSNAME>

once you have list of ingress resources, you can describe using:

kubectl describe ingress <IngressName> -n <Namespace>
-- user2636655
Source: StackOverflow