Giter Site home page Giter Site logo

fixerivan / k8s-multicluster-ingress Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/k8s-multicluster-ingress

0.0 0.0 0.0 51.01 MB

kubemci: Command line tool to configure L7 load balancers using multiple kubernetes clusters

License: Apache License 2.0

Go 99.13% Makefile 0.42% Shell 0.45%

k8s-multicluster-ingress's Introduction

kubemci

GoReportCard Widget Coveralls Widget GoDoc Widget Slack Widget

kubemci is a tool to configure Kubernetes ingress to load balance traffic across multiple Kubernetes clusters.

This is a Google Cloud Platform beta tool, suitable for limited production use cases: https://cloud.google.com/kubernetes-engine/docs/how-to/setup-multi-cluster-ingress

Getting started

You can try out kubemci using the zone printer example.

Follow the instructions as detailed here.

To create an HTTPS ingress, follow the instructions here.

More information

We have a video explaining what kubemci is intended for. It also shows a demo of setting up a multicluster ingress.

We also have an FAQ for common questions.

Contributing

See CONTRIBUTING.md for instructions on how to contribute.

You can also checkout existing issues for ways to contribute.

Feedback

If you are using kubemci, we would love to hear from you! Tell us how you are using it and what works and what does not: GoogleCloudPlatform#117

Caveats

  • Users will be need to specify a unique NodePort for their multicluster services (that should be available across all clusters). This is a pretty onerous requirement, required because health checks need to be the same across all clusters.

  • This will only work for clusters in the same GCP project. In future, we can integrate with Shared VPC to enable cross project load balancing.

  • Load balancing across clusters in the same region will happen in proportion to the number of nodes in each cluster, instead of number of containers.

  • Since ILBs and ingress share the same instance groups (IGs), there is a race condition where deleting ILBs can cause the IG supposed to be used for multicluster ingress to be deleted. This will be fixed in the next ingress controller forced sync (every 10 mins). The same race condition exists in single cluster ingress as well.

  • Users need to explicitly update all their existing multicluster ingresses (by running kubemci create ingress), if they add nodes from a new zone to a cluster. This is required so that the tool can update backend service and add a new instance group to it.

k8s-multicluster-ingress's People

Contributors

nikhiljindal avatar g-harmon avatar perotinus avatar glindstedt avatar ahmetb avatar anneal avatar madhusudancs avatar csbell avatar kuang-byte avatar cgrant avatar normanjoyner avatar ryane avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.