LBCF说明

组件介绍 : Load Balancer Controlling Framework (LBCF)

LBCF是一款部署在Kubernetes内的通用负载均衡控制面框架,旨在降低容器对接负载均衡的实现难度,并提供强大的扩展能力以满足业务方在使用负载均衡时的个性化需求。

部署在集群内kubernetes对象

在集群内部署LBCF Add-on , 将在集群内部署以下kubernetes对象

kubernetes对象名称

类型

默认占用资源

所属Namespaces

lbcf-controller

Deployment

/

kube-system

lbcf-controller

ServiceAccount

/

kube-system

lbcf-controller

ClusterRole

/

/

lbcf-controller

ClusterRoleBinding

/

/

lbcf-controller

Secret

/

kube-system

lbcf-controller

Service

/

kube-system

backendrecords.lbcf.tkestack.io

CustomResourceDefinition

/

/

backendgroups.lbcf.tkestack.io

CustomResourceDefinition

/

/

loadbalancers.lbcf.tkestack.io

CustomResourceDefinition

/

/

loadbalancerdrivers.lbcf.tkestack.io

CustomResourceDefinition

/

/

lbcf-mutate

MutatingWebhookConfiguration

/

/

lbcf-validate

ValidatingWebhookConfiguration

/

/

LBCF使用场景

LBCF对K8S内部晦涩的运行机制进行了封装并以Webhook的形式对外暴露,在容器的全生命周期中提供了多达8种Webhook。通过实现这些Webhook,开发人员可以轻松实现下述功能:

  • 对接任意负载均衡/名字服务,并自定义对接过程

  • 实现自定义灰度升级策略

  • 容器环境与其他环境共享同一个负载均衡

  • 解耦负载均衡数据面与控制面

LBCF使用方法

  1. 通过扩展组件安装LBCF

  2. 开发或选择安装LBCF Webhook规范的要求实现Webhook服务器

  3. 以下按腾讯云CLB开发的webhook服务器为例

详细的使用方法和帮助文档,请参考lb-controlling-framework文档

使用示例

使用已有四层CLB

本例中使用了id为lb-7wf394rv的负载均衡实例,监听器为四层监听器,端口号为20000,协议类型TCP。

注: 程序会以端口号20000,协议类型TCP为条件查询监听器,若不存在,会自动创建新的

创建新的七层CLB

本例在vpc vpc-b5hcoxj4中创建了公网(OPEN)负载均衡实例,并为之创建了端口号为9999的HTTP监听器,最后会在监听器中创建mytest.com/index.html的转发规则

设定backend权重

本例展示了Service NodePort的绑定。被绑定Service的名称为svc-test,service port为80(TCP),绑定到CLB的每个Node:NodePort的权重都是66

附录

腾讯云CLB LBCF driver

ConfigMap:

Deployment

Service:

最后更新于

这有帮助吗?