【问题标题】:Kubernetes local using kind, can't reach serviceKubernetes local using kind,无法访问服务
【发布时间】:2021-12-16 23:16:49
【问题描述】:

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

设置非常简单:

app-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

还有 nodeport 服务:

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


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

    kubectl port-forward
    

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2021-06-27
      • 1970-01-01
      相关资源
      最近更新 更多