首页 > 解决方案 > kubernetes dashoboard「尝试访问服务时出错:'proxyconnect tcp: dial tcp:lookup $http_proxy: no such host」

问题描述

我按照“ https://github.com/kubernetes/dashboard ”中的说明安装了 k8s 仪表板。

但是,我无法访问此 URL。 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

我收到

「Error trying to reach service: 'proxyconnect tcp: dial tcp: lookup $http_proxy: no such host」.

(我可以访问这个 URL。 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/

这是我的状态。我的集群似乎没有问题。(而且我是在代理的情况下,但是docker pull没有问题。)

# kubectl get nodes
NAME         STATUS   ROLES    AGE   VERSION
k8s-master   Ready    master   43h   v1.17.1
k8s-worker   Ready    <none>   39h   v1.17.2

# kubectl get pods --all-namespaces
NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
kube-system            coredns-6955765f44-g9nzl                     1/1     Running   1          44h
kube-system            coredns-6955765f44-vxldl                     1/1     Running   1          44h
kube-system            etcd-k8s-master                              1/1     Running   4          44h
kube-system            kube-apiserver-k8s-master                    1/1     Running   3          44h
kube-system            kube-controller-manager-k8s-master           1/1     Running   3          44h
kube-system            kube-proxy-5bzwf                             1/1     Running   3          44h
kube-system            kube-proxy-5z84p                             1/1     Running   0          40h
kube-system            kube-scheduler-k8s-master                    1/1     Running   4          44h
kube-system            weave-net-l5ptw                              2/2     Running   3          40h
kube-system            weave-net-qcwk2                              2/2     Running   0          40h
kubernetes-dashboard   dashboard-metrics-scraper-7b64584c5c-wxsd2   1/1     Running   0          57m
kubernetes-dashboard   kubernetes-dashboard-566f567dc7-b88n2        1/1     Running   0          57m


# docker info | grep Proxy
HTTP Proxy: http://10.227.74.6:3128
HTTPS Proxy: http://10.227.74.6:3128
No Proxy: localhost,127.0.0.1,10.227.74.4,10.227.74.37,10.96.0.0/12,10.244.0.0/16

# cat /etc/bashrc
export http_proxy=http://10.227.74.6:3128
export https_proxy=http://10.227.74.6:3128
export no_proxy="localhost,127.0.0.1,10.227.74.4,10.227.74.37,10.96.0.0/12,10.244.0.0/16"

我想我的代理设置不好,但我不确定我应该如何解决它。

对不起,我英语不好。请回答这个问题。

# curl http://localhost:8001/api/v1/namespaces/kubernetes- 
dashboard/services/

{
"kind": "ServiceList",
"apiVersion": "v1",
"metadata": {
"selfLink": "/api/v1/namespaces/kubernetes-dashboard/services/",
"resourceVersion": "448220"
},
"items": [
{
"metadata": {
"name": "dashboard-metrics-scraper",
...........

# curl http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Error trying to reach service: 'proxyconnect tcp: dial tcp: lookup $http_proxy: no such host'

# curl http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
Error trying to reach service: 'proxyconnect tcp: dial tcp: lookup $http_proxy: no such host'

标签: kubernetesproxyreverse-proxykubernetes-dashboard

解决方案


我注意到的第一件事是您对 http 和 https 使用相同的 url:

# docker info | grep Proxy
HTTP Proxy: http://10.227.74.6:3128
HTTPS Proxy: http://10.227.74.6:3128

对于 HTTPS 代理 url 应该以 https 开头。

修改/etc/sysconfig/docker文件,例如:

# cat /etc/sysconfig/docker
HTTP_PROXY="http://10.227.74.6:3128"
HTTPS_PROXY="http://10.227.74.6:3128"
NO_PROXY="localhost,127.0.0.1,10.227.74.4,10.227.74.37,10.96.0.0/12,10.244.0.0/16"

然后配置/etc/bashrc文件:

# cat /etc/bashrc
export http_proxy="http://10.227.74.6:3128"
export https_proxy="https://10.227.74.6:3128"
export no_proxy="localhost,127.0.0.1,10.227.74.4,10.227.74.37,10.96.0.0/12,10.244.0.0/16"

应用更改后重新启动 Docker 守护程序。

请在代理设置期间按照以下步骤操作:proxy-configuration

有关设置代理的更多信息,您可以在此处找到:proxy-server


推荐阅读