NodePort Service无法接收连接:Docker与Kubernetes访问问题排查
问题排查:Web API镜像在Docker与Kubernetes中的访问异常
我搭建了一个简单的Web API项目并制作了镜像,遇到两类访问问题:
- 本地Docker运行镜像时,无法通过
http://localhost:8080访问服务器,但执行docker inspect bridge拿到容器IP后,用http://172.17.0.2:8080/api/platforms能得到预期响应。 - 将镜像推送到DockerHub后,在Kubernetes中创建了Deployment和NodePort Service,但所有测试地址均无法获取响应。
Kubernetes配置文件
Deployment配置(platforms-depl.yaml)
apiVersion: apps/v1 kind: Deployment metadata: name: platforms-depl spec: replicas: 1 selector: matchLabels: app: platformservice template: metadata: labels: app: platformservice spec: containers: - name: platformservice image: itunbridge/platformservice:latest ports: - containerPort: 80
NodePort Service配置(platforms-np-srv.yaml)
apiVersion: v1 kind: Service metadata: name: platformservice-srv spec: type: NodePort selector: app: platformservice ports: - name: platformservice protocol: TCP port: 80 targetPort: 80
部署后测试情况
执行kubectl apply -f完成部署后:
- 通过
kubectl get services确认NodePort分配为30201 minikube service platformservice-srv --url返回http://192.168.59.100:30201
但以下地址均无法获取响应:
http://192.168.59.100:30201/api/platformshttp://10.104.221.184:30201/api/platformshttp://localhost:30201/api/platformshttp://172.17.0.2:30201/api/platformshttp://10.244.0.5:30201/api/platforms
内容的提问来源于stack exchange,提问作者Ian Tunbridge
相关产品推荐
相关产品推荐

