diff --git a/.gitignore b/.gitignore index 12e6978..8268763 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Local .terraform directories -**/.terraform/* +.terraform # Terraform lockfile .terraform.lock.hcl diff --git a/examples/gcp/gke-existing_cluster/README.md b/examples/gcp/gke-existing_cluster/README.md index ab7b8c3..c575d5c 100644 --- a/examples/gcp/gke-existing_cluster/README.md +++ b/examples/gcp/gke-existing_cluster/README.md @@ -3,18 +3,29 @@ [![Google Provider Version][badge-tf-google]](https://github.com/terraform-providers/terraform-provider-google/releases) # Anyscale GCP GKE Example - Existing Cluster -This example creates the resources to run Anyscale on GCP GKE with an existing cluster -**Work in progress** - -## Needs to Create: -- DONE - filestore -- DONE - IAM Service Accounts for ControlPlane -- DONE - Firewall -- IAM Service Accounts for Dataplane (?) (needs a cluster role for GKE) -- DONE - storage bucket -- namespace -- helm charts -- configmap + +This example creates the resources to run Anyscale on GCP GKE with an existing GKE cluster. + +## Known Issues on GKE + +- Autopilot GKE clusters are not supported. +- Node auto-provisioning for GKE failing with GPU nodes: https://github.com/GoogleCloudPlatform/container-engine-accelerators/issues/407 +- When choosing "GPU Driver installation", select "Google-managed". + +## terraform.tfvars + +```hcl +anyscale_deploy_env = "..." +anyscale_org_id = "..." # Troubleshooting Org Id + +google_region = "..." +google_project_id = "..." +existing_vpc_name = "..." +existing_subnet_name = "..." +customer_ingress_cidr_ranges = "0.0.0.0/0" +gke_endpoint = "..." +gke_ca_certificate = "..." +``` ## Requirements diff --git a/modules/anyscale-k8s-helm/README.md b/modules/anyscale-k8s-helm/README.md index e61da1d..fe80145 100644 --- a/modules/anyscale-k8s-helm/README.md +++ b/modules/anyscale-k8s-helm/README.md @@ -24,7 +24,7 @@ This module creates Kubernetes helm charts for Anyscale applications and workloa |------|---------| | [helm](#provider\_helm) | 2.15.0 | | [kubernetes](#provider\_kubernetes) | 2.32.0 | -| [time](#provider\_time) | 0.12.0 | +| [time](#provider\_time) | 0.12.1 | ## Modules diff --git a/modules/anyscale-k8s-namespace/README.md b/modules/anyscale-k8s-namespace/README.md index dfb542a..a4c2f9b 100644 --- a/modules/anyscale-k8s-namespace/README.md +++ b/modules/anyscale-k8s-namespace/README.md @@ -12,6 +12,43 @@ This module creates a Kubernetes Namespace for Anyscale. The Anyscale Namespace can also be created via the Anycsale Helm Chart. +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 1.0 | +| [kubernetes](#requirement\_kubernetes) | ~> 2.0 | + +## Providers + +| Name | Version | +|------|---------| +| [kubernetes](#provider\_kubernetes) | 2.32.0 | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [kubernetes_namespace.anyscale](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [cloud\_provider](#input\_cloud\_provider) | (Required) The cloud provider (aws or gcp)

ex:
cloud_provider = "aws"
| `string` | n/a | yes | +| [anyscale\_kubernetes\_namespace](#input\_anyscale\_kubernetes\_namespace) | (Optional) The name of the Kubernetes namespace.

ex:
anyscale_kubernetes_namespace = "anyscale-k8s"
| `string` | `"anyscale-k8s"` | no | +| [kubernetes\_cluster\_name](#input\_kubernetes\_cluster\_name) | (Optional) The name of the Kubernetes cluster.

ex:
kubernetes_cluster_name = "my-cluster"
| `string` | `null` | no | +| [module\_enabled](#input\_module\_enabled) | (Optional) Determines if this module should create resources.

If set to true, `eks_role_arn`, `anyscale_subnet_ids`, and `anyscale_security_group_id` must be provided.
ex:
module_enabled = true
| `bool` | `true` | no | + +## Outputs + +| Name | Description | +|------|-------------| +| [anyscale\_kubernetes\_namespace\_name](#output\_anyscale\_kubernetes\_namespace\_name) | The name of the Kubernetes namespace. |