hintofbasil / digitalocean-floating-ip-controller

Keeps floating IPs assigned to your Kubernetes cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

digitalocean-floatingip-controller

Keeps floating IPs assigned to your Kubernetes cluster

Overview

This project is intended to be run as a Kubernetes pod inside a DOK (DigitalOcean Kubernetes) cluster.

The controller will assign a floating IP (via the DigitalOcean API) to a cluster node. The lifecycle of the application is:

  1. Get list of nodes
  2. Select a node to assign
  • Currently the first returned node is selected
  1. Check if the IP is already assigned to this node
  • If so, do nothing
  • If not, assign it
  1. Sleep for a time, then repeat

Configuration

You must provide the following as environment variables:

  • DIGITALOCEAN_TOKEN
    • DigitalOcean API token
  • FLOATING_IP
    • Floating IP address that this controller manages

You can provide the following as environment variables:

  • NODE_SELECTOR
    • Value for labelSelector on the node query

Deploy

You can customize the deploy.yaml file then kubectl apply it to install to a cluster. You can also use kustomize in the subdirectory.

About

Keeps floating IPs assigned to your Kubernetes cluster

License:MIT License


Languages

Language:Shell 59.0%Language:Smarty 37.7%Language:Dockerfile 3.3%