精华内容
下载资源
问答
  • openstack创建云主机

    千次阅读 2021-02-12 16:47:34
    全网第一份使用open stack命令创建云主机 一.上传镜像 #使用open stack命令上传cirros镜像,命名为cirros [root@controller ~]# openstack image create --disk-format qcow2 --file /root/cirros-0.3.1-x86_64-disk...

    全网第一份使用open stack命令创建云主机

    一.上传镜像

    #使用open stack命令上传cirros镜像,命名为cirros
    [root@controller ~]# openstack image create --disk-format qcow2 --file /root/cirros-0.3.1-x86_64-disk.img cirros
    

    二.创建云主机类型

    #使用open stack命令创建磁盘大小为20G,内存为1G,cpu为1核的small云主机类型
    [root@controller ~]# openstack flavor create --disk 20 --ram 1024 --vcpus 1 small
    #如果想指定swap 分区大小为1G,可在后面加--swap 1024
    

    三.创建网络

    1.创建外网

    #1)使用open stack命令创建外部网络extnet
    [root@controller ~]# openstack network create --project admin --external --provider-network-type flat --provider-physical-network provider "extnet"
    
    
    #2)使用open stack命令创建外部网络的子网extsubnet,浮动IP网段为192.168.35.0/24(这是我虚拟的给的外部网络),网关是192.168.35.2,启动dhcp,dhcp地址池范围为192.168.35.200~192.168.35.249,dns服务器为223.5.5.5
    [root@controller ~]# openstack subnet create --project admin --dhcp --gateway 192.168.35.2 --ip-version 4 --network extnet --allocation-pool start=192.168.35.200,end=192.168.35.249 --dns-nameserver 223.5.5.5 --subnet-range 192.168.35.0/24 "extsubnet"
    

    2.创建内网

    #1)使用open stack命令创建内网intent
    [root@controller ~]# openstack network create --internal --project admin "intnet"
    
    
    #2)使用open stack命令创建内网的子网intsubnet,子网ip段为10.0.0.0/24,网关为10.0.0.1,启动dhcp,dhcp地址池范围为10.0.0.100~10.0.0.200,dns服务器地址为223.5.5.5
    [root@controller ~]# openstack subnet create --dhcp --dns-nameserver 223.5.5.5 --gateway 10.0.0.1 --ip-version 4 --network intnet --project admin --allocation-pool start=10.0.0.100,end=10.0.0.200 --subnet-range 10.0.0.0/24 intsubnet
    

    3.创建路由

    #1)使用open stack命令创建名为ext-route的路由
    [root@controller ~]# openstack router create --project admin "ext-route"
    
    #2)使用open stack命令绑定ext-route和外网extnet,并启动snat
    [root@controller ~]# openstack router set --external-gateway extnet --enable-snat "ext-route"
    
    #3)使用open stack命令为ext-route添加子网intsubnet
    [root@controller ~]# openstack router add subnet ext-route intsubnet
    

    四.创建云主机

    #使用open stack命令创建类型为small,镜像为cirros,网络为intnet,安全组为admin项目有默认的default,名称为test的云主机
    [root@controller ~]# openstack server create --flavor small --image cirros --network intnet --security-group 02afe1eb-d659-456a-b569-ef0c8b637e49 
    "test"
    

    五.绑定浮动IP

    1.生成浮动IP

    #使用open stack命令从外部子网extsubnet中生成一个浮动ip
    [root@controller ~]# openstack floating ip create --subnet extsubnet --project admin "extnet"
    

    2.绑定浮动IP

    #使用open stack命令绑定刚刚生成的浮动ip到云主机上
    [root@controller ~]# openstack server add floating ip test 192.168.35.203
    

    六.测试连通

    #使用ping命令测试连通性
    C:\Users\zzh>ping 192.168.35.203
    
    正在 Ping 192.168.35.203 具有 32 字节的数据:
    来自 192.168.35.203 的回复: 字节=32 时间=1ms TTL=63
    来自 192.168.35.203 的回复: 字节=32 时间<1ms TTL=63
    来自 192.168.35.203 的回复: 字节=32 时间<1ms TTL=63
    来自 192.168.35.203 的回复: 字节=32 时间<1ms TTL=63
    
    192.168.35.203 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    往返行程的估计时间(以毫秒为单位):
        最短 = 0ms,最长 = 1ms,平均 = 0msA
    
    展开全文
  • 使用先电IaaS云平台创建云主机

    千次阅读 热门讨论 2020-07-26 21:48:49
    创建云主机的操作流程使用先电IaaS云平台创建云主机* 创建外部网络* 创建内部网络* 创建路由* 关联网络* 上传 centos 7云主机镜像* 创建安全组* 创建云主机* 绑定浮动IP* 使用远程连接工具连接云主机 1、登录先电...

    使用先电IaaS云平台创建云主机

    1、登录先电IaaS云平台。如图所示。
    在这里插入图片描述
    2、创建网络

    * 创建外部网络

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 创建内部网络

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 创建路由

    在这里插入图片描述
    在这里插入图片描述

    * 关联网络

    在这里插入图片描述
    在这里插入图片描述

    * 上传 centos 7云主机镜像

    在这里插入图片描述

    * 创建安全组

    在这里插入图片描述
    在这里插入图片描述

    * 创建云主机

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 绑定浮动IP

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 使用远程连接工具连接云主机

    在这里插入图片描述
    至此,创建云主机完成。

    展开全文
  • 步骤一:创建云主机 1)创建云主机,如图-18所示: 图-18 图-19 4)云主机类型,如图-20所示: 图-20 5)云主机网络,如图-21所示: 图-21 步骤二:设置安全组规则,允许外界ping通云主机 1)添加...

    7.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:创建云主机

    1)创建云主机,如图-18所示:

    图-18

    图-19

    4)云主机类型,如图-20所示:

    图-20

    5)云主机网络,如图-21所示:

    图-21

    步骤二:设置安全组规则,允许外界ping通云主机

    1)添加规则,如图-22所示:

    图-22

    2)增加ping规则,如图-23所示

    图-23

    7)进入控制台,配置dns的ip为192.168.1.254,浮动ip在案例5已经设置,这里不再重复,通过浮动ip可以ssh连接,如图-24所示:

    图-24

    展开全文
  • ZStack - 创建云主机

    千次阅读 2020-05-12 22:16:58
    / 前言 /        在ZStack的API中, 大多数的API返回的是一个任务结果查询地址, 此时我们就需要根据这个地址轮训去查询任务状态及... 创建云主机之前我们需要先创建云主机计算规格、镜

    / 前言 /

           在ZStack的API中, 大多数的API返回的是一个任务结果查询地址, 此时我们就需要根据这个地址轮训去查询任务状态及结果

    { 
    	"location": "http://localhost:8080/v1/api-jobs/967a26b7431c49c0b1d50d709ef1aef3" 
    }
    

           创建云主机之前我们需要先创建云主机计算规格镜像三层网络物理机主存储云盘

    / API /

    创建云盘规格
    • API名称

      创建云盘规格(CreateDiskOffering)

    • 请求方式

      POST zstack/v1/disk-offerings

    • curl示例

      curl -H "Content-Type: application/json" \
      -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
      -X POST -d '{"params":{"name":"diskOffering1","diskSize":100.0,"sortKey":0.0}}' \ 
      http://localhost:8080/zstack/v1/disk-offerings
      
    • 返回示例

      {"inventory": {
      	"uuid": "e7a865815cd34dd29812d335dc1019bf",
      	"name": "diskOffering1",
      	"diskSize": 100.0,
      	"state": "Enabled",
      	"type": "DefaultDiskOfferingType",
      	"allocatorStrategy": "DefaultPrimaryStorageAllocationStrategy"
      }}
      
    创建云主机
    • API名称

      创建云主机(CreateVmInstance)

    • 请求方式

      POST zstack/v1/vm-instances

    • curl示例

      curl -H "Content-Type: application/json" \
      -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
      -X POST -d '{"params":{"name":"vm1","instanceOfferingUuid":"ae97ced44efc3314b8f7 798972b4ba1a","imageUuid":"da119f7906513eccabf271991c35a65e","l3NetworkUuids":["cc0e4c5e77df3af68e59668e7f9e06c5"],"dataDiskOfferingUuids":["19d22d051b063d379a28 16daaf431838","905d94a6abb5398fa1995f6398e3f6fc"],"clusterUuid":"a0468dc645223f67bd0f 2ab95276bbae","description":"this is a vm","strategy":"InstantStart"}}' \ 
      http://localhost:8080/zstack/v1/vm-instances
      
    • 返回示例

      { "inventory": {
      	"uuid": "6efab7159c6932429c6b0e7e0b64b660",
      	"name": "Test-VM",
      	"description": "web server VM",
      	"zoneUuid": "d10bd7a9565138efaf6171db8e18fa7d", 
      	"clusterUuid": "692c71639d873bf6a356cd8e285d0d9c", 
      	"imageUuid": "28061e65e48037eda71b53a0732bf087", 
      	"hostUuid": "f877177de7bd377e811bc6313878b2b1", 
      	"lastHostUuid": "a3ccdc90a600334f994c69aee4270ac5", 
      	"instanceOfferingUuid": "9a874241f867333ca0bf0ab2134f8515", 
      	"rootVolumeUuid": "f52d7c94d69d3bbb97d36a270fe910c3", 
      	"platform": "Linux",
      	"defaultL3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", 
      	"type": "UserVm",
      	"hypervisorType": "KVM",
      	"memorySize": 8.589934592E9,
      	"cpuNum": 1.0,
      	"allocatorStrategy": "LastHostPreferredAllocatorStrategy", 
      	"createDate": "Nov 14, 2017 10:20:57 PM",
      	"lastOpDate": "Nov 14, 2017 10:20:57 PM",
      	"state": "Running",
      	"vmNics": [
      	{ "uuid": "0dfbb8a297e9349ea8799c4ce48c6d10", 
      		"vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", 
      		"usedIpUuid": "39b57596a8ba35289bd9f40efceeae03", 
      		"l3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", 
      		"ip": "192.168.1.10",
      		"mac": "00:0c:29:bd:99:fc",
      		"netmask": "255.255.255.0",
      		"gateway": "192.168.1.1",
      		"deviceId": 0.0,
      		"createDate": "Nov 14, 2017 10:20:57 PM",
      	],} 
      	"lastOpDate": "Nov 14, 2017 10:20:57 PM"
      	}],
      	"allVolumes": [
      	{ "uuid": "f52d7c94d69d3bbb97d36a270fe910c3",
      		"name": "Root-Volume-For-VM-6efab7159c6932429c6b0e7e0b64b660", 
      		"primaryStorageUuid": "4ed5bbb150a034b5917e7e6c9c4b8170", 
      		"vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", 
      		"diskOfferingUuid": "0521187274d73f5b936c22b145384c74", 
      		"rootImageUuid": "28061e65e48037eda71b53a0732bf087",
      		"installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol- f52d7c94d69d3bbb97d36a270fe910c3/f52d7c94d69d3bbb97d36a270fe910c3.qcow2",
      		"type": "Root",
      		"format": "qcow2",
      		"size": 1.073741824E11,
      		"actualSize": 2.147483648E10,
      		"deviceId": 0.0,
      		"state": "Enabled",
      		"status": "Ready",
      		"createDate": "Nov 14, 2017 10:20:57 PM",
      		"lastOpDate": "Nov 14, 2017 10:20:57 PM"
      	}]
      } } 
      
    创建云盘
    • API名称

      创建云盘(CreateDataVolume)

    • 请求方式

      POST zstack/v1/volumes/data

    • curl示例

      curl -H "Content-Type: application/json" \
      -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
      -X POST -d '{"params":{"name":"test-volume","description":"test-data-volume","diskOfferingUuid ":"d88594833a393e119c6fc5a8aa2ad08f","primaryStorageUuid":"5fe18eef72483c9cbde9 84a3176fab78","resourceUuid":"52f6075e4d6839fc8a40f569fb7d991e"}}' \ 
      http://localhost:8080/zstack/v1/volumes/data
      
    • 返回示例

      { "inventory": {
      	"uuid": "b9d6460b286441099fa9cb3fe5bce9ec",
      	"name": "test-volume",
      	"primaryStorageUuid": "d7d84bb097da41918ee27eeb3b92d4f4",
      	"vmInstanceUuid": "8732b8e254ad4db18a5cad5d04315948",
      	"diskOfferingUuid": "7e6d828db0b84d8cb62a44e3d4badc7d",
      	"rootImageUuid": "8384b89b03914655b888f9b4f864ab07",
      	"installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-
      	b9d6460b286441099fa9cb3fe5bce9ec/b9d6460b286441099fa9cb3fe5bce9ec.qcow2", 
      	"type": "Root",
      	"format": "qcow2",
      	"size": 1.073741824E11,
      	"actualSize": 2.147483648E10, "deviceId": 0.0,
      	"state": "Enabled",
      	"status": "Ready",
      	"createDate": "May 11, 2017 1:22:51 PM",
      	"lastOpDate": "May 11, 2017 1:22:51 PM"
      } } 
      
    挂载云盘到云主机上
    • API名称

      挂载云盘到云主机上(AttachDataVolumeToVm)

    • 请求方式

      POST zstack/v1/volumes/{volumeUuid}/vm-instances/{vmInstanceUuid}

    • curl示例

      	curl -H "Content-Type: application/json" \
      -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
      -X POST 
      http://localhost:8080/zstack/v1/volumes/6fdcff5868fe376a98359eba8b3d0efe/vm- instances/f6abc3b26ffe337ba61dd7298fb0b9df
      
    • 返回示例

      {"inventory": {
      	"uuid": "4c118c4e51e54f839e6e0af9e17527f2",
      	"name": "test-volume",
      	"primaryStorageUuid": "9cd9e87803864fa1ae6cf4001fb5d4c8",
      	"vmInstanceUuid": "8a6f516d0da04addb062c903dd000830",
      	"diskOfferingUuid": "bdb5f71d810c49a08ff0e91f81936009",
      	"rootImageUuid": "a12e3048aab340c1b2c6bad2e4187a3a",
      	"installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol- 4c118c4e51e54f839e6e0af9e17527f2/4c118c4e51e54f839e6e0af9e17527f2.qcow2", 
      	"type": "Root",
      	"format": "qcow2",
      	"size": 1.073741824E11,
      	"actualSize": 2.147483648E10,
      	"deviceId": 0.0,
      	"state": "Enabled",
      	"status": "Ready",
      	"createDate": "Jun 7, 2017 9:20:35 PM",
      	"lastOpDate": "Jun 7, 2017 9:20:35 PM"
      }}
      

    / 代码 /

    ZStack中, 大多数的API在调用后返回的是

    user_name = 'admin'
    user_password='password'
    host = 'http://localhost:8080/'
    
    
    # 创建云主机
    def create_vm(session_uuid, instance_uuid, image_uuid, l3_uuid_arr, host_uuid, storage_uuid):
        # 创建云盘规格
        data = json.dumps({
            "params": {
                "name": "diskOffering",
                "diskSize": '1073741824'}})
        url = host + 'zstack/v1/disk-offerings'
        headers = {"Content-Type": "application/json", "Authorization": "OAuth " + session_uuid}
        response = requests.post(url, data, headers=headers)
        offer_uuid = deal_response(response, True)
        if offer_uuid:
            print('CreateDiskOffering successfully!')
            # 创建云主机
            data = json.dumps({
                "params": {
                    "name": "vm",
                    "description": "this is a vm",
                    "instanceOfferingUuid": instance_uuid,
                    "imageUuid": image_uuid,
                    "l3NetworkUuids": l3_uuid_arr,
                    "dataVolumeSystemTags": [],
                    "rootVolumeSystemTags": [],
                    "rootDiskOfferingUuid": offer_uuid,
                    "hostUuid": host_uuid
                }})
            print(data)
            url = host + 'zstack/v1/vm-instances'
            response = requests.post(url, data, headers=headers)
            vm_uuid = deal_response(response, True)
            if vm_uuid:
                print('CreateVmInstance successfully!')
                # 创建云盘CreateDataVolume
                data = json.dumps({
                    "params": {
                        "name": "vm",
                        "description": "this is a vm",
                        "diskOfferingUuid": offer_uuid,
                        "primaryStorageUuid": storage_uuid,
                    },
                    "systemTags": [
                        "localStorage::hostUuid::" + host_uuid
                    ],
                })
                print(data)
                url = host + 'zstack/v1/volumes/data'
                response = requests.post(url, data, headers=headers)
                data_uuid = deal_response(response, True)
                if data_uuid:
                    print('CreateDataVolume successfully!')
                    # 挂载云盘到云主机
                    print(data)
                    url = host + 'zstack/v1/volumes/' + data_uuid + '/vm-instances/' + vm_uuid
                    response = requests.post(url, None, headers=headers)
                    deal_response(response, False)
                    print('Virtual machine created successfully!')
    
    
    # 处理返回数据
    def deal_response(response, is_return):
        if response:
            rsp = json.loads(response.text)
            if rsp:
                print('rsp : {%s}' % rsp)
                json_str = query_until_done(rsp)
                if json_str:
                    if not json_str.has_key('error'):
                        if is_return:
                            return json_str['inventory']['uuid']
                        else:
                            return True
        return False
    
    
    # 轮询查询API结果
    def query_until_done(rsp):
    	# 截取任务id, 替换请求地址
            if rsp.has_key('location'):
            location = rsp['location']
            job_uuid = location.split('/')[-1]
            if job_uuid:
                while True:
                    url = host + "zstack/v1/api-jobs/" + location.split('/')[-1]
                    response = requests.get(url)
                    text = response.text
                    print(text)
                    if text != '{}':
                        print('url : {%s}' % url)
                        return json.loads(text)
    
    
    if __name__ == '__main__':
    	session_uuid = login()
    	if session_uuid:
    		# 创建计算规格
            image_uuid = create_images(session_uuid)
    

    / ZStack全流程相关博文链接 /

    ZStack - 登录

    ZStack - 创建区域、集群

    ZStack - 创建物理机

    ZStack - 创建主存储

    ZStack - 创建2层3层网络

    ZStack - 创建云主机计算规格

    ZStack - 创建镜像

    ZStack - 创建云主机计算规格

    ZStack - 创建云主机

    ZStack - 全流程代码

    展开全文
  • openstack创建云主机流程

    千次阅读 2019-05-19 08:36:56
    创建云主机流程 当访问Dashboard的时候,会显示一个登录页面,Dashboard会告诉你,想使用Openstack创建云主机?那你得先把你的账号密码交给我,我去Keystone上验证你的身份之后才能让你登录。 Keystone接收到...
  • 1: 原生ISO镜像创建云主机 创建云主机: 针对不需要virtio的云主机: 最后系统是安装在这个盘上; 之后用云硬盘创建个云主机,就是最后想要的云主机; Q版舍弃了 从云硬盘创建云主机, 变成了 之后用...
  • openstack创建云主机问题

    千次阅读 2019-09-20 16:07:11
    创建云主机一直失败,查了日志只有nova-conductor.log出现error如下 ERROR nova.scheduler.utils [req-17e50154-2c8b-48b3-8788-0000051bc45e bef013ac1ed5430ead16590618821576 597b213656ff43889490bd26dfc8a238 -...
  • 创建云主机界面 创建云主机到 最后一步 元数据,定制这输入:admin_pass 最后边输入密码 即可 注:密码最多8位数,超过8位,虽然创建不会失败,而且nova show 查看密码也是超过8位,但登陆的时候最多只能用8位的,...
  • VM创建云主机启动出现句柄无效 解决方法:1.找到创建云主机的文件夹 2.使用记事本打开修改 vmci0.present = “TRUE” 为 vmci0.present = “FLASE” 即可
  • 创建外网 管理员-系统-网络-创建网络(容器的网络) 外部网络只给管理员用,不可共享 创建外网的子网,与本机IP同网段未使用的IP地址 ...项目-云主机-创建云主机 网络选择内网网卡,除非想要直连外网...
  • 在web端多次创建云主机失败之后,首先感谢ZStack中国社区的:ZS-广州-群小助 帮助,在命令行的测试下,创建success。判断是ui的问题。 具体命令行操作步骤: <h1>zstack-cli // 进入...
  • / 前言 /        在ZStack的API中, 大多数的API返回的是一个任务结果查询地址, 此时我们就需要根据这个地址轮训去查询任务...创建云主机规格(CreateInstanceOffering) 请求方式 POST
  • 运行云主机一、 创建云网络二、 创建云主机实例 本节全部在Controller节点完成 一、 创建云网络 1.Provider Network 1)生效admin用户环境变量,创建flat网络 # . admin-openrc # neutron ...
  • 经过几天的测试 终于完成了先电云平台无法正常创建云主机以及 无法使用浮动地址创建云主机的问题,具体如下图所示:
  • 情况:服务器重启后,创建云主机失败·,查看日志,我们发现是neutron导致nova创建云主机失败,我们查看neutron服务状态,发现neutron中的openvswitch和metadate服务宕机,重启多次无法使用, [root@controller ~]# ...
  • Openstack之路(六)创建云主机实例

    千次阅读 2018-01-22 16:03:39
    创建云主机流程 当访问Dashboard的时候,会显示一个登录页面,Dashboard会告诉你,想使用Openstack创建云主机?那你得先把你的账号密码交给我,我去Keystone上验证你的身份之后才能让你登录。 Keystone接收到前端...
  • OpenStack使用[搭建一套简单的网络环境及创建云主机实例]
  • 创建云主机时遇到这种情况,用正常的命令创建失败。报下面的错误: 不明白什么原因,根据error信息查询好久最后试了下在创建语句里增加 --availability_zone xxxx,就可以创建成功了。 查了一下服务器的所有zone,...
  • openstack-nova-创建云主机代码分析

    千次阅读 2018-08-06 09:45:54
    Nova API的实现,以创建云主机过程分析 1. 首先我们要清楚,为nova添加一个新的api是很简单的,因为上面的那一套HTTP请求不需要我们管,只是照着来写就行了,  主要是你的api内的自己的逻辑; 2. 所有的api文件都...
  • 案例7:创建云主机 案例8:安装额外计算节点 1 案例1:用户和配额管理 1.1 问题 本案例要求: 创建myproject项目 通过Horizon创建user1用户 通过CLI创建user2用户,练习相关用户管理命令 通过Horizon和CLI对myproje...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,966
精华内容 786
关键字:

创建云主机