kubernetes - 负载均衡器服务故障排除
问题描述
我有一个不响应 URI 请求的负载平衡服务。我尝试调试服务,但一切正常。任何想法?顺便说一句,Pod 转发服务,但这个不能响应 URI 请求。回购: https ://github.com/alfonso84/Kubernete
服务
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2021-09-07T18:03:57Z"
finalizers:
- service.kubernetes.io/load-balancer-cleanup
labels:
app: web
spec:
clusterIP: 10.103.184.182
externalTrafficPolicy: Cluster
ports:
- name: "80"
nodePort: 32357
port: 80
protocol: TCP
targetPort: 80
selector:
app: web
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- hostname: a4f3016e4f2244b13babc8ac55dce995-699656471.us-west-2.elb.amazonaws.com
荚
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: "2021-09-07T18:03:56Z"
generateName: web-5f5cb4bdcc-
labels:
app: web
pod-template-hash: 5f5cb4bdcc
spec:
containers:
- image: httpd:2.4.39-alpine
imagePullPolicy: IfNotPresent
name: httpd
ports:
- containerPort: 80
protocol: TCP
请考虑 nodeport 和 aws 主机名是动态的,以防您发现不匹配。
解决方案
经过一个小会话后,@xnextion 和我想通了,为什么服务没有响应。
我们检查了以下几点:
- 服务选择器是否指向 pod 的正确标签?
- 服务是否生成了端点资源?
- 吊舱工作正常吗?(是一个暴露端口 80 的 httpd 容器,来自 pod 本身的 curl localhost,可以肯定的是,配置是正确的)
- 来自另一个 pod 的相同呼叫是否有效?
最后我们发现,Pod 和服务是正确的,它是一个网络策略资源,它拒绝了所有流量。
推荐阅读
- laravel - 如何在 Laravel 结账后减少产品数量(带会话)
- javascript - 更改谷歌地图折线网格背景颜色?
- c# - f#中的并行快速排序
- angular - 可观察管道异步通常为空,直到多次刷新
- java - 在二维数组中打印递增的行索引和平均值
- php - ffmpeg PHP - 从视频创建缩略图
- javascript - 你如何存储数据,所以当我重新启动机器人时它不会重置
- typescript - 我无法在测试数据库上运行测试,服务未定义
- c++ - std::unique_ptr 中的抽象类作为函数的返回不起作用
- laravel - Laravel Cronjob :: 状态:404 Not Found X-Powered-By:PHP/7.3.20 内容类型:text/html;charset=UTF-8 未指定输入文件