Cilium + ebpf 系列文章- (七)Cilium-LoadBalancer类型的SVC的IPPool

一、配置全局LoadBalancer类型的SVC的IPPool

apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "pool"
spec:
  blocks:
    - cidr: "20.0.10.0/24"

二、配置基于label的LoadBalancer类型的SVC的IPPool

# Expression selector
apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "pool-primary"
spec:
  blocks:
    - cidr: "60.0.10.0/24"
  serviceSelector:
    matchExpressions:
      - {key: color, operator: In, values: [yellow, red, blue]}
# # Second pool, label selector
apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "pool-green"
spec:
  blocks:
    - cidr: "40.0.10.0/24"
  serviceSelector:
    matchLabels:
      color: green

三、 通过注释获取特定ip的方式(k8s 1.24弃用)并且同时存在CiliumLoadBalancerIPPool

apiVersion: v1
kind: Service
metadata:
  name: service-yellow
  namespace: tenant-c
  labels:
    color: yellow
  annotations:
    "io.cilium/lb-ipam-ips": "30.0.10.100,40.0.10.100,50.0.10.100,60.0.10.100"
spec:
  type: LoadBalancer
  ports:
    - port: 1234
root@server:~# yq pool-yellow.yaml
# Namespace selector
apiVersion: "cilium.io/v2alpha1"
kind: CiliumLoadBalancerIPPool
metadata:
  name: "pool-yellow"
spec:
  blocks:
    - cidr: "50.0.10.0/24"
  serviceSelector:
    matchLabels:
      "io.kubernetes.service.namespace": "tenant-c"
root@server:~# kubectl get svc/service-yellow -n tenant-c
NAME             TYPE           CLUSTER-IP     EXTERNAL-IP               PORT(S)          AGE
service-yellow   LoadBalancer   10.96.76.161   50.0.10.100,60.0.10.100   1234:32555/TCP   11s

*会同时获取到两个地址

       

Note that the Service was allocated two of the requested IP addresses:

  • 50.0.10.100 because it matches the namespace (tenant-c).
  • 60.0.10.100 because it matches the primary colours labels.

        第一个地址匹配SVC。

        第二个地址匹配CiliumLoadBalancerIPPool。

参考资源链接:[Kube-OVN:云原生网络的全能之选,极致性能与易用性兼备](https://wenku.csdn.net/doc/87k0zoimux?utm_source=wenku_answer2doc_content) Kube-OVN结合CiliumeBPF功能,能够显著提升大规模集群环境下的网络性能和资源管理效率。具体来说,Cilium利用eBPF技术提供高效的网络和安全策略执行,这种集成方式允许Kube-OVN更精细地控制网络流量,通过将网络策略直接编程到内核中,减少了传统基于软件的处理方式带来的开销。 为了在大规模集群中优化网络性能,Kube-OVN通过CiliumeBPF的集成,可以实现以下几个方面的性能优化和资源管理: 1. **流量重定向与负载均衡**:eBPF程序可以被用来在内核中动态创建或修改网络路径,实现流量的高效重定向和负载均衡,这对于管理大规模集群中的流量非常关键。 2. **网络策略执行**:eBPF用于在内核中执行网络策略,而不是通过传统的、资源密集型的方式,从而加速策略的执行速度,并降低延迟。 3. **性能监控与调试**:利用eBPF提供的高级性能监控能力,可以实时监控网络性能,快速定位问题,并进行性能调优。 4. **高效的资源隔离**:eBPF程序能够创建微隔离的网络环境,确保即使在大规模集群中,单个Pod或服务的性能也不会受到其他服务的不良影响。 5. **快速网络配置更新**:eBPF允许快速加载和更新网络配置,这对于需要频繁调整策略和配置的大型集群来说是必不可少的。 要实现这些优化,首先需要确保你的Kubernetes集群已经安装了Cilium,并且eBPF功能得到了支持。之后,通过配置Kube-OVN与Cilium的集成来启用eBPF功能。这通常涉及到更新Kube-OVN的配置文件,并在集群中部署相应的Cilium服务。 推荐查看《Kube-OVN:云原生网络的全能之选,极致性能与易用性兼备》一书,该书详细介绍了Kube-OVN与Cilium集成的具体方法和最佳实践,以及如何在实际部署中应用eBPF功能来优化网络性能和资源管理。这本书不仅提供了一手的案例研究,还包含了实用的故障排除技巧和深入的技术细节,是Kube-OVN和Cilium集成学习者不可或缺的资源。 参考资源链接:[Kube-OVN:云原生网络的全能之选,极致性能与易用性兼备](https://wenku.csdn.net/doc/87k0zoimux?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A ?Charis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值