kubernetes - 如何访问在minikube k8s集群中部署的应用程序

标签 kubernetes minikube

我已经安装了minikube,部署了hello-minikube应用程序并打开了端口。基本上,我遵循https://kubernetes.io/docs/setup/learning-environment/minikube/#quickstart的入门教程。

当我想打开通过运行minikube service hello-minikube --url获得的已运行应用程序的URL时,问题就开始了。

我得到http://172.17.0.7:31198,并且该URI无法打开,因为该IP在本地不存在。将其更改为http://localhost:31198也不起作用(因此,我猜无法将条目添加到主机文件中)。

该应用程序正在运行,我可以查询集群并通过http://127.0.0.1:50501/api/v1/namespaces/default/services/hello-minikube获取信息:

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "hello-minikube",
    "namespace": "default",
    "selfLink": "/api/v1/namespaces/default/services/hello-minikube",
    "uid": "56845ce6-bbba-45e5-a1b6-d094949438cf",
    "resourceVersion": "1578",
    "creationTimestamp": "2020-03-10T10:33:41Z",
    "labels": {
      "app": "hello-minikube"
    }
  },
  "spec": {
    "ports": [
      {
        "protocol": "TCP",
        "port": 8080,
        "targetPort": 8080,
        "nodePort": 31198
      }
    ],
    "selector": {
      "app": "hello-minikube"
    },
    "clusterIP": "10.108.152.177",
    "type": "NodePort",
    "sessionAffinity": "None",
    "externalTrafficPolicy": "Cluster"
  },
  "status": {
    "loadBalancer": {

    }
  }
}
λ kubectl get services
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
hello-minikube   NodePort    10.108.152.177   <none>        8080:31198/TCP   4h34m
kubernetes       ClusterIP   10.96.0.1        <none>        443/TCP          4h42m

如何访问本地主机上minikube k8s集群中部署的应用程序?另外,minikube在机器上作为docker容器运行,并暴露了以下端口32770:2376 32769:8443 32771:22。

最佳答案

在另一个thread中找到了解决方案-端口转发

kubectl port-forward svc/hello-minikube 31191:8080

第一个端口是您将在计算机上(在浏览器中)使用的端口,而8080是运行服务时定义的端口。

关于kubernetes - 如何访问在minikube k8s集群中部署的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60620080/

相关文章:

kubernetes - Minikube上的Kube-proxy可执行文件在哪里

kubernetes - 在 Minikube 上的 Kubernetes StatefulSet 中添加持久卷

curl - 从Kubernetes Pod到ExternalName服务的cURL挂起

kubernetes - aws-iam-authenticator & EKS

ruby - Kubernetes + Minikube - 如何查看所有标准输出?

azure - kubernetes 无法查看已挂载的文件夹内容

Docker 在 Kubernetes 中使用 docker 私有(private)注册表拉取没有 ssl 的镜像

image - Kubernetes Minikube Docker尝试提取镜像失败

docker - 创建 Pod 时图像拉取失败

macos - minikube 尝试访问 172.17.0.4 :8080 on osx 时出错