Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gardener-attic/aws-lb-readvertiser

Reacts on changes of the underlying ip addresses of AWS elastic load balancers.
https://github.com/gardener-attic/aws-lb-readvertiser

Last synced: 3 months ago
JSON representation

Reacts on changes of the underlying ip addresses of AWS elastic load balancers.

Awesome Lists containing this project

README

        

# AWS Load Balancer Readvertiser

[![reuse compliant](https://reuse.software/badge/reuse-compliant.svg)](https://reuse.software/)

The AWS Load Balancer Readvertiser is a tool that is used for AWS [Shoot clusters](https://github.com/gardener/documentation/wiki/Architecture). The `kube-apiserver` of a Shoot cluster must be reachable by the `kubernetes` service in the `default` namespace (usually created with service ip `100.64.0.1`). In order to enable that, the apiserver must expose its public ip address. In the Shoot setup, the only way to reach it is via a public load balancer. However, in AWS you don't get an IP address for your load balancers, but only a hostname. The underlying IP address can change at any time. The detection of those changes is exactly the purpose of the Readvertiser. It will watch for the ELB record changes and update the `kubernetes` endpoint of the shoot-cluster with the correct IP(s) properly.

## Constraints

The `kube-apiserver` deployment must reside in the same namespace as the Readvertiser has been deployed to.

## How to build it?

:warning: Please don't forget to update the content of the `VERSION` file before creating a new release:

```bash
$ make release
```

This will build a Go binary, create a new Docker image with the tag you specified in the `Makefile`, push it to our image registry, and clean up afterwards.

## Example manifests

Please find an example Kubernetes manifest within the [`/example`](example) directory.