kubeflow-cluster
Deepbody-inc/kubeflow-cluster/gke
Terraform module for creating GKE clusters to run Kubeflow
terraform-gke-kubeflow-cluster   A [Terraform][] module for creating a GKE cluster to run Kubeflow on. This module creates a GKE cluster similiar to how the [kfctl][kfctl] tool does, with a few changes: - adds a Cloud SQL instance to use for the metadata store/databases - creates a GCE Persistent Disk to use for the artifact store This module was originally created by the ML Infrastructure team at Spotify to create and manage long-lived GKE clusters for many Kubeflow-using teams at Spotify to use, whereas the kfctl tool and documentation around creating a cluster for Kubeflow tends to assume that individual clusters are quickly spun-up and torn-down by engineers using Kubeflow. For more details on how
| Name | Type | Description | Default |
|---|---|---|---|
| mysql_developer_password | string | CloudSQL MySQL instance developer user password | required |
| mysql_read_only_user_password | string | CloudSQL MySQL instance read only user password | required |
| cluster_region | string | The region of the cluster and is also used for Cloud SQL instance and artifact s | required |
| main_node_pool_min_nodes | string | Value to set for min node count for cluster autoscaler for the main node pool. | required |
| cluster_zone | string | The location of the cluster - can be a zone or region name. Set to zone name for | required |
| upstream_nameservers | string | List of upstream DNS resolvers (IP addresses) to set in kube-dns ConfigMap as up | required |
| gpu_node_pool_name | string | required | |
| env_label | string | Environment label: test, dev, prod | required |
| highmem_node_pool_name | string | required | |
| main_node_pool_max_nodes | string | Value to set for max node count for cluster autoscaler for the main node pool. | required |
| main_node_pool_name | string | required | |
| project | string | GCP project to create the resources in | required |
| cluster_name | string | Name of the GKE cluster, will also be used as a part of the name for related res | required |
| network | string | Set this to the network of another project (along with subnetwork, cluster_secon | required |
| subnetwork | string | https://www.terraform.io/docs/providers/google/r/container_cluster.html#subnetwo | required |
| highmem_node_pool_machine_type | string | "n2-highmem-16" | |
| issue_client_certificate | string | Ideally this should always be set to false, this feature is going away eventuall | false |
| services_secondary_range_name | string | Only set for Shared VPC clusters. https://www.terraform.io/docs/providers/google | "" |
| auto_upgrade | string | "false" | |
| main_node_pool_machine_type | string | "n1-standard-8" | |
| gpu_node_pool_machine_type | string | "n1-standard-8" | |
| min_master_version | string | Minimum version of Kubernetes to install on master (optional), see https://www.t | "" |
| node_version | string | (optional) https://www.terraform.io/docs/providers/google/r/container_cluster.ht | "" |
| istio_enabled | string | Boolean, if Istio is enabled (in Kubeflow versions 0.6 and greater) | false |
| network_policy_enabled | string | Boolean, to enable Network Policy or not | true |
| initial_node_count | string | 3 | |
| timeout | string | "30m" | |
| auto_repair | string | "true" | |
| max_pods_per_node | string | Sets the default_max_pods_per_node setting on the container_cluster resource. | 110 |
| cluster_secondary_range_name | string | Only set for Shared VPC clusters. https://www.terraform.io/docs/providers/google | "" |