黑狐家游戏

k8s service 负载均衡策略probability,深入解析Kubernetes Service负载均衡策略,probability详解与应用

欧气 0 0

本文目录导读:

  1. probability负载均衡策略原理

在Kubernetes中,Service是用于暴露Pod的API对象,而负载均衡则是Service的核心功能之一,Kubernetes提供了多种负载均衡策略,其中probability策略因其独特的优势而备受关注,本文将深入解析probability负载均衡策略,探讨其原理、应用场景以及实现方法。

probability负载均衡策略原理

probability负载均衡策略是一种基于概率的负载均衡方式,它允许用户为Service中每个Pod分配不同的权重,从而实现负载均衡,在probability策略中,请求会被随机分配到具有更高权重的Pod上。

probability策略的原理如下:

1、每个Pod都会被分配一个权重值,权重值可以是0到1之间的任何数值。

k8s service 负载均衡策略probability,深入解析Kubernetes Service负载均衡策略,probability详解与应用

图片来源于网络,如有侵权联系删除

2、当请求到达Service时,根据Pod的权重值计算一个概率值。

3、系统根据计算出的概率值,随机选择一个Pod来处理请求。

三、probability负载均衡策略应用场景

probability负载均衡策略适用于以下场景:

k8s service 负载均衡策略probability,深入解析Kubernetes Service负载均衡策略,probability详解与应用

图片来源于网络,如有侵权联系删除

1、Pod性能差异较大:当Service中的Pod性能存在明显差异时,可以使用probability策略为性能较好的Pod分配更高的权重,从而提高整体性能。

2、特定Pod功能需求:在需要优先保证某些Pod功能的情况下,可以使用probability策略为这些Pod分配更高的权重。

3、实验性部署:在测试或实验性部署过程中,可以使用probability策略对不同的Pod进行测试,观察其性能表现。

四、probability负载均衡策略实现方法

k8s service 负载均衡策略probability,深入解析Kubernetes Service负载均衡策略,probability详解与应用

图片来源于网络,如有侵权联系删除

1、创建Service对象

需要创建一个Service对象,并指定probability负载均衡策略,以下是一个示例YAML配置文件:

apiVersion: v1
kind: Service
metadata:
  name: example-service
spec:
  selector:
    app: example-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  type: LoadBalancer
  sessionAffinity: None
  loadBalancerIP: 10.0.0.10
  externalTrafficPolicy: Local
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: LoadBalancer
  externalTrafficPolicy: Local
  sessionAffinity: None
  loadBalancerSourceRanges:
    - 192.168.1.0/24
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: example-app
  loadBalancerIP: 10.0.0.10
  type: Load

标签: #k8s service 负载均衡策略 主备

黑狐家游戏
  • 评论列表

留言评论