kubernetes / cloud-provider-aws

Cloud provider for AWS
https://cloud-provider-aws.sigs.k8s.io/
Apache License 2.0
393 stars 302 forks source link

User story for AWS load balancer controller #203

Closed nckturner closed 1 year ago

nckturner commented 3 years ago

Our story around the cloud-controller-manager and the aws-load-balancer-controller is not clear, and is made worse by the fact that NLB functionality is split across the two [1].

Some thoughts:

  1. We should move all NLB functionality to the aws-load-balancer-controller.
  2. We should unify the installation method (for most common use cases) so that users do not have to do "extra work" to get the same functionality. I think this is accomplished with a unified helm chart, and kops config file support.

An alternative to (1) is we import the aws-load-balancer controller as a library here, but I'm not sure its necessary if the only benefit is slightly easier installation.

/cc @M00nF1sh @kishorj

nckturner commented 3 years ago

Add messaging for users that encourages them to migrate to the aws-load-balancer-controller, eventually should we introduce a feature gate that is on by default, which disables the in-tree NLB functionality?

k8s-triage-robot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

k8s-triage-robot commented 3 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot commented 3 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-ci-robot commented 3 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-928151629): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues and PRs according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue or PR with `/reopen` >- Mark this issue or PR as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
ostrain commented 3 years ago

/reopen

k8s-ci-robot commented 3 years ago

@ostrain: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-928230492): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
ostrain commented 3 years ago

As a user, I'm confused by this. I don't understand the relationship between cloud-provider-aws and aws-load-balancer-controller. Does the latter depend on the former, while providing an alternative implementation of NLB orchestration? How should they be used together?

nckturner commented 3 years ago

/reopen

Essentially cloud-provider-aws is a copy of the in-tree cloud provider, which has the original code for provisioning classic load balancers and NLBs for services of type LoadBalancer. Cloud-provider-aws supports instance target type for NLBs.

The AWS load balancer controller is a more recent controller, which can provision ALBs for ingress resources, and NLBs for services of type LoadBalancer. Originally it only supported the IP target type for NLBs, but since 2.2.0 it has also supported instance target type.

The goal of this task is to define what I think the future should be, which is probably deprecating NLB support in the in-tree provider, since it has essentially been replaced by the AWS load balancer controller. Also, we should determine whether we are happy with asking users to separately install the AWS load balancer controller, or if we should support a bundled install to make things easier.

k8s-ci-robot commented 3 years ago

@nckturner: Reopened this issue.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-930452935): >/reopen > >Essentially cloud-provider-aws is a copy of the in-tree cloud provider, which has the original code for provisioning classic load balancers and NLBs for services of type `LoadBalancer`. Cloud-provider-aws supports instance target type for NLBs. > >The AWS load balancer controller is a more recent controller, which can provision ALBs for ingress resources, and NLBs for services of type `LoadBalancer`. Originally it only supported the IP target type for NLBs, but since 2.2.0 it has also supported instance target type. > >The goal of this task is to define what I think the future should be, which is probably deprecating NLB support in the in-tree provider, since it has essentially been replaced by the AWS load balancer controller. Also, we should determine whether we are happy with asking users to separately install the AWS load balancer controller, or if we should support a bundled install to make things easier. Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
nckturner commented 3 years ago

/remove-lifecycle rotten

julienperignon commented 2 years ago

The AWS load balancer controller is a more recent controller, which can provision ALBs for ingress resources, and NLBs for services of type LoadBalancer. Originally it only supported the IP target type for NLBs, but since 2.2.0 it has also supported instance target type.

@nckturner Jumping on this thread because I was in the same scenario of not understanding who's responsible for what. Is there a way to disable the in-tree controller and let the aws-controller create NLB for target type = instance ?

Cheers

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

sftim commented 2 years ago

@julienperignon

Is there a way to disable the in-tree controller and let the aws-controller create NLB for target type = instance ?

I recommend also filing this via https://github.com/aws/containers-roadmap/issues/new/choose

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-ci-robot commented 2 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-1107897688): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues and PRs according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue or PR with `/reopen` >- Mark this issue or PR as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
kishorj commented 2 years ago

/remove-lifecycle rotten

kishorj commented 2 years ago

/reopen

k8s-ci-robot commented 2 years ago

@kishorj: Reopened this issue.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-1108784498): >/reopen > Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
k8s-ci-robot commented 2 years ago

@nckturner: This issue is currently awaiting triage.

If cloud-provider-aws contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

kishorj commented 2 years ago

/remove-lifecycle rotten

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

k8s-ci-robot commented 1 year ago

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-1398816115): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue with `/reopen` >- Mark this issue as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close not-planned > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
james-callahan commented 1 year ago

/reopen

k8s-ci-robot commented 1 year ago

@james-callahan: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to [this](https://github.com/kubernetes/cloud-provider-aws/issues/203#issuecomment-1455249553): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
malt3 commented 1 year ago

Please reopen this. And please document somewhere in this repo that the other controller exists (and is probably the one you want). This is causing pain and confusion.