Traefik (pronounced like traffic) is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Eureka, Amazon DynamoDB, Rest API, file…) to manage its configuration automatically and dynamically. I wanted to deploy it on Kubernetes for its interesting features like: Connect to Kubernetes API to listen changes and perform on the fly updates Automatic SSL management through Let’s encrypt (SNI) Prometheus native integration HTTP/2 support I really like HAProxy, but in a Kubernetes case, it’s not the recommended solution because of its lake of features.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. I’m using it for Nousmotards and decided to build an Ansible role for it to make it simpler to deploy. Why did I built it as other projects like Kargo already exists? I just wanted a simple and maintainable role based on CoreOS official documentation. That’s what I did: This role bootstrap a Kubernetes cluster based on CoreOS Container Linux for production usages.