外部流量是否可以访问我在 Minikube 中的部署?



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

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

如果是,我还使用 yaml 文件中的 NodePort 使用kubectl apply -f将我的服务资源应用到我的 minikube 中。另外,我还希望正确理解portnodePorttargetPortport是 分配给该特定服务的端口号,nodePort节点上的端口号(在我的情况下是我的 EC2 实例私有 IP(,targetPort端口号等同于我containerPort在我的部署的 YAML 中分配。如果我的这句话是错误的,请纠正我。

谢谢。

是的,你可以这样做

正如您开始的迷你库贝:

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的值也与端口相同。

最新更新