我遵循了本教程:https://dev.to/narasimha1997/communication- Between-microservices-in-a-kubernetes-cluster-1n41。
我做了以下步骤:
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
kubectl create -f web-server.yaml
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>
curl http://10.46.0.30
几秒钟后,我收到错误消息:curl: (28) 21551 ms 后无法连接到 10.46.0.30 端口 80: 无法连接到服务器
有人知道为什么吗?
由于 minikube 是虚拟机,我需要通过 SSH 连接到该虚拟机。我用命令来做到这一点:
minikube ssh
然后运行:
curl http://10.244.0.31
给出:
<h1>This request was processed by host: webapp1-b8b46687f-xxc2s</h1>
根据教程,您应该在其中一个节点上通过 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
请注意,本教程中也标明了此说明。