我使用了这个教程: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:无法连接到服务器
有人知道为什么吗?
2条答案
按热度按时间kh212irz1#
由于minikube是一个虚拟机,我需要SSH到这个虚拟机。我用命令:
minikube ssh
,然后运行:curl http://10.244.0.31
得到:<h1>This request was processed by host: webapp1-b8b46687f-xxc2s</h1>
个avkwfej42#
基于tutorial,您应该在其中一个节点上执行connect via ssh以进行curl。
minikube kubectl -- get pods -o wide
命令应显示Pod IPminikube kubectl -- get nodes
命令应显示群集节点,以便您可以连接到它minikube ssh -n命令将连接到节点。
字符串
一旦连接到节点,你就可以做curl并得到预期的结果。
型
请注意,本教程中也指出了这些说明。