Tencent Kubernetes Engine (TKE) allows you to use the
kubernetes.io/ingress.existLbId: <LoadBalanceId> annotation to specify an existing CLB instance associated with an ingress.
Different from services that can reuse the same CLB instance, ingresses cannot use the same CLB instance.
Ingress Controllerin the CLB console. Your updates will be overwritten by
Service Controllercannot be used. This means a service and an ingress cannot use the same CLB.
Ingress Controllerdoes not manage CLB resources. This means that, when an ingress is deleted, the CLB will not be deleted or recycled.
Ingress Controller manages the CLB lifecycle, you can only purchase pay-as-you-go CLBs. However, monthly subscription CLBs have price advantages and are preferentially selected by users who need to continuously use a CLB.
In such scenarios, you can independently purchase and manage a CLB, use an annotation to enable an ingress to use an existing CLB, and detach CLB lifecycle management from
Ingress Controller. The following shows a sample.
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.existLbId: lb-mgzu3mpx name: nginx-ingress spec: rules: - http: paths: - backend: serviceName: nginx-service servicePort: 80 path: /
kubernetes.io/ingress.existLbId: lb-mgzu3mpxannotation indicates that the ingress will use the existing CLB
lb-mgzu3mpxto configure the ingress service.