【问题标题】:Is it possible for outside traffic to access my deployment inside Minikube?外部流量是否可以访问我在 Minikube 中的部署?
【发布时间】:2020-01-13 01:23:27
【问题描述】:

这里是 Kubernetes 新手。只是想让我的基本理解正确。 Minikube 以本地开发而闻名,是否可以通过外部连接(不仅仅是集群外部)访问我在 minikube 中部署的 pod?

我在 ec2 实例中运行我的 minikube,所以我使用命令 minikube start --vm-driver=none 启动了我的 minikube,这意味着使用 Docker 运行 minikube,没有配置 VM。我的最终目标是允许外部连接到达集群内的 pod 并通过 pod 执行 POST 请求(例如使用 Postman)。

如果是,我还使用 yaml 文件中的 NodePort 将我的服务资源使用 kubectl apply -f 应用到我的 minikube 中。另外,我也想正确理解portnodePorttargetPortport 是 分配给该特定服务的端口号,nodePort 是 节点上的端口号(在我的例子中是我的 ec2 实例私有 IP), targetPort 是等同于 containerPort 的端口号 在我的部署的 yaml 中分配。如果我在此陈述中错了,请纠正我。

谢谢。

【问题讨论】:

  • 问题得到解决,证明 minikube 可以通过正确配置 NodePort 和 LoadBalancer 接受外部(来自互联网)的流量。我搞砸了我的 targetPort,这就是为什么我无法从我的部署中得到正确的响应给我的邮递员。另一个提示:要在内部使用正确的 curl POST 请求进行 curl,您可以使用邮递员按 code 按钮以正确的格式创建它。感谢@harsh 重申我的问题。

标签: kubernetes minikube


【解决方案1】:

是的,你可以这样做

因为你已经启动了 minikube:

minikube start --vm-driver=none

nodePort 是集群外的客户端将“看到”的端口。 nodePort 通过 kube-proxy 在集群中的每个节点上打开。您可以使用 nodePort 从外部访问应用程序。赞https://loadbalancerIP:NodePort

port 是您的服务在集群内监听的端口。让我们举个例子:

apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  ports:
  - port: 8080
    targetPort: 8070
    nodePort: 31222
    protocol: TCP 
  selector:
    component: test-service-app

从 k8s 集群内部,可以通过 http://test-service.default.svc.cluster.local:8080(集群内的服务到服务通信)访问此服务,并且任何到达那里的请求都会转发到 targetPort 8070 上正在运行的 pod。

tagetPort 如果没有另外指定,默认情况下也与端口相同。

【讨论】:

  • 感谢严苛的回复。我刚刚用 ping、telnet、curl 等基本实用程序启动了一个“utils”pod。我可以从“utils”pod ping 到我部署的 pod IP(不是服务内部 IP),但我无法 telnet 到 pod带有我在部署 yaml 中声明的端口号的 IP。我仍然怀疑我是否可以访问集群内的部署,因为 EXTERNAL-IP 列似乎仍然是 <none>
  • 为了补充我之前的评论,我无法使用集群 ip 或 NodePort 类型从 'utils' pod 远程登录到我的服务 CLUSTER-IP。这就是我启动“utils”吊舱的方式。 kubectl run --rm utils -it --generator=run-pod/v1 --image arunvelsriram/utils bash
  • 我最好创建yaml文件并申请服务和部署。
  • @rick 这可能是您可以遵循的最佳文档。 kubernetes.io/docs/concepts/services-networking/service
  • 尝试仅使用 curl 而不是 telnet。
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
相关资源
最近更新 更多