mefi

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

README

mefi

  • Mefi - Multi-cluster extension for ingress, based on endpoints, which are replicated cluster by cluster
  • Without any mash and other things overhead

Required

  • Kubernetes clusters without overlay networks. Need RIP or BGP announced pod cidr in network
  • Mefi must be running in all clusters that need balancing ingress traffic
  • Endpoints that need to balance ingress traffic must have a label: default is isMefiRemote=true, param --remote-filter
  • Endpoints for same application must have same name in all clusters

How it's work

  1. Create RBAC for local and remote in all clusters
  2. Prepare config for mefi, example config
  3. Run mefi in all clusters that need balancing ingress traffic. Helm chart
  4. Create kubernetes service with label isMefiRemote=true (default, param --remote-filter) for your pods
  5. Mefi watch and replicate all endpoints from remote clusters in local namespace mefi-system (default, param --mefi-namespace) with name <remote_endpoint_name>-<cluster_name>
    • 5.1. Added label (default isMefiOriginalName, param --original-filter) with original name
    • 5.2. Added label (default isMefiLocal=true, param --local-filter)
  6. Mefi watch replicated endpoints in local cluster with label (default isMefiLocal=true, param --local-filter)
    • 6.1. Mefi receive event with create/update/delete endpoints
    • 6.2. Mefi get all endpoints with label (default isMefiOriginalName, param --original-filter)
    • 6.3. Create/update/delete endpoints in local cluster with merged subsets from replicated endpoints and name based from label value (default isMefiOriginalName, param --original-filter)
  7. Prepare your ingress resource (ingress, httpProxy, ingressRoute, etc) and service (preferably without key spec.selector) in namespace mefi-system (default, param --mefi-namespace)
  8. Profit! You will take multi-cluster balancing ingress traffic

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
k8s
log
Package log initialize and configure a logrus logger.
Package log initialize and configure a logrus logger.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL