当前位置: 首页 > 知识库问答 >
问题:

minikube服务url连接被拒绝

樊博雅
2023-03-14

我是库伯内特斯的初学者。我正在尝试安装迷你库贝,想在库伯内特斯中运行我的应用程序。我正在使用乌班图 16.04

我已遵循此处提供的安装说明https://kubernetes.io/docs/setup/learning-environment/minikube/#using-带有http代理的minikube

问题1:在安装了kubectl、virtualbox和minikube之后,我运行了命令

minikube start --vm-driver=virtualbox

它失败了,出现以下错误

Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
E0912 17:39:12.486830   17689 start.go:305] Error restarting 
cluster:  restarting kube-proxy: waiting for kube-proxy to be 
up for configmap update: timed out waiting for the condition

但是当我检查虚拟框时,我看到minikube VM正在运行,当我运行kubectl时

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10

我看到了部署

 kubectl get deployment
NAME             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-minikube   1         1         1            1           27m

我将hello-minikube部署公开为服务

kubectl get service
NAME             TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
hello-minikube   LoadBalancer   10.102.236.236   <pending>     8080:31825/TCP   15m
kubernetes       ClusterIP      10.96.0.1        <none>        443/TCP          19h

我得到了服务的url

minikube service hello-minikube --url
http://192.168.99.100:31825

当我尝试卷曲网址时,我收到以下错误

curl http://192.168.99.100:31825
curl: (7) Failed to connect to 192.168.99.100 port 31825: Connection refused

1)如果迷你库贝集群在启动时出现故障,kubectl如何能够连接到迷你库贝进行部署和服务?2)如果集群很好,那么为什么我的连接被拒绝?

我正在查看此代理(https://kubernetes.io/docs/setup/learning 环境/迷你库贝/#starting群集)my_proxy这是什么?

这是minikube ip和某个端口吗?

这个我已经试过了

重新启动集群时出错:重新启动库贝-proc:等待库贝-proc更新配置图:超时等待条件

但不明白解决方案中的#3(设置代理)将如何完成。有人能帮我得到代理的指示吗?

添加评论中询问的命令输出

kubectl get po -n kube-system
NAME                                    READY   STATUS    RESTARTS   AGE
etcd-minikube                           1/1     Running   0          4m
kube-addon-manager-minikube             1/1     Running   0          5m
kube-apiserver-minikube                 1/1     Running   0          4m
kube-controller-manager-minikube        1/1     Running   0          6m
kube-dns-86f4d74b45-sdj6p               3/3     Running   0          5m
kube-proxy-7ndvl                        1/1     Running   0          5m
kube-scheduler-minikube                 1/1     Running   0          5m
kubernetes-dashboard-5498ccf677-4x7sr   1/1     Running   0          5m
storage-provisioner                     1/1     Running   0          5m

共有1个答案

孔永年
2023-03-14

我删除了迷你库贝并删除了~/.迷你库贝下的所有文件,并重新安装了迷你库贝。现在它工作正常。我之前没有得到输出,但在它处理问题之后我已经附加了它。你能告诉我这个命令的输出告诉了我什么吗?

这将是非常困难的,甚至不可能告诉到底是什么问题与您的Minikube库伯内特斯群集,当它已经删除并再次设置。

基本上,您可以做一些事情来正确解决或调试您的问题。

添加评论中询问的命令输出

你发布的输出其实只是@Eduardo Baitello让你做的任务的一部分。< code > kubectl get po-n kube-system 命令只显示< code>kube-system名称空间中的< code>Pods列表。换句话说,这是构成您的Kubernetes集群的系统单元列表,正如您所想象的,这些组件的正常运行是至关重要的。如您在输出中所见,您的< code>kube-proxy pod的< code >状态为< code >运行:

kube-proxy-7ndvl                        1/1     Running   0          5m

在@Eduardo的问题中,您还被要求检查其日志。您可以通过发出:

kubectl logs kube-proxy-7ndvl

它可以告诉您问题发生时这个特定的吊舱有什么问题。此外,在这种情况下,您可以使用description命令查看其他pod详细信息(有时查看pod事件可能会非常有助于了解发生了什么事):

kubectl describe pod kube-proxy-7ndvl

建议检查这种特殊的< code>Pod状态和日志很可能是受Minikube启动过程中显示的错误信息片段的启发:

E0912 17:39:12.486830   17689 start.go:305] Error restarting 
cluster:  restarting kube-proxy: waiting for kube-proxy to be 
up for configmap update: timed out waiting for the condition

正如您所看到的,此消息清楚地表明库贝-agent存在简单的“问题”,因此首先检查它很有意义。

还有一件事你可能没有注意到:

kubectl get service
NAME             TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
hello-minikube   LoadBalancer   10.102.236.236   <pending>     8080:31825/TCP   15m
kubernetes       ClusterIP      10.96.0.1        <none>        443/TCP          19h

