Kubernetes:无法连接到 Pod IP

问题描述 投票:0回答:2

我遵循了本教程:https://dev.to/narasimha1997/communication- Between-microservices-in-a-kubernetes-cluster-1n41

我做了以下步骤:

  1. 创建文件 web-server.yaml,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: webapp1
  template:
    metadata:
      labels:
        app: webapp1
    spec:
      containers:
      - name: webapp1
        image: katacoda/docker-http-server:latest
        ports:
        - containerPort: 80
  1. kubectl create -f web-server.yaml
  2. 运行
    kubectl get pods -o wide
    并收到:
NAME                       READY   STATUS    RESTARTS   AGE   IP           NODE               NOMINATED NODE   READINESS GATES
webapp1-6b54fb89d9-ct7fk   1/1     Running   0          17m   10.46.0.30   ip-172-31-56-227   <none>           <none>
  1. 但是,当我运行
    curl http://10.46.0.30
    几秒钟后,我收到错误消息:

curl: (28) 21551 ms 后无法连接到 10.46.0.30 端口 80: 无法连接到服务器

有人知道为什么吗?

kubernetes minikube
2个回答
0
投票

由于 minikube 是虚拟机,我需要通过 SSH 连接到该虚拟机。我用命令来做到这一点:

minikube ssh
然后运行:
curl http://10.244.0.31
给出:

<h1>This request was processed by host: webapp1-b8b46687f-xxc2s</h1>


0
投票

根据教程,您应该在其中一个节点上通过 ssh 连接来执行卷曲。

minikube kubectl -- get pods -o wide
命令应显示 Pod IP

minikube kubectl -- get nodes
命令应显示集群节点,以便您可以连接到它

minikube ssh -n 命令会将您连接到节点。

uservm@instance-1:~$ minikube ssh -n minikube

一旦连接到节点,您就可以进行卷曲并得到预期的结果。

docker@minikube:~$ curl http://10.244.0.3

This request was processed by host: webapp1-b8b46687f-rbjgl

请注意,本教程中也标明了此说明。

© www.soinside.com 2019 - 2024. All rights reserved.