You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Specify Managed Prefix List for access control (#3584)
* feat: new annotation
* feat: new ec2model
* feat: prefix list implement
* chore: annotation docs
* feat: add ingress unit test
* feat: add service unit test
* chore: update example
* chore: multiple pl test
- <aname="security-group-prefix-lists">`alb.ingress.kubernetes.io/security-group-prefix-lists`</a> specifies the managed prefix lists that are allowed to access LoadBalancer.
535
+
536
+
!!!note "Merge Behavior"
537
+
`security-group-prefix-lists` is merged across all Ingresses in IngressGroup, but is exclusive per listen-port.
538
+
539
+
- the `security-group-prefix-lists` will only impact the ports defined for that Ingress.
540
+
- if same listen-port is defined by multiple Ingress within IngressGroup, `security-group-prefix-lists` should only be defined on one of the Ingress.
541
+
542
+
!!!warning ""
543
+
This annotation will be ignored if `alb.ingress.kubernetes.io/security-groups` is specified.
544
+
545
+
!!!warning ""
546
+
If you'd like to use this annotation, make sure your security group rule quota is enough. If you'd like to know how the managed prefix list affects your quota, see the [reference](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html#aws-managed-prefix-list-weights) in the AWS documentation for more details.
547
+
548
+
!!!tip ""
549
+
If you only use this annotation without `inbound-cidrs`, the controller managed security group would ignore the `inbound-cidrs` default settings.
- <aname="security-groups">`alb.ingress.kubernetes.io/security-groups`</a> specifies the securityGroups you want to attach to LoadBalancer.
534
557
535
558
!!!note ""
536
-
When this annotation is not present, the controller will automatically create one security group, the security group will be attached to the LoadBalancer and allow access from [`inbound-cidrs`](#inbound-cidrs) to the [`listen-ports`](#listen-ports).
559
+
When this annotation is not present, the controller will automatically create one security group, the security group will be attached to the LoadBalancer and allow access from [`inbound-cidrs`](#inbound-cidrs)and [`security-group-prefix-lists`](#security-group-prefix-lists)to the [`listen-ports`](#listen-ports).
537
560
Also, the securityGroups for Node/Pod will be modified to allow inbound traffic from this securityGroup.
- <aname="lb-security-group-prefix-lists">`service.beta.kubernetes.io/aws-load-balancer-security-group-prefix-lists`</a> specifies the managed prefix lists that are allowed to access the NLB.
451
+
452
+
!!!warning ""
453
+
this annotation will be ignored if `service.beta.kubernetes.io/aws-load-balancer-security-groups` is specified.
454
+
455
+
!!!warning ""
456
+
If you'd like to use this annotation, make sure your security group rule quota is enough. If you'd like to know how the managed prefix list affects your quota, see the [reference](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html#aws-managed-prefix-list-weights) in the AWS documentation for more details.
457
+
458
+
!!!tip ""
459
+
If you only use this annotation without `load-balancer-source-ranges`, the controller managed security group would ignore the `load-balancer-source-ranges` default settings.
- <aname="lb-scheme">`service.beta.kubernetes.io/aws-load-balancer-scheme`</a> specifies whether the NLB will be internet-facing or internal. Valid values are `internal`, `internet-facing`. If not specified, default is `internal`.
450
467
451
468
!!!example
@@ -465,7 +482,7 @@ Load balancer access can be controlled via following annotations:
465
482
- <aname="security-groups">`service.beta.kubernetes.io/aws-load-balancer-security-groups`</a> specifies the frontend securityGroups you want to attach to an NLB.
466
483
467
484
!!!note ""
468
-
When this annotation is not present, the controller will automatically create one security group. The security group will be attached to the LoadBalancer and allow access from `inbound-cidrs` to the `listen-ports`.
485
+
When this annotation is not present, the controller will automatically create one security group. The security group will be attached to the LoadBalancer and allow access from `load-balancer-source-ranges` and `aws-load-balancer-security-group-prefix-lists` to the `listen-ports`.
469
486
Also, the securityGroups for target instances/ENIs will be modified to allow inbound traffic from this securityGroup.
0 commit comments