Skip to content

Commit f66e0a9

Browse files
chore: specify how to get classic nlb type
Adding clarifications about the current annotation "service.beta.kubernetes.io/aws-load-balancer-type: external" as it sounds confusing and does not show that an "internal" NLB can be achieved using that type.
1 parent c60d5e6 commit f66e0a9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

docs/guide/service/annotations.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ Traffic Routing can be controlled with following annotations:
6363
- <a name="lb-type">`service.beta.kubernetes.io/aws-load-balancer-type`</a> specifies the load balancer type. This controller reconciles those service resources with this annotation set to either `nlb-ip` or `external`.
6464

6565
!!!note ""
66-
- For `nlb-ip` type, controller will provision NLB with IP targets. This value is supported for backwards compatibility
67-
- For `external` type, NLB target type depend on the annotation [nlb-target-type](#nlb-target-type)
66+
- For `nlb-ip` type, controller will provision NLB with IP targets. This value is supported for backwards compatibility, but it is deprecated.
67+
- For `external` type, NLB target type depend on the annotation [nlb-target-type](#nlb-target-type). If used in combination with [lb-scheme](#lb-scheme) set to internal, it will provision an internal NLB.
6868

6969
!!!warning "limitations"
7070
- This annotation should not be modified after service creation.
@@ -416,3 +416,9 @@ Load balancer access can be controlled via following annotations:
416416
The AWS Load Balancer Controller manages Kubernetes Services in a compatible way with the legacy aws cloud provider. The annotation `service.beta.kubernetes.io/aws-load-balancer-type` is used to determine which controller reconciles the service. If the annotation value is `nlb-ip` or `external`, legacy cloud provider ignores the service resource (provided it has the correct patch) so that the AWS Load Balancer controller can take over. For all other values of the annotation, the legacy cloud provider will handle the service. Note that this annotation should be specified during service creation and not edited later.
417417

418418
The legacy cloud provider patch was added in Kubernetes v1.20 and is backported to Kubernetes v1.18.18+, v1.19.10+.
419+
420+
!!!note ""
421+
To be able to provision an internal NLB with target type `instance` it can be achieved with the combination of the following annotations:
422+
- service.beta.kubernetes.io/aws-load-balancer-type: external
423+
- service.beta.kubernetes.io/aws-load-balancer-scheme: internal
424+
- service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: instance

0 commit comments

Comments
 (0)