dashboard: Can't load dashboard with kubernetes >=1.6 and LAN required proxy

Issue details

Environment

Ubuntu 16.04 with current apt install kubeadm kubernetes-cli

Dashboard version: how to find out the version? (dashboard doesn't open)
Kubernetes version: Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:44:38Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"clean", BuildDate:"2017-03-28T16:24:30Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Operating system: Ubuntu 16.04
Node.js version: not installed
Go version: not installed
Steps to reproduce

Have a VM with HTTP_PROXY/HTTP_PROXY set to a proxy server and NO_PROXY set to localhost,127.0.0.1,<current_ip>

follow the dashboard tutorial:

  • install with create -f <link>
  • kubectl proxy
  • open localhost:8001/ui in browser
Observed result

Despite no_proxy and NO_PROXY being set to both localhost and <apiserver_ip> a response 503 from the proxy is shown (verified by looking at the HTML content of the response), after redirecting internally to /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/.

Calling the curl request from the proxy logs results in a different error that seems to be related to RBAC.

Logs:

I0418 15:17:45.992083   42324 loader.go:354] Config loaded from file /etc/kubernetes/admin.conf
I0418 15:17:45.997241   42324 cached_discovery.go:118] returning cached discovery info from /home/kube/.kube/cache/discovery/<eth0_ip>_6443/servergroups.json
Starting to serve on 127.0.0.1:8001I0418 15:17:55.209878   42324 proxy_server.go:91] /ui/ matched ^.*
I0418 15:17:55.210148   42324 proxy_server.go:91] 127.0.0.1 matched ^127\.0\.0\.1$
I0418 15:17:55.210218   42324 proxy_server.go:130] Filter accepting GET /ui/ 127.0.0.1
I0418 15:17:55.211285   42324 round_trippers.go:398] curl -k -v -XGET  -H "Accept-Language: en-US,en;q=0.5" -H "Accept-Encoding: gzip, deflate" -H "X-Forwarded-For: 127.0.0.1" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" https://<eth0_ip>:6443/ui/
I0418 15:17:55.246977   42324 round_trippers.go:417] GET https://<eth0_ip>:6443/ui/ 307 Temporary Redirect in 35 milliseconds
I0418 15:17:55.246997   42324 round_trippers.go:423] Response Headers:
I0418 15:17:55.247001   42324 round_trippers.go:426]     Location: /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
I0418 15:17:55.247004   42324 round_trippers.go:426]     Content-Type: text/html; charset=utf-8
I0418 15:17:55.247008   42324 round_trippers.go:426]     Content-Length: 102
I0418 15:17:55.247012   42324 round_trippers.go:426]     Date: Tue, 18 Apr 2017 13:17:55 GMT
I0418 15:17:55.277869   42324 proxy_server.go:91] /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/ matched ^.*
I0418 15:17:55.278097   42324 proxy_server.go:91] 127.0.0.1 matched ^127\.0\.0\.1$
I0418 15:17:55.278161   42324 proxy_server.go:130] Filter accepting GET /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/ 127.0.0.1
I0418 15:17:55.278289   42324 round_trippers.go:398] curl -k -v -XGET  -H "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" -H "Accept-Encoding: gzip, deflate" -H "X-Forwarded-For: 127.0.0.1" -H "Upgrade-Insecure-Requests: 1" https://<eth0_ip>:6443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/
I0418 15:19:32.974175   42324 round_trippers.go:417] GET https://<eth0_ip>:6443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/ 503 Service Unavailable in 97695 milliseconds
# note: the following response is verfied to be from my environment proxy not from the kube proxy
I0418 15:19:32.974199   42324 round_trippers.go:423] Response Headers:
I0418 15:19:32.974206   42324 round_trippers.go:426]     Cache-Control: no-cache
I0418 15:19:32.974211   42324 round_trippers.go:426]     Content-Type: text/html; charset=utf-8
I0418 15:19:32.974216   42324 round_trippers.go:426]     Pragma: no-cache
I0418 15:19:32.974219   42324 round_trippers.go:426]     Date: Tue, 18 Apr 2017 13:19:32 GMT
Expected result

opens the dashboard

Comments

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 24 (14 by maintainers)

Most upvoted comments

I think this should be closed. Nothing to do with dashboard.

On Thu 8 Jun 2017, 19:42 Marcin Maciaszczyk, notifications@github.com wrote:

Why do we keep it open? When I am looking at it now, it seems to be a bit too precise to describe every possible use case. This time kubectl proxy didn’t work because of environment variables. Should we cover it in our README.md before we will close this issue?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/dashboard/issues/1858#issuecomment-307191977, or mute the thread https://github.com/notifications/unsubscribe-auth/ABEg73ZRAVGJq98qvNflR7kIVM4p0O6Uks5sCECkgaJpZM4NAPdv .

@erikbgithub If you think that kube proxy has an issue with LAN proxy then maybe you create an issue for it