kubeflow sak readme old - Evanto/qna GitHub Wiki
SAK Kubeflow is a free open source IaC tool for easy setup and deployment of AWS EKS Kubernetes clusters pre-configured with Kubeflow to help you quickly bring your ML to production. It allows you to start using Kubeflow on AWS in just a fraction of time it normally took before and create a handy GitOps workflow.
SAK Kubeflow uses Terraform for cluster configuration and deployment, ArgoCD to manage all Kubernetes resources (including ArgoCD itself), and Cognito to manage user authentication with user pools.
Kubeflow SAK repository is a cluster structure template for your projects. Modify the .tfvars template to set up your cluster, then deploy it on AWS with a couple of Terraform commands. This simple yet powerful workflow allows to configure and provision multiple dedicated ML-ready Kubeflow Kubernetes clusters (with different settings of variables, networks, Kubernetes versions, etc.) in no time.
We believe that any organization or engineer using ML should be able to focus on their applications without having to worry too much about the nitty-gritty of infrastructure deployment.
Kubeflow SAK is available for the Amazon EKS (Elastic Kubernetes Service) Kubernetes cluster. We plan to expand to other platforms soon.
- Provision an AWS EKS cluster with Kubeflow inside in minutes
- Use existing project structure to set up your ML cluster configuration
- Configure your deployment in a single
.tfvars
file - Deploy with a couple of Terraform commands
- Manage your cluster with Terraform and Kubernetes CLI or ArgoCD CLI/UI
- Easily edit, reconfigure, rerun, or destroy resources
- Build your own ML training pipelines in Kubeflow
- Configure and deploy as many ML projects as you need fast and easy
- Scale deployments by adding new modules
- Reduce your cloud infrastructure spend with spot instances
- Maximize your workload cost-efficiency
Configure and deploy as many ML-ready clusters as you want.
- Prerequisites
- Sign up for an Amazon account
- Create and configure an IAM user
- Fork and clone this repository
- Install Terraform
- Install AWS CLI
- Configure your EKS cluster before deployment using the repo as a template
- Configure backend.hcl
- Configure variables in
terraform.tfvars
- Deploy your Kubeflow Kubernetes EKS cluster with Terraform commands
- Commit and push the repository
- Manage your Kubernetes cluster with ArgoCD (or configure
kubectl
) and deploy your ML apps to it.
Please visit our Quickstart to get ready with prerequisites, configure your project deployment, and deploy your infrastructure with Terraform commands:
terraform init --backend-config backend.hcl
terraform apply
aws --region <region> eks update-kubeconfig --name <cluster-name>
After the deployment, manage your Kubernetes cluster with Kubernetes CLI or Argocd CLI/UI, and your AWS cluster with AWS CLI or Terraform.
Kubeflow SAK is licensed under the Apache 2.0 License.
We are always happy to hear your thoughts about SAK Kubeflow. Please join our Slack to chat.