GithubHelp home page GithubHelp logo

gardener-attic / aws-lb-readvertiser Goto Github PK

View Code? Open in Web Editor NEW
4.0 23.0 11.0 15.07 MB

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

License: Other

Makefile 11.33% Go 70.59% Shell 16.75% Dockerfile 1.33%

aws-lb-readvertiser's Introduction

AWS Load Balancer Readvertiser

reuse compliant

The AWS Load Balancer Readvertiser is a tool that is used for AWS Shoot clusters. 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?

โš ๏ธ Please don't forget to update the content of the VERSION file before creating a new release:

$ 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 directory.

aws-lb-readvertiser's People

Contributors

andreasburger avatar ccwienk avatar dimityrmirchev avatar dkistner avatar gardener-robot-ci-1 avatar gardener-robot-ci-2 avatar gardener-robot-ci-3 avatar ialidzhikov avatar kon-angelo avatar msohn avatar raphael-vogel avatar raphaelvogel avatar rfranzke avatar timebertt avatar vpnachev avatar zanetworker avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-lb-readvertiser's Issues

Static Code Analysis

Gardener informs its stakeholders in its CNCF CII Badge, that static code checks are applied by using Checkmarx. This repository has findings, which have to be assessed by the component owner(s). As required all prio high findings were already been immediately assessed. Please find the maximum processing times until when to assess the remaining prio medium findings in the SAP Security Response Team's Wiki (restricted access). At the time being you can ignore the prio low findings. Please find background information and a link to the Checkmarx project for your repository in the Wiki (restricted access). In the Wiki (restricted access) you will as well find information how to get a Checkmarx user which is required to be able to do your assessment in the Checkmarx Web UI.

Unit/Integration Tests (and Coverage)

This component lacks unit/integration tests (and coverage). Should we add them, so that integration in the Gardener becomes safer (in the context of the planned full output qualification and continuous deployment).

Remove unkown IPs from the endpoint

What would you like to be added:
The kubernetes endpoint sometimes is configured with outdated or manually added IPs which are not serving the kube-apiserver of the shoot. Because of this, applications deployed in the clusters are sporadically failing to connect to the kube-apiserver if they hit the wrong IP.

The readvertiser observes this behavior, but it only ensures that the currently active IPs are injected into the endpoint.

time="2020-11-06T12:49:02Z" level=info msg="DNS lookup results are: [10.10.10.10 10.10.10.11]"
time="2020-11-06T12:49:02Z" level=info msg="Kubernetes Endpoint IPs : [\"10.20.20.20\" \"10.10.10.10\" \"10.10.10.11\" \"10.20.20.21\" \"10.20.20.22\" \"10.20.20.22\"]"
time="2020-11-06T12:49:02Z" level=info msg="Nothing to be done"

Why is this needed:
To ensure that the in-cluster applications are always routed to the API server of the cluster.

Static Code Analysis

Gardener informs its stakeholders in its CNCF CII Badge, that static code checks are applied by using Checkmarx. This repository has findings, which have to be assessed by the component owner(s). As required all prio high findings were already been immediately assessed. Please find the maximum processing times until when to assess the remaining prio medium findings in the SAP Security Response Team's Wiki (restricted access). At the time being you can ignore the prio low findings. Please find background information and a link to the Checkmarx project for your repository in the Wiki (restricted access). In the Wiki (restricted access) you will as well find information how to get a Checkmarx user which is required to be able to do your assessment in the Checkmarx Web UI.

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.