다음 Annotation을 통해 Service를 구성하여 더 다양한 CLB 기능을 구현할 수 있습니다.
주석 사용 방법
apiVersion: v1
kind: Service
metadata:
annotations:
service.kubernetes.io/tke-existed-lbid: lb-6swtxxxx
name: test
........
Annotation 수집
service.kubernetes.io/loadbalance-id
설명:
현재 Service에서 가져온 LoadBalanceId를 제공하는 읽기 전용 주석입니다. Tencent Cloud CLB 콘솔로 이동하여 클러스터와 동일한 VPC에 있는 CLB 인스턴스의 ID를 볼 수 있습니다.
service.kubernetes.io/qcloud-loadbalancer-internal-subnetid
설명:
이 Annotation은 사설망 CLB 인스턴스 생성을 지정하는 데 사용됩니다. 값은 서브넷 ID입니다.
사용 사례:
service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxxxxxx
service.kubernetes.io/tke-existed-lbid
설명:
기존 CLB 인스턴스를 사용하는 경우 사용 방법에 따라 Tencent Cloud 태그에 미치는 영향이 다르다는 점에 유의해야 합니다.
service.kubernetes.io/local-svc-only-bind-node-with-pod
설명:
Service Local 모드에서는 Pod가 있는 노드만 바인딩됩니다.
사용 사례:
service.cloud.tencent.com/local-svc-weighted-balance
설명:
service.kubernetes.io/local-svc-only-bind-node-with-pod Annotation과 함께 사용됩니다.
CLB 백엔드의 가중치는 노드의 워크로드 수량에 따라 결정됩니다.
사용 사례:
service.kubernetes.io/qcloud-loadbalancer-backends-label
설명:
이 주석은 CLB 백엔드에 바인딩할 노드를 설정하기 위한 태그를 지정하는 데 사용됩니다.
사용 사례:
service.cloud.tencent.com/direct-access
설명:
이 주석은 CLB 인스턴스를 Pod에 직접 연결하는 데 사용됩니다.
service.cloud.tencent.com/tke-service-config
설명:
이 주석은 tke-service-config를 통해 CLB를 구성하는 데 사용됩니다.
service.cloud.tencent.com/tke-service-config-auto
설명:
이 주석은 TkeServiceConfig를 자동으로 생성하는 데 사용됩니다.
service.kubernetes.io/loadbalance-nat-ipv6
설명:
읽기 전용 주석입니다. NAT64 IPv6 CLB 인스턴스를 생성하면 해당 IPv6 주소가 주석에 표시됩니다.
사용 사례:
service.kubernetes.io/loadbalance-nat-ipv6: "2402:4e00:1402:7200:0:9223:5842:2a44"
service.kubernetes.io/loadbalance-type(곧 폐기 예정)
설명:
이 주석은 자동으로 생성되는 CLB 인스턴스의 유형(클래식 CLB 또는 애플리케이션 CLB)을 제어하는 데 사용됩니다.
유효 값: yunapi_clb(클래식), classic(클래식), yunapiv3_forward_clb(애플리케이션)
기본값: yunapiv3_forward_clb(애플리케이션)
주의사항:
특별한 필요가 있지 않는 한, 반복되지 않고 많은 기능이 없는 클래식 CLB를 사용하지 않는 것이 좋습니다. 곧 삭제될 예정입니다.
service.cloud.tencent.com/specify-protocol
설명:
이 주석은 지정된 수신 포트에 대해 TCP, UDP, TCP SSL, HTTP 또는 HTTPS를 구성하는 데 사용됩니다.
service.kubernetes.io/service.extensiveParameters
설명:
이 Annotation은 CLB가 생성될 때 구성된 매개변수를 사용합니다. 생성 시에만 구성할 수 있으며 생성 후에는 수정할 수 없습니다. 주석 생성 후 수정은 유효하지 않습니다.
CLB 인스턴스 생성을 참고하여 생성된 CLB 인스턴스에 사용자 지정 매개변수를 추가합니다. 사용 사례:
NAT64 IPv6 인스턴스 생성:
service.kubernetes.io/service.extensiveParameters: '{"AddressIPVersion":"IPV6"}'
CTCC CLB 구매:
service.kubernetes.io/service.extensiveParameters: '{"VipIsp":"CTCC"}'
생성 시 CLB 이름 사용자 지정:
service.kubernetes.io/service.extensiveParameters: '{"LoadBalancerName":"my_cutom_lb_name"}'
service.cloud.tencent.com/enable-grace-shutdown
설명:
이 주석은 다이렉트 액세스 모드에서 CLB 인스턴스를 정상적으로 종료하는 데 사용됩니다. 삭제된 Pod에 DeletionTimestamp가 포함되어 있고 Terminating 상태인 경우 CLB 백엔드에서 Pod의 가중치가 0으로 조정됩니다.
사용 사례:
다이렉트 액세스 모드에서만 지원되며 service.cloud.tencent.com/direct-access와 함께 사용해야 합니다. 사용 방법에 대한 자세한 내용은 Service 정상 종료를 참고하십시오.
service.cloud.tencent.com/enable-grace-shutdown-tkex
설명:
이 주석은 다이렉트 액세스 모드에서 CLB 인스턴스를 정상적으로 종료하는 데 사용됩니다. Endpoint 객체의 endpoints가 not-ready인 경우 CLB 백엔드의 가중치가 0으로 조정됩니다.
사용 사례:
다이렉트 액세스 모드에서만 지원되며 service.cloud.tencent.com/direct-access와 함께 사용해야 합니다. 자세한 사용 방법은 Service 정상 종료를 참고하십시오.
service.kubernetes.io/qcloud-loadbalancer-internet-charge-type
설명:
CLB의 과금 유형은 생성 시에만 구성할 수 있으며, 생성 후에는 수정할 수 없습니다. 주석 생성 후 수정은 유효하지 않습니다.
이 주석은 CLB 생성 시 CLB 결제 방식을 지정하는 데 사용됩니다. service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out 주석과 함께 사용하십시오.
유효 값:
BANDWIDTH_POSTPAID_BY_HOUR 시간당 대역폭 후불
TRAFFIC_POSTPAID_BY_HOUR 시간당 트래픽 후불
사용 사례:
service.kubernetes.io/qcloud-loadbalancer-internet-charge-type: "TRAFFIC_POSTPAID_BY_HOUR"
service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out
설명:
CLB 대역폭은 생성 시에만 구성할 수 있으며 생성 후에는 수정할 수 없습니다. 주석 생성 후 수정은 유효하지 않습니다.
이 주석은 CLB가 생성될 때 CLB의 최대 아웃바운드 대역폭을 지정하는 데 사용되며, 공중망 LB 인스턴스에만 적용됩니다. service.kubernetes.io/qcloud-loadbalancer-internet-charge-type 주석과 함께 사용하십시오.
유효 값:
값 범위: 1-2,048Mbps.
사용 사례:
service.kubernetes.io/qcloud-loadbalancer-internet-max-bandwidth-out: "2048"
service.cloud.tencent.com/security-groups
설명:
이 Annotation은 보안 그룹을 CLB 유형 Service에 바인딩하는 데 사용됩니다. 최대 5개의 보안 그룹을 CLB에 바인딩할 수 있습니다.
주의사항:
자세한 내용은 CLB 보안 그룹 사용 제한을 참고하십시오. 일반적으로 보안 그룹 트래픽 허용 기능을 기본 활성화해야 CLB와 CVM 간의 트래픽 포워딩이 기본적으로 허용됩니다. CLB에서 발생한 트래픽은 CLB에 바인딩된 보안 그룹에서만 확인하면 됩니다. Annotation은 service.cloud.tencent.com/pass-to-target입니다.
기존 CLB 사용 시 여러 Service에 대해 서로 다른 보안 그룹이 구성된 경우 로직 충돌이 발생할 수 있습니다. 사용 사례:
service.cloud.tencent.com/security-groups: "sg-xxxxxx,sg-xxxxxx"
service.cloud.tencent.com/pass-to-target
설명:
이 Annotation은 CLB 유형 Service에 대한 보안 그룹 트래픽 기본 허용 기능을 구성하는 데 사용됩니다. CLB와 CVM 간의 트래픽 포워딩은 기본적으로 허용됩니다. CLB에서 발생한 트래픽은 CLB에 바인딩된 보안 그룹에서만 확인하면 됩니다.
주의사항:
자세한 내용은 CLB 보안 그룹 사용 제한을 참고하십시오. 일반적으로 보안 그룹 바인딩 기능이 필요합니다. Annotation은 service.cloud.tencent.com/security-groups입니다.
기존 CLB 사용 시 여러 Service에 대해 서로 다른 트래픽 허용 구성이 구성된 경우 로직 충돌이 발생할 수 있습니다. 사용 사례:
service.cloud.tencent.com/pass-to-target: "true"