Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caicloud/loadbalancer-controller
Kubernetes loadbalancer controller to provision ingress controller dynamically
https://github.com/caicloud/loadbalancer-controller
compass compass-apps controller ingress ingress-controller kubernetes loadbalancer
Last synced: 3 months ago
JSON representation
Kubernetes loadbalancer controller to provision ingress controller dynamically
- Host: GitHub
- URL: https://github.com/caicloud/loadbalancer-controller
- Owner: caicloud
- License: apache-2.0
- Created: 2017-01-18T02:18:37.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-02-05T07:51:58.000Z (almost 4 years ago)
- Last Synced: 2024-11-09T20:37:39.657Z (3 months ago)
- Topics: compass, compass-apps, controller, ingress, ingress-controller, kubernetes, loadbalancer
- Language: Go
- Homepage:
- Size: 15.9 MB
- Stars: 95
- Watchers: 14
- Forks: 50
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-repositories - caicloud/loadbalancer-controller - Kubernetes loadbalancer controller to provision ingress controller dynamically (Go)
README
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [LoadBalancer Controller](#loadbalancer-controller)
- [About the project](#about-the-project)
- [Status](#status)
- [Design](#design)
- [See also](#see-also)
- [Getting started](#getting-started)
- [Layout](#layout)
- [TODO](#todo)# LoadBalancer Controller
## About the project
A LoadBalancer, containing a `proxy` and multiple `providers`, provides external traffic load balancing for kubernetes applications.
A `proxy` is an ingress controller watching ingress resources to provide accesses that allow inbound connections to reach the cluster services.
A `provider` is the entrance of the cluster providing high availability for connections to proxy (ingress controller).
### Status
**Working in process**
This project is still in alpha version.
### Design
Learn more about loadbalancer on [design doc](./docs/design.md)
### See also
- [loadbalancer provider](https://github.com/caicloud/loadbalancer-provider)
## Getting started
### Layout
```
├── cmd
│ └── controller
├── config
├── controller
├── docs
│ └── images
├── hack
│ └── license
├── pkg
│ ├── apis
│ │ └── networking
│ │ └── v1alpha1
│ ├── informers
│ │ ├── internalinterfaces
│ │ └── networking
│ │ └── v1alpha1
│ ├── listers
│ │ └── networking
│ │ └── v1alpha1
│ ├── toleration
│ ├── tprclient
│ │ └── networking
│ │ └── v1alpha1
│ └── util
│ ├── controller
│ ├── lb
│ ├── strings
│ ├── taints
│ └── validation
├── provider
│ └── providers
│ └── ipvsdr
├── proxy
│ └── proxies
│ └── nginx
└── version
```A brief description:
- `cmd` contains main packages, each subdirecoty of `cmd` is a main package.
- `docs` for project documentations.
- `hack` contains scripts used to manage this repository.
- `pkg` contains apis, informers, listers, clients, util for LoadBalancer TPR.
- `provider` contains provider plugins, each subdirectory is one kind of a provider
- `proxy` contains proxy plugins, each subdirectory is one kind of a proxy
- `version` is a placeholder which will be filled in at compile time## TODO
- readjust the directory structure
- update api to v1alpha2
- separate api from the project to clientset
- auto generate clients and informers