0

我正在关注一个非常简单的教程,它生成一个带有 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

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

我对这些东西很陌生,所以任何帮助都将不胜感激。

4

2 回答 2

1

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

于 2021-12-16T14:01:16.233 回答
0

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

kubectl port-forward

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

kubectl port-forward service/ps-nodeport 31111: 31111
于 2021-12-16T15:16:49.397 回答