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.git
cd oci-quickstart-h2o/terraform
ls
复制
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要方便快捷很多!
今天的内容就到这里,谢谢大家。