我通过webapp-rc.yaml文件创建ReplicationController.
APIVersion: v1kind: ReplicationControllerMetadata: name: webappspec: replicas: 2 template: Metadata: name: webapp labels: app: webapp spec: containers: - name: webapp image: tomcat ports: - containerPort: 8080
并且,我将pods的ip打印到stdout:
kubectl get pods -l app = webapp -o yaml | grep podIP
podIP: 172.17.0.18podIP: 172.17.0.1
而且,我想使用curl访问pod
卷曲172.17.0.18:8080
但是,stdout给了我:curl:(52)来自服务器的空回复
我知道我可以通过服务在pod中的docker容器中访问我的应用程序.
我在一本书中找到了这段代码.但本书没有给出执行此代码的上下文.
使用minikube,如何使用主机上的curl通过pod ip访问pod?
更新1
我找到了一种使用kubectl代理的方法:
➜ ~ kubectl proxyStarting to serve on 127.0.0.1:8001
然后我可以像curl一样通过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 VM
>然后,我可以使用curl< podIP>:< podPort>,因为我的情况是curl 172.17.0.18:8080
APIVersion: v1kind: ReplicationControllerMetadata: name: webappspec: replicas: 2 template: Metadata: name: webapp labels: app: webapp spec: containers: - name: webapp image: tomcat ports: - containerPort: 8080
minikube在虚拟机内执行,因此curl 172.17.0.18:8080只能在该虚拟机内部运行.
您始终可以创建服务以公开您的应用:
kubectl expose rc webapp --type=NodePort
并使用以下命令获取URL:
minikube service webapp --url
如果需要查询特定的pod,请使用port forwarding:
kubectl port-forward <POD name> 8080
或者只是从那里进入minikube的虚拟机和查询.
总结以上是内存溢出为你收集整理的kubernetes – minikube – 如何使用curl通过pod ip访问pod全部内容,希望文章能够帮你解决kubernetes – minikube – 如何使用curl通过pod ip访问pod所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)