3 Building an ML platform in Kubernetes
This chapter covers
- Setting up an Amazon EKS Kubernetes cluster using Terraform
- Creating an Ingress using NGINX Ingress Controller
- Deploy an identity provider using Keycloak
- Creating a scalable data science development environment using JupyterHub
- Enabling GPU workloads in Kubernetes
After learning the fundamentals of Kubernetes in the previous chapter, you are now ready to get your hands dirty. We’ll need a real Kubernetes cluster for that. Deploying a production-grade Kubernetes cluster is quite a cumbersome task. Maintaining a Kubernetes cluster control plane is even more arduous. This is the reason most organizations use a managed Kubernetes service to reduce their operational burden. We will also use a managed Kubernetes cluster in this book. This book builds a data analytics and machine learning system on Amazon cloud.
While we’re using AWS for the implementation, it is our goal to keep the architecture we propose in this book cloud-agnostic. Therefore, we won't be sacrificing our commitment to open-source tooling in the pursuit of cloud-native excellence.