【发布时间】:2018-11-06 22:24:42
【问题描述】:
我使用minikube创建本地kubernetes集群。
我通过webapp-rc.yaml 文件创建ReplicationController。
apiVersion: v1
kind: ReplicationController
metadata:
name: webapp
spec:
replicas: 2
template:
metadata:
name: webapp
labels:
app: webapp
spec:
containers:
- name: webapp
image: tomcat
ports:
- containerPort: 8080
并且,我将 pod 的 ip 打印到标准输出:
kubectl get pods -l app=webapp -o yaml | grep podIP
podIP: 172.17.0.18
podIP: 172.17.0.1
而且,我想使用 curl 访问 pod
curl 172.17.0.18:8080
但是,标准输出给我:curl: (52) Empty reply from server
我知道我可以通过服务访问 pod 中 docker 容器中的应用程序。
我在一本书中找到了这段代码。但是书中并没有给出执行这段代码的context。
使用minikube,如何在宿主机中使用curl通过pod ip访问pod?
更新 1
我找到了使用kubectl proxy的方法:
➜ ~ kubectl proxy
Starting to serve on 127.0.0.1:8001
然后我可以像这样通过 curl 访问 pod:
curl http://localhost:8001/api/v1/namespaces/default/pods/webapp-jkdwz/proxy/
webapp-jkdwz可以通过命令kubectl get pods -l app=webapp找到
更新 2
minikube ssh- 登录 minikube 虚拟机然后,我可以使用
curl <podIP>:<podPort>,因为我的情况是curl 172.17.0.18:8080
【问题讨论】:
标签: kubernetes minikube