Kubectl is not showing the Component Status

11/4/2019

Trying to Install Kubernetes 1.16.2 from the binaries and i see this issue when i try to check the component status.

The Response object shows all are Healthy but the table below shows unknown.

root@instance:/opt/configs# kubectl get cs -v=8
I1104 05:54:48.554768   25209 round_trippers.go:420] GET http://localhost:8080/api/v1/componentstatuses?limit=500
I1104 05:54:48.555186   25209 round_trippers.go:427] Request Headers:
I1104 05:54:48.555453   25209 round_trippers.go:431]     Accept: application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json
I1104 05:54:48.555735   25209 round_trippers.go:431]     User-Agent: kubectl/v1.16.2 (linux/amd64) kubernetes/c97fe50
I1104 05:54:48.567372   25209 round_trippers.go:446] Response Status: 200 OK in 11 milliseconds
I1104 05:54:48.567388   25209 round_trippers.go:449] Response Headers:
I1104 05:54:48.567392   25209 round_trippers.go:452]     Cache-Control: no-cache, private
I1104 05:54:48.567395   25209 round_trippers.go:452]     Content-Type: application/json
I1104 05:54:48.567397   25209 round_trippers.go:452]     Date: Mon, 04 Nov 2019 05:54:48 GMT
I1104 05:54:48.567400   25209 round_trippers.go:452]     Content-Length: 661
I1104 05:54:48.567442   25209 request.go:968] Response Body: {"kind":"ComponentStatusList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/componentstatuses"},"items":[{"metadata":{"name":"etcd-0","selfLink":"/api/v1/componentstatuses/etcd-0","creationTimestamp":null},"conditions":[{"type":"Healthy","status":"True","message":"{\"health\":\"true\"}"}]},{"metadata":{"name":"controller-manager","selfLink":"/api/v1/componentstatuses/controller-manager","creationTimestamp":null},"conditions":[{"type":"Healthy","status":"True","message":"ok"}]},{"metadata":{"name":"scheduler","selfLink":"/api/v1/componentstatuses/scheduler","creationTimestamp":null},"conditions":[{"type":"Healthy","status":"True","message":"ok"}]}]}
I1104 05:54:48.567841   25209 table_printer.go:44] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object into a v1beta1.Table
I1104 05:54:48.567879   25209 table_printer.go:44] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object into a v1beta1.Table
I1104 05:54:48.567888   25209 table_printer.go:44] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object into a v1beta1.Table
NAME                 AGE
etcd-0               <unknown>
controller-manager   <unknown>
scheduler            <unknown>
-- kgrvamsi
kubectl
kubernetes

2 Answers

12/12/2019

Check your Client & Server versions. If they do not match you'll have the issue.

kubectl version --short
Client Version: v1.13.5
Server Version: v1.13.5

$ kubectl get cs

NAME                 STATUS    MESSAGE              ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-2               Healthy   {"health": "true"}
etcd-0               Healthy   {"health": "true"}
etcd-1               Healthy   {"health": "true"}

AND

$ kubectl version --short
Client Version: v1.16.0
Server Version: v1.13.5

$ kubectl get cs
NAME                 AGE
controller-manager   <unknown>
scheduler            <unknown>
etcd-2               <unknown>
etcd-0               <unknown>
etcd-1               <unknown>

By the way, it has been resolved in v1.17.0

-- PaulLiss
Source: StackOverflow

11/4/2019

There appears to be an issue with table converter for component status specifically with k8s version 1.16.2 Already there is a PR raised to address this issue. Follow and track the link

--> https://github.com/kubernetes/kubernetes/issues/83024

-- P Ekambaram
Source: StackOverflow