Skip to content

anyscale/terraform-kubernetes-anyscale-foundation-modules

Repository files navigation

Build Status Terraform Version Kubernetes Provider Version

Terraform Modules for Anyscale Kubernetes Foundations

Terraform modules to manage Kubernetes infrastructure for Anyscale. This builds the foundational cloud resources needed to run Anyscale on Kubernetes and should be paired with the Anyscale AWS and Anyscale GCP Terraform Modules.

THIS IS PROVIDED AS A STARTING POINT

USE AT YOUR OWN RISK

Kubernetes Resources

To streamline long-term management and to enable customization, we've modularized the resources into the following Terraform sub-modules:

  • anyscale-k8s-helm - Required Helm Charts for Anyscale on Kubernetes
  • anyscale-k8s-configmap - A sample configmap for Anyscale. This can also be managed via the Anyscale Kubernetes Manager Helm Chart.
  • anyscale-k8s-namespace - The Namespace for Anyscale. This can also be managed via the Anyscale Kubernetes Manager Helm Chart.

Customization

These modules are designed with best practices in mind, ensuring a secure, efficient, and scalable Anyscale deployment. Each module is standalone, allowing you the flexibility to disable any you don't need. This is handy if you're looking to incorporate custom solutions for specific resources.

Examples

The examples folder has a couple common use cases that have been tested. These include:

Additional examples can be requested via an issues ticket.

Specific Module Notes

Reporting Issues

We use GitHub Issues to track community reported issues and missing features.

Known Issues/Untested

Requirements

Name Version
terraform >= 1.0
helm ~> 2.0
kubernetes ~> 2.0
time >= 0.12

Providers

No providers.

Modules

No modules.

Resources

No resources.

Inputs

Name Description Type Default Required
cloud_provider (Required) The cloud provider (aws or gcp)

ex:
cloud_provider = "aws"
string n/a yes
aws_controlplane_role_arn (Optional) The ARN of the AWS IAM role that will be used by the EKS cluster to access AWS services.

Required if cloud_provider is set to aws.

ex:
aws_controlplane_role_arn = "arn:aws:iam::123456789012:role/my-eks-controlplane-role"
string null no
aws_dataplane_role_arn (Optional) The ARN of the AWS IAM role that will be used by the EKS cluster to access AWS services.

Required if cloud_provider is set to aws.

ex:
aws_dataplane_role_arn = "arn:aws:iam::123456789012:role/my-eks-dataplane-role"
string null no
kubernetes_cluster_name (Optional) The name of the Kubernetes cluster.

ex:
kubernetes_cluster_name = "my-cluster"
string null no

Outputs

No outputs.