使用salt-cloud创建虚拟机
salt-cloud也是基于openstack来做的,它可以支持多种云的使用。比如:Aliyun、Azure、DigitalOcean、EC2、Google Compute Engine、HP Cloud、OpenStack、等等
废话不说直接看如何部署
安装相关组件和依赖包
[root@linux-node1 ~]# yum -y install salt-master salt-minion salt-cloud python-libcloud
修改配置文件
[root@linux-node1 ~]# cd /etc/salt/cloud.providers.d/
[root@linux-node1 cloud.providers.d]# cat openstack.conf
my-openstack-config:
# Set the location of the salt-master
#
minion:
master: 192.168.56.11 # Configure the OpenStack driver
#
identity_url: http://192.168.56.11:5000/v2.0/tokens
compute_name: nova
protocol: ipv4 compute_region: RegionOne
# 注意这里的类型可以通过openstack endpoint list 查看到 # Configure Openstack authentication credentials
#
user: demo
password: demo
# tenant is the project name
tenant: demo
# 项目名称 provider: openstack # skip SSL certificate validation (default false)
insecure: false
配置saltstack
[root@linux-node1 cloud.providers.d]# systemctl start salt-master
[root@linux-node1 cloud.providers.d]# vim /etc/salt/minion
master: 192.168.56.12
[root@linux-node1 cloud.providers.d]# systemctl start salt-minion
[root@linux-node1 cloud.providers.d]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
linux-node1.oldboyedu.com
Rejected Keys:
[root@linux-node1 cloud.providers.d]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
linux-node1.oldboyedu.com
Proceed? [n/Y] y
Key for minion linux-node1.oldboyedu.com accepted.
[root@linux-node1 cloud.providers.d]# salt '*' test.ping
linux-node1.oldboyedu.com:
True
测试salt-cloud能否连接上openstack
###### 列出所有云主机的镜像
[root@linux-node1 cloud.providers.d]# salt-cloud --list-images openstack -l debug
...........................
............................
...........................
my-openstack-config:
----------
openstack:
----------
cirros:
----------
driver:
extra:
----------
created:
2015-12-23T16:47:33Z
metadata:
----------
minDisk:
0
minRam:
0
progress:
100
serverId:
None
status:
ACTIVE
updated:
2015-12-23T16:47:33Z
get_uuid:
id:
90f1b52f-25dd-43f1-9f78-4d4de67aabfe
name:
cirros
uuid:
b22ad8d988b5925dc328cdc21a84a7670fbda0c4
##### 列出所有云主机的类型
[root@linux-node1 cloud.providers.d]# salt-cloud --list-size openstack -l debug
编写虚拟机的创建文件
[root@linux-node1 cloud.profiles.d]# pwd
/etc/salt/cloud.profiles.d [root@linux-node1 cloud.profiles.d]# cat web.conf
web-node:
provider: my-openstack-config # /etc/salt/cloud.providers.d/openstack.conf的ID
size: m1.tiny # 云主机的类型
image: cirros # 使用的镜像名称
ssh_key_file: /root/.ssh/id_rsa # 密钥
ssh_key_name: mykey # openstack页面中,访问安全里面找密钥对
ssh_interface: private_ips
networks: # 设置使用的网络,可以从openstack页面的网络板块中找
- fixed:
- 8fb1d37e-414f-4f5d-89f7-8d20fa8fabed
minion:
master: 192.168.56.11
grains:
role: webserver
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@linux-node1 cloud.profiles.d]# salt-cloud -p web-node node1 -l debug
执行后,可以在web界面看见创建的虚拟机node1,但是有个问题没有解决,就是可以远程,但是6080 vnc不能使用。。。。。。。。后续解决。。。。
参考内容
https://docs.saltstack.com/en/latest/topics/cloud/openstack.html#configuration
使用salt-cloud创建虚拟机的更多相关文章
- nova创建虚拟机源码分析系列之一 restful api
开始学习openstack源码,源码文件多,分支不少.按照学习的方法走通一条线是最好的,而网上推荐的最多的就是nova创建虚机的过程.从这一条线入手,能够贯穿openstack核心服务.写博文仅做学习 ...
- 在 Linux 上创建虚拟机规模集和部署高度可用的应用
利用虚拟机规模集,可以部署和管理一组相同的.自动缩放的虚拟机. 可以手动缩放规模集中的 VM 数,也可以定义规则,以便根据资源使用情况(如 CPU 使用率.内存需求或网络流量)进行自动缩放. 在本教程 ...
- centos7安装kvm环境采用网桥模式并创建虚拟机制作openstack需要的镜像
初始环境的安装:centos7 mini iso镜像进行安装的系统 采用的环境是vm该软件,联网方式NAT模式下配置的静态ip(如何在NAT模式下配置静态ip参考之前的文章) 1.由于要安装kvm环境 ...
- 使用Azure REST API创建虚拟机
Hollis Yao, Shihao Rong 使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...
- openstack学习(三)创建虚拟机
1 , 用图形管理界面创建虚拟机 #virt-manager //打开图形管理界面 配置文件一般存放于/etc/libvirt/qemu 然后按照提示一步步安装即可,网络连接方式改为桥接 导出创 ...
- VirtrualBox使用已存在的镜像创建虚拟机
再将一个已经存在的虚拟机镜像拷贝为另一个新的虚拟机镜像后,要将该新的镜像添加到新的虚拟机中时会出现错误提示,从而导致不能创建虚拟机.例如有'D:\App\VirtualBox VMs\CentOS_6 ...
- Azure ARM (11) ARM模式下,创建虚拟机并配置负载均衡器
<Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 在前几章中,我们做了准备工作: 1.创建ARM Resouce Group,叫Lei ...
- salt进程查看插件&salt批量创建用户
接受key 剔除主机 启动 salt-minion-d 软件包的安装 salt '*' state.sls init.env-init test=true salt批量创建用户: ...
- openstack创建虚拟机的步骤
图片来自互联网. 虚拟机启动过程如下: 1.界面或命令行通过RESTful API向keystone获取认证信息.2.keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请 ...
随机推荐
- 自定义对象存入Redis
package com.cms.common; import com.alibaba.fastjson.JSON; import com.qiyi.tvguo.cms.common.utils.Obj ...
- Flex4中的拖动技术
下面列一个最简单的例子,在Flex中,拖动原来如此简单 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?xm ...
- dotnet core在Task中使用依赖注入的Service/EFContext
C#:在Task中使用依赖注入的Service/EFContext dotnet core时代,依赖注入基本已经成为标配了,这就不多说了. 前几天在做某个功能的时候遇到在Task中使用EF DbCon ...
- SIM_AT_Command
下面是GET请求 AT+HTTPPARA? 查询设置的Para命令 AT+SAPBR=1,1 (模块启动后设置一次即可)OK AT+HTTPINIT (初始化)OK AT+HTTPPARA=CONTE ...
- React入门基础(学习笔记)
这篇博客是我通过阅读React官方文档的教程总结的学习笔记,翻译可能存在误差,如有疑问请参见http://reactjs.cn/react/docs/tutorial.html . 一.所需文件 在编 ...
- 131. 分割回文串 javascript实现
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa",&quo ...
- 广东ACM省赛 E题
题意: 输入一个P 使得存在一个一个N大于等于P, 并且存在m 等于 m/n * (m-1)/(n-1)=1/2. 思路 此题可以利用佩尔方程求解, 也可以打表解决.本次我解决利用的是佩尔方程(其实也 ...
- 01_基于TCP的循环为同一个客户端下载文件的下载器
原版: TCP分为客户端(client)和服务器(server),每次服务器只能为客户端提供一次的下载服务. 改良版: TCP分为客户端(client)和服务器(server), (1)每次服务器能为 ...
- 剑指 Offer——数字在排序数组中出现的次数
1. 题目 2. 解答 时间复杂度为 \(O(n)\) 的算法,顺序遍历数组,当该数字第一次出现时开始记录次数. class Solution { public: int GetNumberOfK(v ...
- WeakHashMap介绍
WeakHashMap简介 WeakHashMap 继承于AbstractMap,实现了Map接口. 和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key ...