⚠️ working on the readme in progress
The sak-incubator repository contains Terraform modules that pass the verification and evaluation stage. After adapting the module to the project, it will get its own repository of the form sak - < module name> and a fixed version. You can offer your modules here
To use modules in your cluster, include some in your project by uncommenting them in the modules.tf
file, set variables for these modules in the example.tfvars
file, and deploy your cluster.
To add or destroy a module, add/remove it in the modules.tf file and run:
terraform plan -out plan && terraform apply plan
SAK Modules:
Some of the SAK modules are core - you can't deploy a cluster without them. Core modules are in bold in the list below. Other modules are optional.
- airflow
- cicd
- ingress
- kfserving
- kubeflow-operator
- kubeflow-prod-default
- kubeflow-profiles
- kubernetes
- logging
- mlflow
- monitoring
- network
- rds
- registry-mirror
- scaling
- storage
- system
Kubernetes module is used to deploy the EKS cluster in Amazon. It creates an autoscaling group (ASG) of EC2 instances in selected accessibility zones and runs containers on those instances, maintaining and scaling them.
Network module is a VPC module for creating networks, load balancers, and gateways.
⚠️ some modules migrate to their repository (like sak-cert-manager, sak-external-dns)
System module configures an EKS cluster with addons and Helm charts - cert-manager (ExternalDNS), external-dns, saled-secrets, kube-state-metrics. Cert-manager is a native Kubernetes certificate management addon to automate issuance and management of TLS certificates. ExternalDNS addon makes Kubernetes resources discoverable via public DNS servers. kube-state-metrics Helm Chart listens to the Kubernetes API server and generates metrics about the state of the objects (deployments, nodes and pods). sealed-secrets manages secretes.
Other (non-core) modules are optional. You can include them in your project by uncommenting them in the modules.tf
file and setting variables for them in the example.tfvars
file. You can also add your own modules to include in your cluster deployments.