【问题标题】:Attempting to access Kubernetes Dashboard routes to corporate proxy error page尝试访问 Kubernetes 仪表板路由到公司代理错误页面
【发布时间】:2017-11-03 00:40:07
【问题描述】:

我一直在关注this 使用 kubeadm 启动 kubernetes 的指南。我已经完成了,现在有一个在 Centos7 虚拟机上运行的单机集群。我安装了一个 pod 网络(Weave Net),还安装了 Kubernetes Dashboard。接下来,我运行kubectl proxy,它以Starting to serve on 127.0.0.1:8001 响应。

但是,每当我尝试使用 localhost:8001/ui 或 127.0.0.1:8001/ui 访问仪表板时,我都会被重定向到链接到我的公司代理的错误页面,在尝试访问 @987654322 时通知我网关超时@。

现在,我发现有些配置中 10.32.0.4 不包含在某些异常中,所以我开始将它添加到 no_proxy 和 NO_PROXY 中的 env 中,我在 GUI 的实际代理设置中指定它,我'我们确保 docker 已设置为具有相同的异常。我什至(据我所知)完全删除了代理设置的任何痕迹,希望它不会尝试通过公司代理到达应该是内部地址的地方。附加信息:

[root@localhost ~]# kubectl get nodes
NAME                    STATUS    AGE       VERSION
localhost.localdomain   Ready     22h       v1.6.4

[root@localhost ~]# kubectl get pods --namespace=kube-system
NAME                                            READY     STATUS    RESTARTS   AGE
etcd-localhost.localdomain                      1/1       Running   0          22h
kube-apiserver-localhost.localdomain            1/1       Running   0          22h
kube-controller-manager-localhost.localdomain   1/1       Running   0          22h
kube-dns-3913472980-8zm51                       3/3       Running   0          22h
kube-proxy-3wslb                                1/1       Running   0          22h
kube-scheduler-localhost.localdomain            1/1       Running   0          22h
kubernetes-dashboard-2039414953-79zbr           1/1       Running   0          22h
weave-net-z6kml                                 2/2       Running   0          22h

[root@localhost ~]# kubectl describe svc kubernetes-dashboard --namespace=kube-system
Name:           kubernetes-dashboard
Namespace:      kube-system
Labels:         k8s-app=kubernetes-dashboard
Annotations:        <none>
Selector:       k8s-app=kubernetes-dashboard
Type:           ClusterIP
IP:         10.96.33.253
Port:           <unset> 80/TCP
Endpoints:      10.32.0.4:9090
Session Affinity:   None
Events:         <none>

[root@localhost ~]# kubectl get deployment kubernetes-dashboard --namespace=kube-system
NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard   1         1         1            1           22h

[root@localhost ~]# kubectl --namespace=kube-system get ep kubernetes-dashboard
NAME                   ENDPOINTS        AGE
kubernetes-dashboard   10.32.0.4:9090   22h

[root@localhost ~]# kubectl cluster-info
Kubernetes master is running at https://192.168.181.130:6443
KubeDNS is running at https://192.168.181.130:6443/api/v1/proxy/namespaces/kube-system/services/kube-dns

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

[root@localhost ~]# kubectl get ns
NAME          STATUS    AGE
default       Active    22h
kube-public   Active    22h
kube-system   Active    22h

[root@localhost ~]# kubectl get ep
NAME         ENDPOINTS              AGE
kubernetes   192.168.181.130:6443   22h

我真的不知道从这里去哪里。这里有很多活动部件,我无法找到一种方法来查看重定向发生时出了什么问题。

【问题讨论】:

  • 您可能应该首先尝试确定公司代理是否干扰了您的通讯。可以从在您自己的笔记本电脑上启动一个虚拟机开始,在该机器上追溯您的步骤,知道该客户虚拟机和您的主机之间的所有端口都是打开的。如果代理以这种方式工作,您就会知道问题出在与远程机器的通信中。

标签: proxy kubernetes kubectl kubeadm


【解决方案1】:

代理设置由 kubeadm 在节点创建时复制,不反映之后执行的更改。您应该在 /etc/kubernetes/manifests/kube-apiserver.yaml 中更新代理设置

【讨论】:

  • 做到了!我不知道它最初设置了自己的变量!将相关 IP 地址添加到无代理变量后,我现在拥有完全访问权限。
  • 在 /etc/kubernetes/manifests/kube-apiserver.yaml 中编辑代理设置后,我无法访问 kubapiserver 192.168.33.10。来自大师。例如。 kubectl get nodes 返回The connection to the server 192.168.33.10:6443 was refused。即使我恢复 kube-apiserver.yaml 中的更改,我仍然会收到相同的错误。知道为什么吗?
  • 我想通了。只需要执行 systemctl daemon-reload 和 systemctl restart kubelet。
猜你喜欢
  • 1970-01-01
  • 2020-06-02
  • 2023-01-02
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
相关资源
最近更新 更多