Kubernetes

adopt

Kubernetes has developed into the quasi-standard for container orchestration: Nearly every cloud provider provides managed Kubernetes, and even Docker Enterprise uses Kubernetes. We are running several production systems with Kubernetes and we are using it in concepts such as:

  • "secrets" and "configmaps" to manage configurations for the applications. By updating these resources with an automated configuration pipeline you have a great method for configuration management.
  • Autoscaling of Kubernetes nodes and the usage of "horizontal pod scaling" inside Kubernetes allows elastic scaling
  • The support of managing permissions with OAuth allows you to secure Kubernetes with Keycloak (SSO)
  • Kubernetes extensibility and API can be used for automation and customization. There is a growing ecosystem around extensions, which adds additional features.

Revisions:

assess | March 2017

Kubernetes is a container orchestration platform, which supports many different infrastructure providers. It allows you to deploy containers and takes care of running, scaling or self-healing your applications based on configurations you provide. It's based on years of knowledge and experience Google gained by using containers.

At AOE, we started Kubernetes in a test environment on bare metal to experiment with it. It's currently used for running AOE internal apps such as dashboards as well as running builds in containers. We also started to use it for upcoming projects to run and manage several services. There are Tools to automate the setup of kubernetes in AWS like Cops. Another helpful tool is Minikube, which allows to test and run kubernetes locally.