Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KubeLB CLI for non-kubernetes usage #11

Open
3 tasks
ahmedwaleedmalik opened this issue May 6, 2024 · 2 comments
Open
3 tasks

KubeLB CLI for non-kubernetes usage #11

ahmedwaleedmalik opened this issue May 6, 2024 · 2 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/needs-information Indicates an issue needs more information in order to work on it.
Milestone

Comments

@ahmedwaleedmalik
Copy link
Member

ahmedwaleedmalik commented May 6, 2024

User Story
As a KubeLB user/admin, I'd like to utilize KubeLB to provide LoadBalancers L4/L7 outside of Kubernetes as well.

Solution details
Introduce KubeLB CLI, which can take YAML as input and create the required configurations on the management cluster. For now, this will only support L4 load balancing.

For example, create an LB like the following on the consumer cluster:

  1. loadbalancer.yaml
apiVersion: kubelb.k8c.io/v1alpha1
kind: LoadBalancer
metadata:
  name: loadbalancer
spec:
  endpoints:
    - addresses:
        - ip: 168.119.189.211
        - ip: 168.119.185.115
      ports:
        - name: a-port
          port: 32019
          protocol: TCP
  ports:
    - name: a-port
      port: 8080
      protocol: TCP
  1. Run kubelb create --loadbalancer loadbalancer.yaml --management-cluster ${path-to-kubeconfig-for-management-cluster}

This should result in the creation of an LB, and CLI should wait for the status to be populated to output the LB IP to the user.

Acceptance criteria
Needs more planning to finalize the feature set for the CLI

  • Introduce KubeLB CLI
  • Ensure that it's compliant with multiple architectures
  • Documentation
@ahmedwaleedmalik ahmedwaleedmalik self-assigned this May 6, 2024
@ahmedwaleedmalik ahmedwaleedmalik added the kind/feature Categorizes issue or PR as related to a new feature. label May 6, 2024
@ahmedwaleedmalik ahmedwaleedmalik added this to the KubeLB v1.1 milestone May 6, 2024
@toschneck
Copy link
Member

Maybe a krew plugin could also do the job

@ahmedwaleedmalik
Copy link
Member Author

Maybe a krew plugin could also do the job

@toschneck The idea is to run this outside of Kubernetes and directly on the VMs themselves. In that case, relying on Kubectl and Krew doesn't sound ideal.

@ahmedwaleedmalik ahmedwaleedmalik removed this from the KubeLB v1.1 milestone Aug 8, 2024
@ahmedwaleedmalik ahmedwaleedmalik removed their assignment Aug 11, 2024
@ahmedwaleedmalik ahmedwaleedmalik added this to the KubeLB v1.2 milestone Aug 27, 2024
@ahmedwaleedmalik ahmedwaleedmalik added the triage/needs-information Indicates an issue needs more information in order to work on it. label Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/needs-information Indicates an issue needs more information in order to work on it.
Projects
None yet
Development

No branches or pull requests

2 participants