Kubernetes:无法连接到Pod IP

ddrv8njm  于 12个月前  发布在  Kubernetes
关注(0)|答案(2)|浏览(152)

我使用了这个教程: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
1.运行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:无法连接到服务器
有人知道为什么吗?

kh212irz

kh212irz1#

由于minikube是一个虚拟机,我需要SSH到这个虚拟机。我用命令:minikube ssh,然后运行:curl http://10.244.0.31得到:
<h1>This request was processed by host: webapp1-b8b46687f-xxc2s</h1>

avkwfej4

avkwfej42#

基于tutorial,您应该在其中一个节点上执行connect via ssh以进行curl。
minikube kubectl -- get pods -o wide命令应显示Pod IP
minikube kubectl -- get nodes命令应显示群集节点,以便您可以连接到它
minikube ssh -n命令将连接到节点。

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

字符串
一旦连接到节点,你就可以做curl并得到预期的结果。

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

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


请注意,本教程中也指出了这些说明。

相关问题