文档章节

cloudstack之 添加指定IP实例

Firxiao
 Firxiao
发布于 2015/06/08 17:52
字数 792
阅读 386
收藏 1

前言:

一句话来描述terraform话: 基于各种云的api实现管理基础设施的命令行工具

官方原话: Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.

详细简介见:https://www.terraform.io/intro/index.html

一、安装terraform:

下载地址: https://www.terraform.io/downloads.html 

   安装灰常简单: 下载对应系统的压缩包 解压 添加环境变量 然后就OK啦。

   验证安装是否成功:

$terraform --version
Terraform v0.5.3

‍二、配置provider‍

  首先创建一个目录 

  注意: 后面的操作都是在这个目录中完成的

$mkdir cs; cd cs

  创建provider变量文件(不需要更改)

$cat >variables.tf<< EOF
variable "cloudstack_api_url" {}
variable "cloudstack_api_key" {}
variable "cloudstack_secret_key" {}
EOF

  在terraform.tfvars 填写cloudstack api地址及key 

  key生成见下图:

   点击①会生成②

  注意: 将其中url key 等替换为你的

$cat >terraform.tfvars <<EOF
cloudstack_api_url = "http://172.16.165.10:8080/client/api"
cloudstack_api_key = "kSeGs1wiujx-xlIZJ1mTb2FjuM0wzPXyG0bTGdLzXqoBGjp3ErLTdIjM8BPNU6xZRB2WXKZj0QymVtmP-Ze_tw"
cloudstack_secret_key = "oiz3g5xHxg9zW1lgRM7TUpH-C2nhZAX35uBwYslwKI_cNkiJ_ML-6LRPhHchpCpIezdxwk4Qydi7qWQ_2436Lg"
EOF

   配置provider(不需要更改) 

$cat cloudstack.tf
# Configure the CloudStack Provider
provider "cloudstack" {
    api_url = "${var.cloudstack_api_url}"
    api_key = "${var.cloudstack_api_key}"
    secret_key = "${var.cloudstack_secret_key}"
}

   三个配置文件都配置完成后、验证配置:

$terraform plan
Refreshing Terraform state prior to plan...
No changes. Infrastructure is up-to-date. This means that Terraform
could not detect any differences between your configuration and
the real physical resources that exist. As a result, Terraform
doesn't need to do anything.

   无报错就说明配置ok啦

三、创建指定ip实例

   编辑cloudstack.tf

  追加如下内容:

## add  instance
resource "cloudstack_instance" "web" {
    name = "server-1"
    service_offering= "Small Instance"
    network = "test-network"
    template = "CentOS6.6"
    ipaddress = "10.1.1.2"
    zone = "zone1"
}

   注意: 将其中实例的模板、网络、IP等信息替换为你当前环境的, ip地址一定要在你的network的cidr 中哦!!

   执行terraform plan

$terraform plan
There are warnings and/or errors related to your configuration. Please
fix these before continuing.
Warnings:
  * cloudstack_template.CentOS6.6 : CentOS6.6 : resource name can only contain letters, numbers, dashes, and underscores.
This will be an error in Terraform 0.4
No errors found. Continuing with 1 warning(s).
Refreshing Terraform state prior to plan...

The Terraform execution plan has been generated and is shown below.
Resources are shown in alphabetical order for quick scanning. Green resources
will be created (or destroyed and then created if an existing resource
exists), yellow resources are being changed in-place, and red resources
will be destroyed.
Note: You didn't specify an "-out" parameter to save this plan, so when
"apply" is called, Terraform can't guarantee this is what will execute.
+ cloudstack_instance.web
    display_name:     "" => "<computed>"
    expunge:          "" => "0"
    ipaddress:        "" => "10.1.1.2"
    name:             "" => "server-1"
    network:          "" => "test-network"
    service_offering: "" => "Small Instance"
    template:         "" => "CentOS6.6"
    zone:             "" => "zone1"

  检查下实例信息是否正确。

  执行terraform apply提交进行创建

$terraform apply
There are warnings and/or errors related to your configuration. Please
fix these before continuing.
Warnings:
  * cloudstack_template.CentOS6.6 : CentOS6.6 : resource name can only contain letters, numbers, dashes, and underscores.
This will be an error in Terraform 0.4
No errors found. Continuing with 1 warning(s).
cloudstack_instance.web: Creating...
  display_name:     "" => "<computed>"
  expunge:          "" => "0"
  ipaddress:        "" => "10.1.1.2"
  name:             "" => "server-1"
  network:          "" => "test-network"
  service_offering: "" => "Small Instance"
  template:         "" => "CentOS6.6"
  zone:             "" => "zone1"
cloudstack_instance.web: Creation complete
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
The state of your infrastructure has been saved to the path
below. This state is required to modify and destroy your
infrastructure, so keep it safe. To inspect the complete state
use the `terraform show` command.
State path: terraform.tfstate

登录cloudstack界面中验证:

好了现在已经创建了一个指定ip的实例啦

 

最后:

 附上terraform支持cloudstack的功能列表:

https://www.terraform.io/docs/providers/cloudstack/index.html

更多terraform高级功能详见官网: https://www.terraform.io/ 

 

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: centos7 远程重装
下一篇: linux测试硬盘I/O
Firxiao
粉丝 21
博文 100
码字总数 36723
作品 0
浦东
运维
私信 提问
部署Cloudstack环境(cloudstack manager+kvm,适合RHEL/CentOS)

系统:CentOS 6.3 x86_64 版本:Cloudstack 4.2.1 CloudStack是一个开源的具有高可用性及扩展性的云计算平台。支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen...

AnthonyYau
2014/04/22
0
0
CloudStack 4.4学习总结之简介

CloudStack 4.4学习总结之简介 一、CloudStack简介 1、CloudStack是一个开源的具有高可用性及扩展性的云计算平台。 2、其实CloudStack更像是一个商业化过后的产品,有着非常好的用户界面,各...

perofu
2014/10/23
0
2
cloudstack+ceph中解决ceph单点问题

问题描述: 在cloudstack 中用ceph作为主存储时,常常是填入ceph-mon的一台机器ip作为接入口。但是一旦这台机器出现问题,cloudstack将无法访问主存储。 解决方案: 一. 登录到cloustack man...

云中不知人
2018/06/27
0
0
cloudstack4.5安装

cloudstack4.5安装 实验环境: management:CentOS-6.6 cs-manage.qcow2模板虚拟机 ip:192.168.10.230 nfs-server:CentOS-7.1 ip:192.168.10.231 配置nfs、ntp agent:CentOS-7.1 host232:192.......

ld0381
2018/06/29
0
0
开源云平台 CloudStack 4.1.0 安装详解 - 1、管理节点

CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台...

qinerg
2013/07/16
0
35

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
5
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
4
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部