This Terraform configuration demonstrates how to use the DAOS Terraform Modules to deploy a DAOS cluster.
List of Terraform files in this example
Filename | Description |
---|---|
main.tf | Main Terrform configuration file containing resource definitions |
variables.tf | Variable definitions for variables used in main.tf |
versions.tf | Provider definitions |
terraform.tfvars.perf.example | Pre-Configured variables for a cluster that is optimized for performance |
terraform.tfvars.tco.example | Pre-Configured variables for a cluster that is optimized for lower cost of ownership |
To deploy this example, see the instructions in Deploy the DAOS Cluster Example.
As an alternative to viewing the instructions as a standalone document, you can view the document as an in-context tutorial in Cloud Shell by clicking the button below.
Copyright 2023 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Name | Version |
---|---|
terraform | >= 1.2 |
~> 4.84.0 |
No providers.
Name | Source | Version |
---|---|---|
daos_client | ../../modules/daos_client | n/a |
daos_server | ../../modules/daos_server | n/a |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
allow_insecure | Sets the allow_insecure setting in the transport_config section of the daos_*.yml files | bool |
false |
no |
client_gvnic | Use Google Virtual NIC (gVNIC) network interface on DAOS clients | bool |
false |
no |
client_instance_base_name | Base name for DAOS client instances | string |
"daos-client" |
no |
client_labels | Set of key/value label pairs to assign to daos-client instances | any |
{} |
no |
client_machine_type | GCP machine type. ie. c2-standard-16 | string |
"c2-standard-16" |
no |
client_number_of_instances | Number of daos clients to bring up | number |
16 |
no |
client_os_disk_size_gb | OS disk size in GB | number |
20 |
no |
client_os_disk_type | OS disk type ie. pd-ssd, pd-standard | string |
"pd-ssd" |
no |
client_os_family | OS GCP image family | string |
"daos-client-hpc-rocky-8" |
no |
client_os_project | OS GCP image project name. Defaults to project_id if null. | string |
null |
no |
client_preemptible | If preemptible instances | string |
false |
no |
client_service_account | Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template.html#service_account. | object({ |
{ |
no |
client_tags | Set of key/value label pairs to assign to daos-client instances | list(any) |
[ |
no |
network_name | Name of the GCP network | string |
"default" |
no |
project_id | The GCP project | string |
n/a | yes |
region | The GCP region | string |
n/a | yes |
server_daos_crt_timeout | crt_timeout | number |
300 |
no |
server_daos_disk_count | Number of local ssd's to use | number |
16 |
no |
server_gvnic | Use Google Virtual NIC (gVNIC) network interface | bool |
false |
no |
server_instance_base_name | Base name for DAOS server instances | string |
"daos-server" |
no |
server_labels | Set of key/value label pairs to assign to daos-server instances | any |
{} |
no |
server_machine_type | GCP machine type. ie. e2-medium | string |
"n2-custom-36-215040" |
no |
server_number_of_instances | Number of daos servers to bring up | number |
4 |
no |
server_os_disk_size_gb | OS disk size in GB | number |
20 |
no |
server_os_disk_type | OS disk type ie. pd-ssd, pd-standard | string |
"pd-ssd" |
no |
server_os_family | OS GCP image family | string |
"daos-server-hpc-rocky-8" |
no |
server_os_project | OS GCP image project name. Defaults to project_id if null. | string |
null |
no |
server_pools | List of pools and containers to be created | list(object({ |
[] |
no |
server_preemptible | If preemptible instances | string |
false |
no |
server_service_account | Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template.html#service_account. | object({ |
{ |
no |
server_tags | Set of key/value label pairs to assign to daos-server instances | list(any) |
[ |
no |
subnetwork_name | Name of the GCP sub-network | string |
"default" |
no |
subnetwork_project | The GCP project where the subnetwork is defined | string |
null |
no |
zone | The GCP zone | string |
n/a | yes |
No outputs.