1. Terraform是什么?
Terraform 是一种安全有效地构建、更改和版本化控制管理基础设施的工具。它的目标是 "Write, Plan, and create Infrastructure as Code", 基础架构即代码。具体的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果就是开发运维变得非常高效而且不易出错。Terraform 几乎可以支持所有市面上能见到的云服务,所以在管理云服务时经常被使用。

2. Terraform的核心功能
4. 自动化变更(Change Automation)
把复杂的变更集应用到基础设施中,而无需人工交互。使用前面提到的执行计划和资源图表,可以确切的知道Terraform将会做哪些变更,以什么顺序改变,从而避免一些可能的人为错误。
3. H2O.ai环境部署
那么下面就让我们来看下,如何利用Terraform在OCI(Oracle Cloud Infrastructure)上快速搭搭建H2O.ai环境。
可能有部分人对H2O.ai这个产品比较陌生,我稍微来介绍下。




对数据集的可视化分析界面

wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip

sudo unzip ./terraform_0.11.13_linux_amd64.zip -d /usr/local/bin/# 如未安装unzip时 执行如下代码sudo apt-get install -y unzip

terraform

curl -o ~/env-vars.sh https://raw.githubusercontent.com/cloud-partners/oci-prerequisites/master/env-vars.sh

cat env-vars.sh


source ~/env-vars.sh
git clone https://github.com/oracle/oci-quickstart-h2o.gitcd oci-quickstart-h2o/terraformls

terraform init

terraform plan

terraform apply
key: Set to the value of your key. If empty, you will be prompted to enter your key at first login. shape: Default BM.GPU2.2, these templates support both CPU and GPU (higher performance) shapes. ad_number: Default 0, choose a value where you have quota for the desired shape. disk_size_gb: Default 0, size of block volume in GB for data, min 50. If set to 0 volume will not be created/mounted user: Default admin, these templates set up local authentication using file /etc/dai/htpasswd password: Default admin
GPU申请权限可参照如下连接
https://medium.com/oracledevs/getting-started-with-gpu-instances-in-oracle-cloud-cb58720a4b88
获取GPU权限后,重新执行terraform apply时,可以确认如下画面。复制URL在浏览器打开即可登陆H2O.ai环境

同意Agreement并登陆

用户名密码在variables.tf文件中可以获得,均为admin


执行如下代码,可以确认利用Terraform创建的H2O.ai VM Instance
ssh -i ~/.ssh/oci opc@<Public IP Address>

如需要删除环境也非常简单,可以执行如下代码
terraform destroy
是不是非常方便?试想一下当你创建一个环境时可以通过Cloud的图形化界面进行开发,但是如果要创建10个100个呢?显然Terraform要方便快捷很多!
今天的内容就到这里,谢谢大家。




