Dashboard: Service of type ExternalName shows as pending indefinitely

Created on 8 Jan 2020  路  5Comments  路  Source: kubernetes/dashboard

Environment
Installation method: Applied this yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
Kubernetes version: 1.17.0
Dashboard version: 2.0.0-beta8
Operating system: CentOS 7
Node.js version ('node --version' output):
Go version ('go version' output):
Steps to reproduce

Create file pending-externalname.yaml with this content

apiVersion: v1
kind: Service
metadata:
  name: externalname-stays-pending
spec:
  externalName: niels.basjes.nl
  type: ExternalName
  ports:
    - protocol: TCP
      port: 443
      targetPort: 443
$ kubectl apply -f  pending-externalname.yaml 
service/externalname-stays-pending created
$ kubectl get svc externalname-stays-pending -o wide
NAME                         TYPE           CLUSTER-IP   EXTERNAL-IP       PORT(S)   AGE   SELECTOR
externalname-stays-pending   ExternalName   <none>       niels.basjes.nl   443/TCP   35s   <none>
Observed result

image

The icon on the left shows as 'pending' (i.e. the grey incomplete circle) indefinitely.

Expected result

After the startup (which should be really really fast in this case) the icon changes to a green check.

image

Comments

I suspect this has to do with the fact that an ExternalName will NOT get a ClusterIP at all.

kinbug

Most helpful comment

Yes, I agree, maybe we should take ExternalName type's service into consideration. Thank you.

All 5 comments

Yes, I agree, maybe we should take ExternalName type's service into consideration. Thank you.

I installed kubernetesui/dashboard:v2.0.0-rc7 and this problem is fixed now.
Thanks!

When I run the Service for a Deployment with:

spec:
  type: LoadBalancer

still get the grey icon

Changing to:

spec:
  type: NodePort

icon is green.

btw in Dashboard Version 2.0.0.rc6 I was able to add following param to disable automatic logout

      args:
        - --token-ttl=0

The current/running Version 2.0.3.x prevents to add this param


My
Dashboard Version:
Dashboard v2.0.3+0.g665b4d367
Kubernetes Client/Server Version:

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:17:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.1", GitCommit:"7879fc12a63337efff607952a323df90cdc7a335", GitTreeState:"clean", BuildDate:"2020-04-08T17:30:47Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

LoadBalancer type requires external endpoints to have an IP assigned in order to show green status.

Token TTL param has not changed. It still works the same as previously. All supported arguments are defined here: https://github.com/kubernetes/dashboard/blob/master/docs/common/dashboard-arguments.md

PS. The latest version is v2.0.4 and we'll try to push v2.1.0 this week.

  1. LoadBalancer, can't follow your comment due to skill gaps, I've to check the docu
  2. Right, Token TTL works, maybe misspelled when I tried
Was this page helpful?
0 / 5 - 0 ratings