작업 시나리오
여러 Service 간에 동일한 CLB를 공유하는 기능을 사용하여, 동일한 VIP에 대해 동일한 포트에서 TCP 및 UDP를 동시에 열 수 있도록 지원할 수 있습니다.
참고
여러 Service 간에 동일한 CLB를 공유하는 기능은 다른 시나리오에는 권장되지 않습니다.
관련 설명
2020년 8월 17일 이전에 생성된 TKE 클러스터의 경우, 해당 Service에서 생성된 CLB는 기본적으로 동일한 CLB 공유를 지원합니다.
2020년 8월 17일 이후에 생성된 TKE 클러스터의 경우, 동일한 CLB를 공유하는 여러 Service 기능이 기본적으로 비활성화됩니다.
Service에 CLB 인스턴스를 재사용하려면 티켓 제출을 통해 문의하시기 바랍니다. 클러스터가 TKE Serverless 클러스터인 경우 CLB 재사용이 기본적으로 활성화되지만 다음 사항에 유의해야 합니다.
1.1 수동으로 구매한 CLB 인스턴스만 재사용할 수 있으며 Serverless 클러스터에서 자동으로 구매한 CLB 인스턴스는 재사용할 수 없습니다. 자동으로 구매한 CLB를 재사용하면 오류가 보고됩니다. 이는 Serverless 클러스터에 의해 회수되지 않도록 보호하기 위한 것입니다.
1.2 CLB를 구매하면 Service에 다음 두 Annotation을 추가해야 합니다.
service.kubernetes.io/qcloud-share-existed-lb:"true"
service.kubernetes.io/tke-existed-lbid:lb-xxx
Service와 CLB 인스턴스 간의 구성 관리 및 동기화는 CLB ID라는 LoadBalancerResource 유형의 리소스 객체를 기반으로 합니다. 이 CRD에서 작업을 수행하지 마십시오. 그렇지 않으면 Service가 실패할 수 있습니다.
사용 제한
Service 재사용 시나리오에서 CLB 인스턴스가 관리하는 리스너 수는 CLB 인스턴스의 TOTAL_LISTENER_QUOTA에 따라 달라집니다. 자세한 내용은 문서를 참고하십시오. Service를 재사용하는 시나리오에서는 사용자가 생성한 CLB(Cloud Load Balancer)만 사용할 수 있습니다. 이는 TKE 클러스터에서 생성된 CLB를 재사용할 때 CLB 리소스가 해제되지 않아 리소스 유출이 발생할 수 있기 때문입니다.
참고
현재 TKE에서 생성한 CLB 리소스를 재사용한 후에는 CLB 리소스를 수동으로 관리해야 합니다. 태그가 없기 때문에 CLB의 라이프사이클이 TKE에서 제어되지 않기 때문입니다. 유의하시기 바랍니다.
작업 단계
1. CLB 인스턴스 생성을 참고하여 클러스터가 위치한 VPC에서 공중망 또는 사설망 CLB를 생성합니다
. 2. Deployment 생성 또는 Service 생성을 참고하여 Loadbalancer 유형의 Service를 생성합니다. 로드 밸런서에 기존 사용을 선택하고 1단계에서 생성한 CLB 인스턴스를 선택합니다. 아래 이미지와 같습니다. 3. 여러 Service 간에 동일한 CLB를 공유하려면 2단계를 반복합니다.