WORK IN PROGRESS
This repo contains configuration templates to provision Kubernetes clusters on AWS using Cloud Formation
and Ubuntu Linux
_.
Many values are parameterized and values are not always visible. We're focusing on solving our own, specific/Zalando use case. However, we are open to ideas from the community at large about potentially turning this idea into a project that provides universal/general value to others. Please contact us via our Issues Tracker with your thoughts and suggestions.
Configuration in this repository initially was based on kube-aws_, but now depends on four components which aren't all yet open sourced:
Cluster Lifecycle Manager
_ to provision the cluster's Cloud Formation stack and apply Kubernetes manifests for system componentsLean more about Zalando's cloud native journey by reading the Zalando Case Study on kubernetes.io
.
See our Running Kubernetes in Production on AWS document
for details on the setup.
External DNS
_AWS OIDC IAM
cluster/manifests
_ directoryFabric API Gateway
, which can be used in combination with stackset-controllerCluster Lifecycle Manager
_OAuth Token Info
_ is available to validate user tokensCluster Lifecycle Manager
_)Cluster Lifecycle Manager
_)Cluster Lifecycle Manager
_)Cluster Lifecycle Manager
_)Zalando documentation
... _Kubernetes: http://kubernetes.io .. _Cloud Formation: https://aws.amazon.com/cloudformation/ .. _Ubuntu Linux: https://ubuntu.com/ .. _CoreOS Container Linux: https://coreos.com/os/docs/latest .. _kube-aws: https://github.com/kubernetes-retired/kube-aws .. _Senza Cloud Formation tool: https://github.com/zalando-stups/senza .. _OAuth Token Info: http://planb.readthedocs.io/en/latest/intro.html#token-info .. _Cluster Lifecycle Manager: https://github.com/zalando-incubator/cluster-lifecycle-manager .. _External DNS: https://github.com/kubernetes-incubator/external-dns .. _kube2iam: https://github.com/jtblin/kube2iam .. _kube-aws-iam-controller: https://github.com/zalando-incubator/kube-aws-iam-controller .. _AWS OIDC IAM: https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/ .. _cluster-autoscaler: https://github.com/kubernetes/autoscaler .. Running Kubernetes in Production on AWS document: https://kubernetes-on-aws.readthedocs.io/en/latest/admin-guide/kubernetes-in-production.html .. "Kubernetes on AWS at Europe's Leading Online Fashion Platform" on YouTube: https://www.youtube.com/watch?time_continue=2671&v=XmnhzEoengI .. _kube-ingress-aws-controller: https://github.com/zalando-incubator/kube-ingress-aws-controller .. _skipper: https://github.com/zalando/skipper .. _stackset-controller: https://github.com/zalando-incubator/stackset-controller .. _Fabric API Gateway: https://github.com/zalando-incubator/fabric-gateway .. _kube-static-egress-controller: https://github.com/szuecs/kube-static-egress-controller .. _kube-metrics-adapter: https://github.com/zalando-incubator/kube-metrics-adapter .. _Zalando Case Study on kubernetes.io: https://kubernetes.io/case-studies/zalando/ .. _cluster/manifests: https://github.com/zalando-incubator/kubernetes-on-aws/tree/dev/cluster/manifests .. _kube-downscaler: https://github.com/hjacobs/kube-downscaler .. _pdb-controller: https://github.com/mikkeloscar/pdb-controller .. _OpenTracing: https://opentracing.io .. _Zalando documentation: https://kubernetes-on-aws.readthedocs.io/