Kubernetes local using kind,无法访问服务

Kubernetes local using kind, can't reach service

我正在学习一个非常简单的教程,其中生成一个带有 http 端点的简单 pod 和一个使用 kubernetes 公开该应用程序的服务。

设置非常简单:

应用-pod.yml

apiVersion: v1
kind: Pod
metadata:
  name: hello-pod
  labels:
    app: web
spec:
  containers:
    - name: web-ctr
      image: nigelpoulton/getting-started-k8s:1.0
      ports:
        - containerPort: 8080

和节点端口服务:

apiVersion: v1
kind: Service
metadata:
  name: ps-nodeport
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 31111
    protocol: TCP
  selector:
    app: web

服务和 pod 似乎很健康:

但我无法访问 运行 应用程序:

locahost:31111

给出“无法访问此站点”消息

我是这方面的新手,如有任何帮助,我们将不胜感激。

在 Kubernetes Kind 集群中,默认情况下,NodePort 可能不会绑定到 localhost。请检查以下资源:

从本地主机访问服务的最简单方法(就像您尝试做的那样)是使用

kubectl port-forward

例如以下命令适用于您的情况 - 从 localhost 转发流量 -> ps-nodeport service

kubectl port-forward service/ps-nodeport 31111: 31111