我有以下架构:
[Service]
/ | \
[Pod1][Pod2][Pod3]
我们声明以下Pod IP:
我正在执行这样的循环:
for ((i=0;i<10000;i++)); do curl http://someUrlWhichRespondsWithPodIP >> curl.txt; done;
此操作将Pod IP写入10000次。我希望它是轮循计划,但事实并非如此。文件看起来与此类似:
192.168.0.1
192.168.0.1
192.168.0.3
192.168.0.2
192.168.0.3
192.168.0.1
服务配置如下:
kind: Service
metadata:
name: service
spec:
type: NodePort
selector:
app: service
ports:
- name: web
protocol: TCP
port: 31001
nodePort: 31001
targetPort: 8080
任何人都知道kubernets使用哪种内部负载平衡?
答案 0 :(得分:3)
您可能正在使用kube-proxy的默认iptables
模式,该模式在随机模式下使用iptables NAT来实现负载平衡。请查看ipvs
支持(https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-ipvs),以了解更多其他模式,包括循环轮询。