您的< code>hello-minikube服务尚未完全就绪。在< code>EXTERNAL-IP列中,您可以看到其状态为< code>pending。由于您可以使用< code>describe命令来描述< code>Pods,因此您可以这样做来获取服务的详细信息。简单:

describe service hello-minikube

在这种情况下可以告诉你很多。

1)如果迷你库贝集群在启动时出现故障,kubectl如何能够连接到迷你库贝进行部署和服务?2)如果集群很好,那么为什么我的连接被拒绝?

请记住,Kubernetes集群不是一个单体结构,它由许多相互依赖的部分组成。kubectl工作并且您可以创建部署的事实并不意味着整个集群工作正常,正如您在错误消息中看到的那样,这表明其组件之一(即kube代理)实际上无法正常运行。

回到你问题的开头...

我已遵循此处提供的安装说明https://kubernetes.io/docs/setup/learning-environment/minikube/#using-带有http代理的minikube

问题1:在安装了kubectl、virtualbox和minikube之后,我运行了命令

minikube start --vm-driver=virtualbox

据我所知,你没有使用http代理,所以你没有遵循你发布的这个文件片段的指示,是吗?

我觉得你混合了两个概念kube代理,它是一个Kubernetes集群component,部署为kube系统空间中的pod和本文档片段中提到的http代理服务器。

我正在查看此代理(https://kubernetes.io/docs/setup/learning 环境/迷你库贝/#starting群集)my_proxy这是什么?

如果您不知道您的http代理地址是什么,很可能您根本不使用它,如果您不使用它从计算机连接到Internet,则它不适用于您的情况。

否则,您需要在启动Minikube时提供额外的标志来设置它,如下所示:

minikube start --docker-env http_proxy=http://$YOURPROXY:PORT \
                 --docker-env https_proxy=https://$YOURPROXY:PORT

如果您能够启动Minikube,并且现在只能使用以下命令才能正常工作:

minikube start --vm-driver=virtualbox

您的问题是由其他原因引起的,您不需要提供上述标志来告诉Minikube您正在使用的http代理服务器是什么。

据我所知,目前一切正常运行,您可以访问命令< code > minikube service hello-minikube-url 返回的URL,没有任何问题,对吗?您还可以运行命令< code > ku bectl get service hello-minikube 并检查它的输出是否与您之前发布的不同。因为您没有附加任何yaml定义文件,所以很难判断您的服务定义是否没有问题。另请注意,< code >负载平衡器是一种服务类型,旨在与云提供商提供的外部负载平衡器配合使用,minikube使用< code >节点端口来代替它。

 类似资料:
  • 寻找类似问题的堆栈溢出解决方案并没有解决我的问题,所以希望分享我目前的经历来帮助调试这个问题。 那么一个小小的序言;几天前,我最初安装了minikube/kubectl。今天我继续尝试学习minikube教程,现在遇到了一些问题。我在看迷你入门指南。 我在苹果电脑上。我的版本: $ kubectl版本 $minikube版本 $ vboxmanage --version 以下是我尝试检查响应的一系

  • 我试图让一个本地kubernetes集群与Minikube和Istio一起运行。我遵循了istio文档中的说明:https://istio.io/docs/tasks/installing-istio.html 然后,我按照以下步骤在此处安装示例BookInfo示例:https://istio.io/docs/samples/bookinfo.html 然而,当我尝试卷曲网关URL时,我得到了一个

  • 问题内容: 我正在尝试使用Flask在Raspberry Pi上运行一个简单的Web服务器。当我运行Flask应用程序时,它说: 在http://127.0.0.1:5000/上运行 但是,当我在笔记本电脑的Chrome中输入此地址时, ERR_CONNECTION_REFUSED 我可以在Raspberry Pi的浏览器上打开127.0.0.1:5000。我需要怎么做才能从另一台计算机连接? 问

  • 问题内容: 前几天,我的GoDaddy托管网站遇到了一些问题。我打电话给他们的技术支持,与我交谈的人建议我的问题与我在Windows机器上,最好在Linux机器上使用有关。我对此没有意见,我同意了,他们把我换了。 过渡之后,我的PHPMailer功能让我迷茫了。我已经工作了几个月,所以我知道我的设置是正确的。我已与GoDaddy确认,从他们的角度来看,我要发送的帐户并未更改。用户侧未进行任何更改(

  • 我正在使用NAT开发一个微服务web应用程序(React和Node)并在GCP Kubernetes集群上运行它。 我无法连接到NAT流服务器POD。端口4222和8222是打开的。我收到连接拒绝错误。 $kubectl描述服务NAT-Srv

  • 每次运行Rails4.0服务器时,都会得到这个输出。 我正在运行小牛OS X10.9,所以我不知道这是不是问题所在。我已经试了我能试的一切,但似乎都没有效果。我已经卸载并安装了postgres和pg gem多次了。 这是我的database.yml文件