Skip to content

Commit

Permalink
DAOSGCP-114 Documentation updates (#50)
Browse files Browse the repository at this point in the history
Updated documentation to reflect changes for v0.2.0

Signed-off-by: Mark A. Olson <mark.a.olson@intel.com>
  • Loading branch information
markaolson authored May 23, 2022
1 parent d59b944 commit 2553a44
Show file tree
Hide file tree
Showing 11 changed files with 300 additions and 235 deletions.
63 changes: 43 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ This repository contains:

```
.
├── docs Miscellaneousc documentation and Cloud Shell tutorials
├── docs Documentation and Cloud Shell tutorials
├── images Cloud Build config files and Packer templates
│ └── scripts Scripts that Packer runs to configure images
│ └── scripts Scripts that Packer runs to build images
├── terraform Terraform content
│ ├── examples Examples that demonstrate how to use the DAOS Terraform modules
│ └── modules Terraform modules for deploying DAOS server and client instances
└── tools Tools used by pre-commit
```

### Prerequisites
## Prerequisites

In order to deploy DAOS on GCP you will need

Expand All @@ -37,61 +37,84 @@ In order to deploy DAOS on GCP you will need

The documentation in this repository assumes that you will use [Cloud Shell](https://cloud.google.com/shell).

If you use [Cloud Shell](https://cloud.google.com/shell), you do not need to install any software on your system.
With [Cloud Shell](https://cloud.google.com/shell), there is no need to install any software on your system.

If you do not want to use Cloud Shell, you will need to install
- [Git](https://git-scm.com/)
- [Google Cloud CLI](https://cloud.google.com/sdk/docs/install)
- [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)

### Deploy DAOS on GCP
## Deploying DAOS on GCP

Steps to deploy DAOS on GCP
### Pre-Deployment Steps

The following pre-deployment steps are required

1. **Set defaults for Google Cloud CLI (```gcloud```)**

Only needs to be done once in your shell (Cloud Shell or local shell).

2. **Create a Packer image in your GCP project**
2. **Enable service APIs and grant permissions**

Enabling APIs and granting service account permissions only needs to be done once for a GCP project.

3. **Create a Packer image in your GCP project**

In order to build DAOS images with Cloud Build your GCP project must contain a Packer image.

Building the Packer images only needs to be done once for a GCP project.
Building the Packer image only needs to be done once for a GCP project.

3. **Build DAOS Server and Client images**
4. **Build DAOS Server and Client images**

DAOS Server and Client instances are deployed using images that have DAOS pre-installed.

Therefore, the images need to be built prior to running Terraform.
Therefore, the images need to be built prior to running Terraform to deploy a DAOS cluster.

Click the button below to open a Cloud Shell tutorial which will guide you through the pre-deployment steps listed above. If you lose your Cloud Shell session you can always come back to this README and click the button again.

[![DAOS on GCP Pre-Deployment](http://gstatic.com/cloudssh/images/open-btn.png)](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/daos-stack/google-cloud-daos&cloudshell_git_branch=main&shellonly=true&tutorial=docs/tutorials/pre-deployment.md)

### Deploy a DAOS Cluster with Terraform

> Click the button to open an interactive walk-through in Cloud Shell which will guide you through the steps listed above.
>
> [![DAOS on GCP Setup](http://gstatic.com/cloudssh/images/open-btn.png)](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/daos-stack/google-cloud-daos&cloudshell_git_branch=main&shellonly=true&tutorial=docs/tutorials/daosgcp_setup.md)
After completing the pre-deployment steps listed above, you will need to write your own Terraform configuration for your particular use case.

4. **Use DAOS Terraform modules in your Terraform code**
The [terraform/modules](terraform/modules) in this repo can be used in your Terraform configuration to deploy DAOS server and client instances.

You will need to write your own Terraform code for your particular use case.
The [terraform/examples/daos_cluster](terraform/examples/daos_cluster/README.md) example serves as both a reference and a quick way to deploy a DAOS cluster.

Your Terraform code can use the modules in ```terraform/modules``` to deploy DAOS server and client instances.
Click the button below to open a Cloud Shell tutorial that will walk you through using the [terraform/examples/daos_cluster](terraform/examples/daos_cluster/README.md) example to deploy a DAOS cluster.

The example Terraform configurations provided in ```terraform/examples``` can be used as a reference.
[![DAOS Cluster Example](http://gstatic.com/cloudssh/images/open-btn.png)](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/daos-stack/google-cloud-daos&cloudshell_git_branch=main&shellonly=true&tutorial=docs/tutorials/example_daos_cluster.md)

See the [DAOS Cluster](terraform/examples/daos_cluster/README.md) example to learn more about how to use the ```terraform/modules```.
### Deploy a DAOS Cluster with the Google HPC Toolkit

The [HPC Toolkit](https://github.com/GoogleCloudPlatform/hpc-toolkit) is an open-source software offered by Google Cloud which makes it easy for customers to deploy HPC environments on Google Cloud.

The HPC Toolkit allows customers to deploy turnkey HPC environments (compute, networking, storage, etc) following Google Cloud best-practices, in a repeatable manner. It is designed to be highly customizable and extensible, and intends to address the HPC deployment needs of a broad range of customers.

The HPC Toolkit includes the following community examples which use the Terraform modules in this repository.

| HPC Toolkit Community Example | Description |
| ----------------------------- | ----------- |
| [DAOS Cluster](https://github.com/GoogleCloudPlatform/hpc-toolkit/tree/main/community/examples/intel#daos-cluster) | Use the HPC Toolkit to deploy a standalone DAOS cluster |
| [DAOS Server with Slurm cluster](https://github.com/GoogleCloudPlatform/hpc-toolkit/tree/main/community/examples/intel#daos-server-with-slurm-cluster) | Use the HPC Toolkit to deploy a set of DAOS servers for storage and a Slurm cluster in which the compute nodes are DAOS clients. The example demonstrates how to use DAOS storage in a Slurm job. |

If you are just getting started with deploying DAOS on GCP, it is highly recommended to use the HPC Toolkit as it can save you a lot of time as opposed to developing your own Terraform configuration.

## Links

- [Distributed Asynchronous Object Storage (DAOS)](https://docs.daos.io/)
- [Google Cloud Platform (GCP)](https://cloud.google.com/)
- [Google HPC Toolkit](https://github.com/GoogleCloudPlatform/hpc-toolkit)
- [Google Cloud CLI (gcloud)](https://cloud.google.com/cli)
- [Google Cloud Build](https://cloud.google.com/build)
- [Cloud Shell](https://cloud.google.com/shell)
- [Packer](https://www.packer.io/)
- [Terraform](https://www.terraform.io/)


## Development

If you are contributing to the code in this repo, see [Development](docs/development.md)
If you are contributing to this repo, see [Development](docs/development.md)

## License

Expand Down
Loading

0 comments on commit 2553a44

Please sign in to comment.