Skip to content
External Load Balancer for kubernetes cluster, for homemade projects purposes.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cli/balance
images
install
pkg
.gitignore
.golangci.yml
Dockerfile
README.md
README.zhs.md
build-release.sh
glide.yaml

README.md

English | 简体中文

Introduction

Diagram Diagram

HELB (Homemade External Load-Balancer) does what you would normally see in cloud providers (AWS ELB + EKS or ALIYUN SLB + CSK)

What does HELB do ?

  • Load balance traffic across nodes (why?)
  • Resolve sub-domain DNS for services
  • Assign custom domain names to services, access services without memorizing ip and ports.

Install

Working on better examples see install for deployment into kubernetes cluster

Because kubernetes pods requires port usage declaration upon creation, you port usages in services (see below) are limited to what you specified when you started up HELB

If you want unlimited access, try clone the repo and run go -o helb build cli/balance to build your own copy for bare-metal deployment.

Example

apiVersion: v1
kind: Service
metadata:
  annotations:
    helb.v1alpha/alias: code
    helb.v1alpha/cert: default/codessl
    helb.v1alpha/protocol: http
    helb.v1alpha/secure-ports: https
  name: code-server
spec:
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8443
  - name: https
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    app: code-server
  sessionAffinity: None
  type: LoadBalancer

You can’t perform that action at this time.
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.