如何查看k8s中service的负载均衡策略

在Kubernetes中,Service的负载均衡策略一般由kube-proxy负责,kube-proxy使用iptables或IPVS规则进行负载均衡。默认情况下,kube-proxy使用的是轮询(Round Robin)策略,但是在使用IPVS模式时,可以选择不同的负载均衡算法。

查看kube-proxy模式

首先,你需要确认kube-proxy的工作模式(iptables或IPVS):

bash 复制代码
kubectl get configmap -n kube-system kube-proxy -o yaml

在输出中,查找 mode 字段来确定kube-proxy的模式。例如:

bash 复制代码
apiVersion: v1
data:
  config.conf: |
    kind: KubeProxyConfiguration
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
    mode: "ipvs"

如果模式是 ipvs,则可以继续查看IPVS调度算法。

查看IPVS调度算法

在IPVS模式下,你可以查看当前使用的调度算法。以下是在节点上执行的步骤:

  1. 连接到运行kube-proxy的节点。
  2. 使用以下命令查看IPVS服务和调度算法:
bash 复制代码
sudo ipvsadm -Ln

输出示例:

bash 复制代码
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.96.0.1:443 rr
  -> 192.168.1.1:443              Masq    1      0          0
  -> 192.168.1.2:443              Masq    1      0          0

在这里,rr 表示轮询(Round Robin)调度算法。

相关推荐
lichenyang45313 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang45313 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang45313 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美7 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程