无法在浏览器中运行default/hello-minikube应用程序

160次阅读
没有评论

问题描述

在学习Kubernetes时遇到了问题。他使用Homebrew安装了minikube和kubernetes-cli,并设置了docker驱动程序。然后,他创建了一个名为hello-minikube的示例应用程序,并尝试启动它。但是在浏览器中,他只看到了”连接被重置”的错误,无法加载应用程序。他想知道出了什么问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户提供的信息,问题可能是由于在ARM Macbook M1上运行x86容器引起的。在ARM Macbook M1上,只能运行ARM架构的容器。而用户可能在x86 Linux上安装了minikube和kubernetes-cli,导致容器无法正常运行。
为了解决这个问题,用户需要在ARM Macbook M1上安装minikube和kubernetes-cli,并使用ARM架构的容器来运行应用程序。
以下是解决方案的步骤:
1. 在ARM Macbook M1上安装minikube和kubernetes-cli。可以使用Homebrew或其他适合ARM架构的包管理器进行安装。
2. 配置minikube使用ARM架构的容器。可以通过设置minikube的配置文件或使用命令行参数来实现。例如:

minikube config set vm-driver docker
minikube config set docker-env DOCKER_CLI_EXPERIMENTAL=enabled
minikube config set docker-env DOCKER_BUILDKIT=1
minikube config set kubernetes-version v1.21.0
  1. 删除之前创建的hello-minikube应用程序。
kubectl delete deployment hello-minikube
kubectl delete service hello-minikube
  1. 使用ARM架构的容器重新创建hello-minikube应用程序。
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
  1. 启动minikube。
minikube start
  1. 检查应用程序是否正常运行。
minikube service hello-minikube

现在,用户应该能够在浏览器中正常访问hello-minikube应用程序了。

方案2

根据用户提供的信息,问题可能是由于已经存在名为”hello-minikube”的服务而导致的。这可能是之前创建的hello-minikube应用程序没有正确删除导致的。
为了解决这个问题,用户需要删除之前创建的hello-minikube服务,并重新创建它。
以下是解决方案的步骤:
1. 删除之前创建的hello-minikube服务。

kubectl delete service hello-minikube
  1. 删除之前创建的hello-minikube应用程序。
kubectl delete deployment hello-minikube
  1. 使用以下命令重新创建hello-minikube应用程序。
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
  1. 检查应用程序是否正常运行。
minikube service hello-minikube

现在,用户应该能够在浏览器中正常访问hello-minikube应用程序了。

正文完