大佬教程收集整理的这篇文章主要介绍了在 Azure Kubernetes 服务中使用 DaemonSet 时,Azure LoadBalancer 丢失了一些请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 Azure 内部负载均衡器存在一些问题,它指向我在 Kubernetes 服务中运行的 Pod 的 DaemonSet。
集群有 3 个节点。
我在使用 DaemonSet 进行一些 jmeter 测试(无压力测试)时观察到一些请求丢失,响应状态为 502。(大约 3% 的错误)这不是来自我的 Pod 的错误,而是来自我假设的 LoadBalancer,因为我的 Pod 上没有针对这些请求的日志。
但是,当我使用带有一个实例的 Deployment 进行相同的测试时,没有错误或 0.01% 之类的错误。 所以这不是因为 Pod 负载,因为单实例 Pod 的负载大于 3 个实例。
我的 DaemonSet/服务配置:
APIVersion: apps/v1
kind: DaemonSet
Metadata:
name: 'app-BACkend'
spec:
SELEctor:
matchLabels:
app: 'app-BACkend'
updateStrategy:
type: Rollingupdate
rollingupdate:
maxUnavailable: 1
template:
Metadata:
labels:
app: 'app-BACkend'
spec:
containers:
- name: 'app-BACkend'
image: 'some-image'
ports:
- containerPort: 8080
---
APIVersion: v1
kind: service
Metadata:
name: 'app-BACkend'
Annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
loadBalancerIP: 10.128.249.60
ports:
- port: 80
targetPort: 8080
SELEctor:
app: 'app-BACkend'
获取服务 kubernetes 命令:
kubectl get services -n some-namespace
name TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
app-BACkend LoadBalancer 10.0.80.229 10.128.249.60 80:30084/TCP 97m
获取端点 kubernetes 命令:
kubectl get endpoints -n in2data
name ENDPOINTS AGE
app-BACkend 10.244.0.31:8080,10.244.1.26:8080,10.244.2.25:8080 104m
服务似乎正确地指向所有 Pod,所以问题是为什么在部署 DaemonSet 时会出现错误,而在单实例部署时却没有错误。
这些结果是可重复的,所以这不是一些网络问题。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的在 Azure Kubernetes 服务中使用 DaemonSet 时,Azure LoadBalancer 丢失了一些请求全部内容,希望文章能够帮你解决在 Azure Kubernetes 服务中使用 DaemonSet 时,Azure LoadBalancer 丢失了一些请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。