精华内容
下载资源
问答
  • 创建云主机没有可用域
    千次阅读
    2018-04-10 19:34:30


    ### 一开始还是可以创建的,突然出现这个问题

    ###在控制节点查询nova 的服务状态是不可用的,提示

    openstack nova disabled  Auto-disabled due to 10 build failures

    [root@controller11 ~]# nova service-list
    +--------------------------------------+------------------+--------------+----------+----------+-------+----------------------------+----------------------------------------+-------------+
    | Id                                   | Binary           | Host         | Zone     | Status   | State | Updated_at                 | Disabled Reason                        | Forced down |
    +--------------------------------------+------------------+--------------+----------+----------+-------+----------------------------+----------------------------------------+-------------+
    | b566c47b-4173-458d-a79d-8013faf4c6d2 | nova-consoleauth | controller11 | internal | enabled  | up    | 2018-04-10T11:09:22.000000 | -                                      | False       |
    | e104dce7-0b75-4c9a-b0df-8f45821de6de | nova-conductor   | controller11 | internal | enabled  | up    | 2018-04-10T11:09:23.000000 | -                                      | False       |
    | 2a1af747-f7dd-4571-bd71-737ed8eda2fe | nova-scheduler   | controller11 | internal | enabled  | up    | 2018-04-10T11:09:21.000000 | -                                      | False       |
    | 9e88ec1c-89c7-4900-95a7-33e25af24816 | nova-consoleauth | controller12 | internal | enabled  | up    | 2018-04-10T11:09:19.000000 | -                                      | False       |
    | 89f985d3-c08f-4c6b-953b-41899dbaf71c | nova-scheduler   | controller12 | internal | enabled  | up    | 2018-04-10T11:09:21.000000 | -                                      | False       |
    | 78195dd1-3a00-4640-ac39-d7734badec9f | nova-conductor   | controller12 | internal | enabled  | up    | 2018-04-10T11:09:20.000000 | -                                      | False       |
    | 8897bca7-2aa3-463e-8433-29462d135138 | nova-consoleauth | controller13 | internal | enabled  | up    | 2018-04-10T11:09:18.000000 | -                                      | False       |
    | a360bb26-a919-448d-923e-277b5b2369ad | nova-scheduler   | controller13 | internal | enabled  | up    | 2018-04-10T11:09:23.000000 | -                                      | False       |
    | 4e33a66b-731b-4e88-be33-188517ccf5fd | nova-conductor   | controller13 | internal | enabled  | up    | 2018-04-10T11:09:22.000000 | -                                      | False       |
    | 883ed54e-8837-4d12-b201-c3c9127918d2 | nova-compute     | compute14    | nova     | disabled | up    | 2018-04-10T11:09:18.000000 | Auto-disabled due to 10 build failures | False       |
    +--------------------------------------+------------------+--------------+----------+----------+-------+----------------------------+----------------------------------------+-------------+

    ### 状态时 disabled 但是查看该计算节点的服务状态是Running 的

    ###查看nova 的命令

    [root@controller12 nova]# nova  service-enable 883ed54e-8837-4d12-b201-c3c9127918d2
    
    +--------------------------------------+-----------+--------------+---------+
    | ID                                   | Host      | Binary       | Status  |
    +--------------------------------------+-----------+--------------+---------+
    | 883ed54e-8837-4d12-b201-c3c9127918d2 | compute14 | nova-compute | enabled |
    +--------------------------------------+-----------+--------------+---------+
    ### 再次查看 服务enable
    [root@controller12 nova]# nova service-list
    +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
    | Id                                   | Binary           | Host         | Zone     | Status  | State | Updated_at                 | Disabled Reason | Forced down |
    +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
    | b566c47b-4173-458d-a79d-8013faf4c6d2 | nova-consoleauth | controller11 | internal | enabled | up    | 2018-04-10T11:15:13.000000 | -               | False       |
    | e104dce7-0b75-4c9a-b0df-8f45821de6de | nova-conductor   | controller11 | internal | enabled | up    | 2018-04-10T11:15:13.000000 | -               | False       |
    | 2a1af747-f7dd-4571-bd71-737ed8eda2fe | nova-scheduler   | controller11 | internal | enabled | up    | 2018-04-10T11:15:21.000000 | -               | False       |
    | 9e88ec1c-89c7-4900-95a7-33e25af24816 | nova-consoleauth | controller12 | internal | enabled | up    | 2018-04-10T11:15:19.000000 | -               | False       |
    | 89f985d3-c08f-4c6b-953b-41899dbaf71c | nova-scheduler   | controller12 | internal | enabled | up    | 2018-04-10T11:15:21.000000 | -               | False       |
    | 78195dd1-3a00-4640-ac39-d7734badec9f | nova-conductor   | controller12 | internal | enabled | up    | 2018-04-10T11:15:20.000000 | -               | False       |
    | 8897bca7-2aa3-463e-8433-29462d135138 | nova-consoleauth | controller13 | internal | enabled | up    | 2018-04-10T11:15:19.000000 | -               | False       |
    | a360bb26-a919-448d-923e-277b5b2369ad | nova-scheduler   | controller13 | internal | enabled | up    | 2018-04-10T11:15:13.000000 | -               | False       |
    | 4e33a66b-731b-4e88-be33-188517ccf5fd | nova-conductor   | controller13 | internal | enabled | up    | 2018-04-10T11:15:12.000000 | -               | False       |
    | 883ed54e-8837-4d12-b201-c3c9127918d2 | nova-compute     | compute14    | nova     | enabled | up    | 2018-04-10T11:15:18.000000 | -               | False       |
    +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
    [root@controller12 nova]# 


    ## 登录web 可用域可用








    更多相关内容
  • 先电云平台创建云主机时显示没有可用域 相关的配置我都是按照手册来的,没有错误
  • openstack创建实例显示无区域。 求解答 我已经没法了 来个人解答一吧 哭了 试了好多次都不行 哪里出错了呢
  • 创建云主机的操作流程 使用先电IaaS云平台创建云主机的流程如下: 1. 创建外部网络 2. 创建内部网络 3. 创建路由 4. 关联网络 5. 上传 centos 7云主机镜像 6. 创建安全组 7. 创建云主机 8. 绑定浮动IP 9. 使用远程...

    声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:408797506(微信同号)。

    腾讯课堂链接
    B站试看视频链接


    使用先电2.2的IaaS云平台创建云主机的流程如下:

    1. 创建外部网络
    2. 创建内部网络
    3. 创建路由
    4. 关联网络
    5. 上传 centos 7云主机镜像
    6. 创建安全组
    7. 创建云主机
    8. 绑定浮动IP
    9. 使用远程连接工具连接云主机
      下面是详细步骤:
      完成本实验前先生效环境变量:
    > source /etc/keystone/admin-openrc.sh
    

    1. 登录先电IaaS云平台。

    如图所示:
    在这里插入图片描述

    2. 创建网络

    2.1 创建外部网络: 管理员->系统->网络->创建网络->提交
    在这里插入图片描述
    在这里插入图片描述
    2.2 创建外网的子网:点击网络名称:ext-net-> 创建子网->子网->子网详情->已创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.3 创建内部网络:管理员->系统->网络->创建网络->提交
    在这里插入图片描述
    在这里插入图片描述
    2.4 创建内网的子网:点击网络名称:int-net-> 创建子网->子网->子网详情->已创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3. 创建路由

    项目->网络->路由->新建路由->填写名称、勾选外部网络->新建路由
    在这里插入图片描述
    在这里插入图片描述

    4. 关联网络

    管理员->系统->路由->增加接口->选择子网->提交
    在这里插入图片描述
    在这里插入图片描述
    接下来通过项目查看网络拓扑图:
    在这里插入图片描述

    5. 上传 centos 7云主机镜像

    准备好先电提供好的镜像CentOS_7.2_x86_64_XD.qcow2
    (1) 可以通过命令行上传镜像:

    > mount -o loop /opt/XianDian-IaaS-v2.2.iso /opt/iaas/             // 通过前面学习,mount挂载先电iso
    > glance image-create --name CentOS7 --disk-format qcow2 --container-format bare --progress < /opt/iaas/images/CentOS_7.2_x86_64_XD.qcow2           // 使用glance命令上传镜像
    

    (2) 通过SecureFX 8.1把CentOS_7.2_x86_64_XD.qcow2拷贝出来,然后通过dashboard界面上传:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6. 创建安全组

    项目->计算->访问&安全->default管理规则 ->添加规则->依次添加所有ICMP协议 入口\出口,所有TCP协议 入口\出口 所有UDP协议 入口\出口

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

    最终defaul规则如下图:在这里插入图片描述

    7. 创建云主机

    项目->计算->云主机->创建云主机->配置 实例名称为server、配置源、flavor、网络->启动实例。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    最终:云主机处于运行中状态,表示云主机创建完成!

    8. 绑定浮动IP地址

    云主机->绑定浮动IP->单击”+”分配浮动IP->选择资源池->分配IP->关联
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    最终绑定浮动IP地址效果如下图所示:
    在这里插入图片描述

    9. 测试

    (1) 登录控制台,测试云主机启动是否正常:
    在这里插入图片描述
    注意:登录过程会出现” 控制台不能访问的问题”,无法输入。解决办法参考:
    找到/etc/nova/nova.conf 配置文件:将novncproxy_base_url配置打开,并改成对应controller的ip地址。如下所示:

    novncproxy_base_url=http://192.1.100.10:6080/vnc_auto.html

    参考:添加链接描述
    (2) 使用SecureCRT 8.1软件登录云主机后台,测试链接是否正常:
    SSH登录连接对应浮动IP地址(ext-net分配的子网ip:192.168.100.12):
    在这里插入图片描述

    展开全文
  • Openstack之路(六)创建云主机实例

    千次阅读 2018-01-22 16:03:39
    创建云主机流程 当访问Dashboard的时候,会显示一个登录页面,Dashboard会告诉你,想使用Openstack创建云主机?那你得先把你的账号密码交给我,我去Keystone上验证你的身份之后才能让你登录。 Keystone接收到前端...

    创建云主机流程

    Openstack之路(六)创建云主机实例

    1. 当访问Dashboard的时候,会显示一个登录页面,Dashboard会告诉你,想使用Openstack创建云主机?那你得先把你的账号密码交给我,我去Keystone上验证你的身份之后才能让你登录。
    2. Keystone接收到前端表单传过来的域,用户名,密码信息以后,到数据库查询,确认身份后将一个Token返回给该用户,让这个用户以后再进行操作的时候就不需要再提供账号密码,而是拿着Token来。
    3. Horizon拿到Token之后,找到创建云主机的按钮并点击,填写云主机相关配置信息。点击启动实例后,Horizon就带着三样东西(创建云主机请求、云主机配置相关信息、Keystone返回的Token)找到Nova-API。
    4. Horizon要创建云主机?你先得把你的Token交给我,我去Keystone上验证你的身份之后才给你创建云主机。
    5. Keystone一看Token发现这不就是我刚发的那个吗?但程序可没这么聪明,它还得乖乖查一次数据库,然后告诉Nova-API,这兄弟信得过,你就照它说的做吧。
    6. Nova-API把Horizon给的提供的云主机配置相关写到数据库(Nova-DB)。
    7. 数据库(Nova-DB)写完之后,会告诉Nova-API,哥,我已经把云主机配置相关信息写到我的数据库里啦。
    8. 把云主机配置相关信息写到数据库之后,Nova-API会往消息队列(RabbitMQ)里发送一条创建云主机的消息。告诉手下的小弟们,云主机配置相关信息已经放在数据库里了,你们给安排安排咯。
    9. Nova-Schedular时时观察着消息队列里的消息,当看到这条创建云主机的消息之后,就要干活咯。
    10. 要创建云主机,但它要看一看云主机都要什么配置,才好决定该把这事交给谁(Nova-Compute)去做,所以就去数据库去查看了
    11. 数据库收到请求之后,把要创建云主机的配置发给Nova-Schedular
    12. Nova-Schedular拿到云主机配置之后,使用调度算法决定了要让Nova-Compute去干这个事,然后往消息队列里面发一条消息,某某某Nova-Compute,就你了,给创建一台云主机,配置都在数据库里。
    13. Nova-Compute时时观察着消息队列里的消息,当看到这条让自己创建云主机的消息之后,就要去干活咯。注意:本应该直接去数据库拿取配置信息,但因为Nova-Compute的特殊身份,Nova-Compute所在计算节点上全是云主机,万一有一台云主机被******从而控制计算节点,直接***是很危险的。所以不能让Nova-Compute知道数据库在什么地方
    14. Nova-Compute没办法去数据库取东西难道就不工作了吗?那可不行啊,他不知道去哪取,但Nova-Conductor知道啊,于是Nova-Compute往消息队列里发送一条消息,我要云主机的配置相关信息,Nova-Conductor您老人家帮我去取一下吧。
    15. Nova-Conductor时时观察着消息队列里的消息,当看到Nova-Conductor发的消息之后,就要去干活咯。
    16. Nova-Conductor告诉数据库我要查看某某云主机的配置信息。
    17. 数据库把云主机配置信息发送给Nova-Conductor。
    18. Nova-Conductor把云主机配置信息发到消息队列。
    19. Nova-Compute收到云主机配置信息。
    20. Nova-Compute读取云主机配置信息一看,立马就去执行创建云主机了。首先去请求Glance-API,告诉Glance-API我要某某某镜像,你给我吧。
    21. Glance-API可不鸟你,你是谁啊?你先得把你的Token交给我,我去Keystone上验证你的身份之后才给你镜像。Keystone一看Token,兄弟,没毛病,给他吧。
    22. Glance-API把镜像资源信息返回给Nova-Compute。
    23. Nova-Compute拿到镜像后,继续请求网络资源,首先去请求Neutron-Server,告诉Neutron-Server我要某某某网络资源,你给我吧。
    24. Neutron-Server可不鸟你,你是谁啊?你先得把你的Token交给我,我去Keystone上验证你的身份之后才给你网络。Keystone一看Token,兄弟,没毛病,给他吧。
    25. Neutron-Server把网络资源信息返回给Nova-Compute。
    26. Nova-Compute拿到网络后,继续请求存储资源,首先去请求Cinder-API,告诉Cinder-API我要多少多少云硬盘,你给我吧。
    27. Cinder-API可不鸟你,你是谁啊?你先得把你的Token交给我,我去Keystone上验证你的身份之后才给你网络。Keystone一看Token,兄弟,没毛病,给他吧。
    28. Cinder-API把存储资源信息返回给Nova-Compute。
    29. Nova-Compute拿到所有的资源后(镜像、网络、存储),其实Nova-Compute也没有创建云主机的能力,他把创建云主机的任务交给了Libvird,然后创建云主机(KVM/ZEN)

    创建云主机网络

    • 在控制节点上,加载admin凭证来获取管理员能执行的命令访问权限
    [root@linux-node1 ~]# source admin-openrc
    • 创建网络
    [root@linux-node1 ~]# openstack network create --share --external \
    --provider-physical-network provider \
    --provider-network-type flat provider
    +---------------------------+--------------------------------------+
    | Field                     | Value                                |
    +---------------------------+--------------------------------------+
    | admin_state_up            | UP                                   |
    | availability_zone_hints   |                                      |
    | availability_zones        |                                      |
    | created_at                | 2018-01-22T06:05:17Z                 |
    | description               |                                      |
    | headers                   |                                      |
    | id                        | d8acc6f1-8aed-4f7c-a630-83225f592039 |
    | ipv4_address_scope        | None                                 |
    | ipv6_address_scope        | None                                 |
    | mtu                       | 1500                                 |
    | name                      | provider                             |
    | port_security_enabled     | True                                 |
    | project_id                | 14055178975d417987c5a94f030c7acf     |
    | project_id                | 14055178975d417987c5a94f030c7acf     |
    | provider:network_type     | flat                                 |
    | provider:physical_network | provider                             |
    | provider:segmentation_id  | None                                 |
    | revision_number           | 4                                    |
    | router:external           | External                             |
    | shared                    | True                                 |
    | status                    | ACTIVE                               |
    | subnets                   |                                      |
    | tags                      | []                                   |
    | updated_at                | 2018-01-22T06:05:18Z                 |
    +---------------------------+--------------------------------------+
    
    [root@linux-node1 ~]# neutron net-list
    +--------------------------------------+----------+---------+
    | id                                   | name     | subnets |
    +--------------------------------------+----------+---------+
    | d8acc6f1-8aed-4f7c-a630-83225f592039 | provider |         |
    +--------------------------------------+----------+---------+
    • 在网络上创建一个子网
    [root@linux-node1 ~]# openstack subnet create --network provider \
    --allocation-pool start=192.168.56.100,end=192.168.56.200 \
    --dns-nameserver 192.168.56.2 --gateway 192.168.56.2 \
    --subnet-range 192.168.56.0/24 provider-subnet
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | allocation_pools  | 192.168.56.100-192.168.56.200        |
    | cidr              | 192.168.56.0/24                      |
    | created_at        | 2018-01-22T06:13:27Z                 |
    | description       |                                      |
    | dns_nameservers   | 192.168.56.2                         |
    | enable_dhcp       | True                                 |
    | gateway_ip        | 192.168.56.2                         |
    | headers           |                                      |
    | host_routes       |                                      |
    | id                | 5ae96c6c-2295-4cef-8ce5-cc19f4596c90 |
    | ip_version        | 4                                    |
    | ipv6_address_mode | None                                 |
    | ipv6_ra_mode      | None                                 |
    | name              | provider-subnet                      |
    | network_id        | d8acc6f1-8aed-4f7c-a630-83225f592039 |
    | project_id        | 14055178975d417987c5a94f030c7acf     |
    | project_id        | 14055178975d417987c5a94f030c7acf     |
    | revision_number   | 2                                    |
    | service_types     | []                                   |
    | subnetpool_id     | None                                 |
    | updated_at        | 2018-01-22T06:13:27Z                 |
    +-------------------+--------------------------------------+
    
    [root@linux-node1 ~]# neutron subnet-list
    +--------------------------------------+-----------------+-----------------+-------------------------------------------+
    | id                                   | name            | cidr            | allocation_pools                          |
    +--------------------------------------+-----------------+-----------------+-------------------------------------------+
    | 5ae96c6c-2295-4cef-8ce5-cc19f4596c90 | provider-subnet | 192.168.56.0/24 | {"start": "192.168.56.100", "end":        |
    |                                      |                 |                 | "192.168.56.200"}                         |
    +--------------------------------------+-----------------+-----------------+-------------------------------------------+
    
    [root@linux-node1 ~]# neutron net-list
    +--------------------------------------+----------+------------------------------------------------------+
    | id                                   | name     | subnets                                              |
    +--------------------------------------+----------+------------------------------------------------------+
    | d8acc6f1-8aed-4f7c-a630-83225f592039 | provider | 5ae96c6c-2295-4cef-8ce5-cc19f4596c90 192.168.56.0/24 |
    +--------------------------------------+----------+------------------------------------------------------+

    创建云主机类型

    默认的最小规格的主机需要512MB内存,对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64MB的keywa.com规格的主机。若单纯为了测试的目的,请使用keywa.com规格的主机来加载CirrOS镜像。

    [root@linux-node1 ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 keywa.com
    +----------------------------+-----------+
    | Field                      | Value     |
    +----------------------------+-----------+
    | OS-FLV-DISABLED:disabled   | False     |
    | OS-FLV-EXT-DATA:ephemeral  | 0         |
    | disk                       | 1         |
    | id                         | 0         |
    | name                       | keywa.com |
    | os-flavor-access:is_public | True      |
    | properties                 |           |
    | ram                        | 64        |
    | rxtx_factor                | 1.0       |
    | swap                       |           |
    | vcpus                      | 1         |
    +----------------------------+-----------+

    创建密钥

    • 导入demo项目凭证
    [root@linux-node1 ~]# source demo-openrc
    • 生成和添加秘钥对
    [root@linux-node1 ~]# ssh-keygen -q -N ""
    Enter file in which to save the key (/root/.ssh/id_rsa):
    [root@linux-node1 ~]# ls -l .ssh/
    total 8
    -rw------- 1 root root 1679 Jan 22 14:28 id_rsa
    -rw-r--r-- 1 root root  398 Jan 22 14:28 id_rsa.pub
    [root@linux-node1 ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
    +-------------+-------------------------------------------------+
    | Field       | Value                                           |
    +-------------+-------------------------------------------------+
    | fingerprint | 6d:5f:c6:92:ac:5e:49:40:5c:3e:b4:14:9c:f9:59:8c |
    | name        | mykey                                           |
    | user_id     | 48cd83bd3ce54b8ebece24680e8c8b0a                |
    +-------------+-------------------------------------------------+
    • 验证公钥的添加
    [root@linux-node1 ~]# openstack keypair list
    +-------+-------------------------------------------------+
    | Name  | Fingerprint                                     |
    +-------+-------------------------------------------------+
    | mykey | 6d:5f:c6:92:ac:5e:49:40:5c:3e:b4:14:9c:f9:59:8c |
    +-------+-------------------------------------------------+

    创建安全组规则

    默认情况下,default安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,我们推荐至少允许ICMP (ping))和安全Shell(SSH)规则。

    • 允许ICMP请求
    [root@linux-node1 ~]# openstack security group rule create --proto icmp default
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | created_at        | 2018-01-22T06:46:59Z                 |
    | description       |                                      |
    | direction         | ingress                              |
    | ethertype         | IPv4                                 |
    | headers           |                                      |
    | id                | 51ed729f-b268-4a99-b8a6-3a2ba0d31c77 |
    | port_range_max    | None                                 |
    | port_range_min    | None                                 |
    | project_id        | 8a788702c6ea46419bb85b4e4600e3c4     |
    | project_id        | 8a788702c6ea46419bb85b4e4600e3c4     |
    | protocol          | icmp                                 |
    | remote_group_id   | None                                 |
    | remote_ip_prefix  | 0.0.0.0/0                            |
    | revision_number   | 1                                    |
    | security_group_id | 20346c59-a0c4-4cc3-90be-f94c3581edab |
    | updated_at        | 2018-01-22T06:46:59Z                 |
    +-------------------+--------------------------------------+
    • 允许安全Shell(SSH)的访问
    [root@linux-node1 ~]# openstack security group rule create --proto tcp --dst-port 22 default
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | created_at        | 2018-01-22T06:49:46Z                 |
    | description       |                                      |
    | direction         | ingress                              |
    | ethertype         | IPv4                                 |
    | headers           |                                      |
    | id                | 950a1be7-6fd3-4c80-ba60-7f4f0b573771 |
    | port_range_max    | 22                                   |
    | port_range_min    | 22                                   |
    | project_id        | 8a788702c6ea46419bb85b4e4600e3c4     |
    | project_id        | 8a788702c6ea46419bb85b4e4600e3c4     |
    | protocol          | tcp                                  |
    | remote_group_id   | None                                 |
    | remote_ip_prefix  | 0.0.0.0/0                            |
    | revision_number   | 1                                    |
    | security_group_id | 20346c59-a0c4-4cc3-90be-f94c3581edab |
    | updated_at        | 2018-01-22T06:49:46Z                 |
    +-------------------+--------------------------------------+

    启动云主机实例

    启动一台实例,您必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称。

    • 在控制节点上,获得admin凭证来获取只有管理员能执行的命令的访问权限
    [root@linux-node1 ~]# source demo-openrc
    • 一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储

    列出可用类型

    [root@linux-node1 ~]# openstack flavor list
    +----+-----------+-----+------+-----------+-------+-----------+
    | ID | Name      | RAM | Disk | Ephemeral | VCPUs | Is Public |
    +----+-----------+-----+------+-----------+-------+-----------+
    | 0  | keywa.com |  64 |    1 |         0 |     1 | True      |
    +----+-----------+-----+------+-----------+-------+-----------+

    列出可用镜像

    [root@linux-node1 ~]# openstack image list
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | cd96090c-87ca-4eb3-b964-a7457639bc1e | cirros | active |
    +--------------------------------------+--------+--------+

    列出可用网络

    [root@linux-node1 ~]# openstack network list
    +--------------------------------------+----------+--------------------------------------+
    | ID                                   | Name     | Subnets                              |
    +--------------------------------------+----------+--------------------------------------+
    | d8acc6f1-8aed-4f7c-a630-83225f592039 | provider | 5ae96c6c-2295-4cef-8ce5-cc19f4596c90 |
    +--------------------------------------+----------+--------------------------------------+

    列出可用的安全组

    [root@linux-node1 ~]# openstack security group list
    +--------------------------------------+---------+------------------------+----------------------------------+
    | ID                                   | Name    | Description            | Project                          |
    +--------------------------------------+---------+------------------------+----------------------------------+
    | 20346c59-a0c4-4cc3-90be-f94c3581edab | default | Default security group | 8a788702c6ea46419bb85b4e4600e3c4 |
    +--------------------------------------+---------+------------------------+----------------------------------+
    • 启动实例
    [root@linux-node1 ~]# openstack server create --flavor keywa.com --image cirros \
    --nic net-id=d8acc6f1-8aed-4f7c-a630-83225f592039 --security-group default \
    --key-name mykey demo-instance
    +--------------------------------------+-----------------------------------------------+
    | Field                                | Value                                         |
    +--------------------------------------+-----------------------------------------------+
    | OS-DCF:diskConfig                    | MANUAL                                        |
    | OS-EXT-AZ:availability_zone          |                                               |
    | OS-EXT-STS:power_state               | NOSTATE                                       |
    | OS-EXT-STS:task_state                | scheduling                                    |
    | OS-EXT-STS:vm_state                  | building                                      |
    | OS-SRV-USG:launched_at               | None                                          |
    | OS-SRV-USG:terminated_at             | None                                          |
    | accessIPv4                           |                                               |
    | accessIPv6                           |                                               |
    | addresses                            |                                               |
    | adminPass                            | MowXppdE5ayJ                                  |
    | config_drive                         |                                               |
    | created                              | 2018-01-22T07:13:02Z                          |
    | flavor                               | keywa.com (0)                                 |
    | hostId                               |                                               |
    | id                                   | 3b5f20c8-8b17-48a2-9b72-70cc74f6fc8f          |
    | image                                | cirros (cd96090c-87ca-4eb3-b964-a7457639bc1e) |
    | key_name                             | mykey                                         |
    | name                                 | demo-instance                                 |
    | os-extended-volumes:volumes_attached | []                                            |
    | progress                             | 0                                             |
    | project_id                           | 8a788702c6ea46419bb85b4e4600e3c4              |
    | properties                           |                                               |
    | security_groups                      | [{u'name': u'default'}]                       |
    | status                               | BUILD                                         |
    | updated                              | 2018-01-22T07:13:02Z                          |
    | user_id                              | 48cd83bd3ce54b8ebece24680e8c8b0a              |
    +--------------------------------------+-----------------------------------------------+
    • 检查实例的状态,状态为ACTIVE那台虚拟机已经成功创建
    [root@linux-node1 ~]# openstack server list
    +--------------------------------------+---------------+--------+-------------------------+------------+
    | ID                                   | Name          | Status | Networks                | Image Name |
    +--------------------------------------+---------------+--------+-------------------------+------------+
    | 3b5f20c8-8b17-48a2-9b72-70cc74f6fc8f | demo-instance | ACTIVE | provider=192.168.56.110 | cirros     |
    +--------------------------------------+---------------+--------+-------------------------+------------+

    验证操作

    • 使用SSH加密连接实例
    [root@linux-node1 ~]# ssh cirros@192.168.56.110
    The authenticity of host '192.168.56.110 (192.168.56.110)' can't be established.
    RSA key fingerprint is 2f:58:9f:5e:da:c5:1f:46:43:e1:c4:64:da:ee:2e:e6.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.56.110' (RSA) to the list of known hosts.
    $ 
    • 验证能否ping通公有网络的网关
    $ ping -c 4 114.114.114.114
    PING 114.114.114.114 (114.114.114.114): 56 data bytes
    64 bytes from 114.114.114.114: seq=0 ttl=128 time=29.289 ms
    64 bytes from 114.114.114.114: seq=1 ttl=128 time=29.160 ms
    64 bytes from 114.114.114.114: seq=2 ttl=128 time=34.413 ms
    64 bytes from 114.114.114.114: seq=3 ttl=128 time=29.153 ms
    
    --- 114.114.114.114 ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 29.153/30.503/34.413 ms
    • 验证能否连接到互联网
    $ ping -c 4 www.baidu.com
    PING www.baidu.com (14.215.177.39): 56 data bytes
    64 bytes from 14.215.177.39: seq=0 ttl=128 time=12.611 ms
    64 bytes from 14.215.177.39: seq=1 ttl=128 time=8.424 ms
    64 bytes from 14.215.177.39: seq=2 ttl=128 time=10.575 ms
    64 bytes from 14.215.177.39: seq=3 ttl=128 time=11.595 ms
    
    --- www.baidu.com ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 8.424/10.801/12.611 ms
    • 使用虚拟控制台访问实例
    [root@linux-node1 ~]# openstack console url show demo-instance
    +-------+------------------------------------------------------------------------------------+
    | Field | Value                                                                              |
    +-------+------------------------------------------------------------------------------------+
    | type  | novnc                                                                              |
    | url   | http://192.168.56.11:6080/vnc_auto.html?token=aff15e93-1ebe-49f3-877b-3213e6faa027 |
    +-------+------------------------------------------------------------------------------------+
    • 浏览器访问192.168.56.11:6080/vnc_auto.html?token=aff15e93-1ebe-49f3-877b-3213e6faa027

    Openstack之路(六)创建云主机实例

    转载于:https://blog.51cto.com/11097612/2063687

    展开全文
  • OpenStack是一个操作系统,它控制整个数据中心的计算、存储和网络资源的大型池,所有这些都通过具有通用身份验证机制的api进行管理和配置。

    OpenStack简介

    OpenStack是一个云操作系统,它控制整个数据中心的计算、存储和网络资源的大型池,所有这些都通过具有通用身份验证机制的api进行管理和配置。

    还提供了一个仪表板,允许管理员控制,同时允许用户通过web界面提供资源。

    除了标准的基础设施即服务功能外,其他组件还提供编排、故障管理和服务管理等服务,以确保用户应用程序的高可用性。

    Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。

    Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。

    Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后者是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。

    Open Stack的各个服务之间通过统一的REST风格的API调用,实现系统的松耦合。它内部组件的工作过程是一个有序的整体。诸如计算资源分配、控制调度、网络通信等都通过AMQP实现。 Open Stack的上层用户是程序员、一般用户和 Horizon界面等模块。这三者都是采用 Open Stack各个组件提供的API接口进行交互,而它们之间则是通过AMQP进行互相调用,它们共同利用底层的虚拟资源为上层用户和程序提供云计算服务。

    OpenStack重要集成组件

    整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。
    openstack重要集成组件:

    • Nova - 计算服务
    • Neutron-网络服务
    • Swift - 对象存储服务
    • Cinder-块存储服务
    • Glance - 镜像服务
    • Keystone - 认证服务
    • Horizon - UI服务
    • Ceilometer-监控服务
    • Heat-集群服务

    OpenStack平台部署

    基本步骤可以参考官方文档,但需要注意的细节较多:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/conventions.html

    部署环境

    需要两台虚拟机,一个做控制节点,一个做计算节点
    ops1(controller):192.168.122.11
    ops2(compute1):192.168.122.12
    
    最低配置:
    控制节点: 1 处理器, 4 GB 内存, 及5 GB 存储
    计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储
    

    建立虚拟机

    内存给4G
    在这里插入图片描述
    CPU设置如下,模块那儿没有该选项,直接手敲
    在这里插入图片描述
    需要两块网卡,剩下的随意
    在这里插入图片描述
    更改网络配置文件

    cd /etc/sysconfig/network-scripts
    

    内容如下
    在这里插入图片描述
    让eth1网卡up

    [root@server1 network-scripts]# ifup eth1
    [root@server1 network-scripts]# ip addr 
    

    如下设置成功
    在这里插入图片描述

    配置时间同步

    在真机编辑配置文件,使用阿里云的ntp服务

    [root@lucky ~]# vim /etc/chrony.conf
    
    #pool 2.rhel.pool.ntp.org iburst
    server ntp1.aliyun.com iburst
    server ntp2.aliyun.com iburst
    server ntp3.aliyun.com iburst
    

    在这里插入图片描述

    允许别的主机同步真机的时间
    在这里插入图片描述

    访问阿里云的ntp服务没有问题
    在这里插入图片描述
    下载时间同步工具,编辑配置文件,设置同步真机的时间,不允许别人同步自己的时间,然后启动NTP服务

    [root@server1 network-scripts]# yum install -y chrony
    [root@server1 ~]# vim /etc/chrony.conf
    [root@server1 ~]# systemctl enable --now chronyd	#启动 NTP 服务并将其配置为随系统启动
    

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

    如下已经检测到同步的主机

    [root@server1 ~]# date
    Tue Aug 17 10:52:19 CST 2021
    [root@server1 ~]# chronyc sources -v
    

    在这里插入图片描述

    安装OpenStack

    配置OpenStack源

    [root@server1 ~]# vim /etc/yum.repos.d/openstack.repo
    [openstack]
    name=openstack
    baseurl=http://192.168.122.1/mitaka		#真机的离线安装包地址
    gpgcheck=0
    

    在这里插入图片描述
    先升级再下载

    [root@server1 ~]# yum upgrade
    [root@server1 ~]# yum install python-openstackclient -y		#安装 OpenStack 客户端,2.3.0版本
    [root@server1 ~]# yum install mariadb-server -y				#安装mysql
    [root@server1 ~]# vim /etc/my.cnf.d/openstack.cnf			#编辑配置文件,内容如下
    [mysqld]
    bind-address = 192.168.122.11		#写的是本机ip
    default-storage-engine  =  innodb 
    innodb_file_per_table 
    max_connections  =  4096 
    collat<200b><200b>ion-server  =  utf8_general_ci 
    character-set-server  =  utf8
    [root@server1 ~]# systemctl enable --now mariadb.service	#启动数据库
    

    在这里插入图片描述
    为了保证数据库服务的安全性,进行安全初始化

    [root@server1 ~]# mysql_secure_installation
    ##密码我设置的为root
    

    在这里插入图片描述

    安装 RabbitMQ 消息队列服务

    OpenStack 使用 message queue (消息队列:将请求从客户端传递至合适的工作器并在工作完成后将输出返回至客户端)协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括 RabbitMQ, Qpid, 和 ZeroMQ。
    队列: 一个在守护进程间传递消息的中央集线器

    首先要改主机名,因为RabbitMQ是根据主机名字配置的,重新改主机名可能会使之后创建的用户消失导致之后的服务无法启动
    在这里插入图片描述

    域名解析也要更改

    [root@controller ~]# vim /etc/hosts
    

    在这里插入图片描述

    安装rabbitmq-server并启动

    [root@server1 ~]# yum install rabbitmq-server -y
    [root@server1 ~]# systemctl enable --now rabbitmq-server.service	#启动消息队列服务并将其配置为随系统启动:
    [root@server1 ~]# rabbitmq-plugins enable rabbitmq_management		#启动插件
    

    在这里插入图片描述
    添加 openstack 用户,并给openstack用户配置写和读权限

    [root@controller ~]# rabbitmqctl add_user openstack openstack
    Creating user "openstack" ...
    [root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    

    RabbitMQ服务端口正常
    在这里插入图片描述
    浏览器访问成功
    在这里插入图片描述
    如下是登录进去的页面
    在这里插入图片描述

    Memcached缓存令牌的安装

    认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。

    下载并启动

    [root@server1 ~]# yum install memcached python-memcached -y
    [root@server1 ~]# systemctl enable --now memcached.service
    

    服务端口11211处于监听状态
    在这里插入图片描述
    修改配置文件重新启动

    [root@server1 ~]# vim /etc/sysconfig/memcached 
    PORT="11211"
    USER="memcached"
    MAXCONN="1024"
    CACHESIZE="64"
    #OPTIONS="-l 127.0.0.1,::1"			#这一行注释掉
    [root@server1 ~]# systemctl restart memcached.service
    

    在这里插入图片描述

    安装和配置OpenStack身份认证服务

    在控制节点上安装和配置OpenStack身份认证服务,代码名称keystone。出于性能原因,这个配置部署Fernet令牌和Apache HTTP服务处理请求。
    使用带有mod_wsgi的Apache HTTP服务器来服务认证服务请求,端口为5000和35357。

    在配置 OpenStack 身份认证服务前,必须创建一个数据库和管理员令牌

    [root@controller ~]# mysql -proot		#登录mysql
    
    MariaDB [(none)]> create database keystone;		#创建 keystone 数据库
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'\
        ->   IDENTIFIED BY 'keystone';			#对keystone数据库授予本地的权限
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
        ->   IDENTIFIED BY 'keystone';			#对keystone数据库授予远程登录的权限
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> quit
    Bye
    

    在这里插入图片描述
    用keystone用户身份登录成功
    在这里插入图片描述
    下载keystone和httpd

    [root@controller ~]# yum install openstack-keystone httpd mod_wsgi -y
    [root@controller ~]# grep -v ^# /etc/keystone/keystone.conf | uniq		#筛选看有哪些模块
    

    在这里插入图片描述

    配置keystone

    定义初始管理令牌的值,用openssl命令生成的值写入(随即的)

    [root@controller ~]# openssl rand -hex 10
    dfbde0d6f3ec912e368a
    [root@controller ~]# vim /etc/keystone/keystone.conf
    

    对文件做如下图更改
    在这里插入图片描述
    配置数据库访问
    在这里插入图片描述配置Fernet UUID令牌的提供者
    在这里插入图片描述

    初始化身份认证服务的数据库

    [root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
    [root@controller ~]# mysql -ukeystone -pkeystone
    

    在这里插入图片描述
    初始化Fernet keys

    [root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    

    在这里插入图片描述

    配置 Apache HTTP 服务器

    [root@controller keystone]# vim /etc/httpd/conf/httpd.conf
    

    更改内容如下
    在这里插入图片描述
    创建文件并写入以下内容

    [root@controller keystone]# vim /etc/httpd/conf.d/wsgi-keystone.conf
    
    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
    [root@controller keystone]# systemctl enable --now httpd.service	#启动apache服务
    

    查看端口,正常监听服务开启成功
    在这里插入图片描述

    创建服务实体和API端点

    每个添加到OpenStack环境中的服务在目录中需要一个 service 实体和一些 API endpoints 。
    在Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务。
    身份认证服务管理了一个与环境相关的 API 端点的目录。服务使用这个目录来决定如何与环境中的其他服务进行通信。
    OpenStack使用三个API端点变种代表每种服务:admin,internal和public。默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作。

    [root@controller keystone]# export OS_TOKEN=dfbde0d6f3ec912e368a	#配置认证令牌,这个token就是上面生成的那个
    [root@controller keystone]# export OS_URL=http://controller:35357/v3	#配置端点URL
    [root@controller keystone]# export OS_IDENTITY_API_VERSION=3	#配置认证 API 版本
    

    每个添加到OpenStack环境中的服务要求一个或多个服务实体和三个认证服务中的API 端点变种。

    [root@controller keystone]# openstack service create \
    >   --name keystone --description "OpenStack Identity" identity		#创建服务实体和身份认证服务
    
    [root@controller keystone]# openstack endpoint create --region RegionOne \
    >   identity public http://controller:5000/v3		#创建认证服务的 API 端点
    
    [root@controller keystone]# openstack endpoint create --region RegionOne \
    >   identity internal http://controller:5000/v3		#创建认证服务的 API 端点
    
    [root@controller keystone]# openstack endpoint create --region RegionOne \
    >   identity admin http://controller:35357/v3		#创建认证服务的 API 端点
    

    在这里插入图片描述

    创建域、项目、用户和角色

    身份认证服务为每个OpenStack服务提供认证服务。认证服务使用 T domains, projects (tenants), :term:users<user>和 :term:roles<role>的组合

    创建域default

    [root@controller keystone]# openstack domain create --description "Default Domain" default
    

    在环境中,为进行管理操作,创建管理的项目、用户和角色

    [root@controller keystone]# openstack project create --domain default \
    > --description "Admin Project" admin		#项目
    [root@controller keystone]# openstack user create --domain default \
    > --password admin admin			#用户
    [root@controller keystone]# openstack role create admin		#角色
    [root@controller keystone]# openstack role add --project admin --user admin admin	#添加admin角色到admin项目和用户上
    

    同上创建service项目和常规(非管理)任务应该使用无特权的项目和用户demo

    [root@controller keystone]# openstack project create --domain default \
    > --description "Service Project" service
    [root@controller keystone]# openstack project create --domain default \
    > --description "Demo Project" demo
    [root@controller keystone]# openstack user create --domain default \
    > --password demo demo
    [root@controller keystone]# openstack role create user
    [root@controller keystone]# openstack role add --project demo --user demo user
    

    重置OS_TOKENOS_URL 环境变量,作为 admin 用户,请求认证令牌

    [root@controller keystone]# unset OS_TOKEN OS_URL
    [root@controller keystone]# openstack --os-auth-url http://controller:35357/v3 \
    > --os-project-domain-name default --os-user-domain-name default \
    > --os-project-name admin --os-username admin token issue
    

    在这里插入图片描述
    作为demo 用户,请求认证令牌

    [root@controller keystone]# openstack --os-auth-url http://controller:5000/v3 \
    >   --os-project-domain-name default --os-user-domain-name default \
    >   --os-project-name demo --os-username demo token issue
    

    在这里插入图片描述
    创建 admin 和 demo项目和用户创建客户端环境变量脚本。

    [root@controller ~]# vim admin-openrc
    
    export OS_PROJECT_DOMAIN_NAME=default
    export OS_USER_DOMAIN_NAME=default
    export OS_PROJECT_NAME=admin
    export OS_USERNAME=admin
    export OS_PASSWORD=admin
    export OS_AUTH_URL=http://controller:35357/v3
    export OS_IDENTITY_API_VERSION=3
    export OS_IMAGE_API_VERSION=2
    

    在这里插入图片描述

    [root@controller ~]# vim demo-openrc
    
    export OS_PROJECT_DOMAIN_NAME=default
    export OS_USER_DOMAIN_NAME=default
    export OS_PROJECT_NAME=demo
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_AUTH_URL=http://controller:5000/v3
    export OS_IDENTITY_API_VERSION=3
    export OS_IMAGE_API_VERSION=2
    

    在这里插入图片描述

    加载admin-openrc文件来身份认证服务的环境变量位置和admin项目和用户证书:

    [root@controller ~]# source admin-openrc
    

    在这里插入图片描述

    在控制节点上安装和配置镜像服务(glance)

    镜像服务 (glance) 允许用户发现、注册和获取虚拟机镜像。它提供了一个 REST API,允许查询虚拟机镜像的 metadata 并获取一个现存的镜像。可以将虚拟机镜像存储到各种位置,从简单的文件系统到对象存储系统—-例如 OpenStack 对象存储, 并通过镜像服务使用。
    OpenStack镜像服务包括以下组件:
    glance-api:
    接收镜像API的调用,诸如镜像发现、恢复、存储。
    glance-registry:
    存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
    数据库
    存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
    镜像文件的存储仓库
    支持多种类型的仓库,它们有普通文件系统、对象存储、RADOS块设备、HTTP、以及亚马逊S3。记住,其中一些仓库仅支持只读方式使用。
    元数据定义服务
    通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。

    安装和配置镜像服务之前,必须创建创建一个数据库、服务凭证和API端点。

    [root@controller ~]# mysql -u root -proot
    
    MariaDB [(none)]> CREATE DATABASE glance;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
        ->   IDENTIFIED BY 'glance';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
        ->   IDENTIFIED BY 'glance';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> quit
    Bye
    
    

    在这里插入图片描述
    创建 glance 用户,添加 admin 角色到 glance 用户和 service 项目上。

    [root@controller ~]# openstack user create --domain default --password glance glance
    [root@controller ~]# openstack role add --project service --user glance admin
    

    创建glance服务实体,创建镜像服务的 API 端点

    [root@controller ~]# openstack service create --name glance \
    >   --description "OpenStack Image" image
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   image public http://controller:9292
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   image internal http://controller:9292
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   image admin http://controller:9292
    

    安装glance服务并配置

    [root@controller ~]# yum install openstack-glance -y
    [root@controller ~]# vim /etc/glance/glance-api.conf
    
    [database]
    connection = mysql+pymysql://glance:glance@controller/glance
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = glance
    password = glance
    
    [paste_deploy]
    flavor = keystone
    
    [glance_store]
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/
    

    编辑文件 /etc/glance/glance-registry.conf并完成如下动作:

    [root@controller ~]# vim /etc/glance/glance-registry.conf
    
    [database]
    connection = mysql+pymysql://glance:glance@controller/glance
    
    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = glance
    password = glance
    
    [paste_deploy]
    flavor = keystone
    
    [root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance		#写入镜像服务数据库
    

    在这里插入图片描述
    进入数据库查看数据写入成功
    在这里插入图片描述
    启动镜像服务、配置他们随机启动

    [root@controller ~]# systemctl enable --now openstack-glance-api.service \
    >   openstack-glance-registry.service
    

    在这里插入图片描述
    下载源镜像:wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img,使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

    [root@controller ~]# openstack image create "cirros" \
    >   --file cirros-0.5.1-x86_64-disk.img \
    >   --disk-format qcow2 --container-format bare \
    >   --public
    

    在这里插入图片描述确认镜像的上传并验证属性
    在这里插入图片描述

    在控制节点上安装和配置 Compute 服务

    使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务(IaaS)系统的主要部分,模块主要由Python实现。
    OpenStack计算组件请求OpenStack Identity服务进行认证;请求OpenStack Image服务提供磁盘镜像;为OpenStack dashboard提供用户与管理员接口。磁盘镜像访问限制在项目与用户上;配额以每个项目进行设定(例如,每个项目下可以创建多少实例)。OpenStack组件可以在标准硬件上水平大规模扩展,并且下载磁盘镜像启动虚拟机实例。
    更多内容请参考:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/get_started_compute.html

    在安装和配置 Compute 服务前,必须创建数据库服务的凭据以及 API endpoints

    [root@controller images]# mysql -u root -proot
    
    MariaDB [(none)]> CREATE DATABASE nova_api;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> CREATE DATABASE nova;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
        ->   IDENTIFIED BY 'nova';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
        ->   IDENTIFIED BY 'nova';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
        ->   IDENTIFIED BY 'nova';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
        ->   IDENTIFIED BY 'nova';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> quit
    Bye
    
    

    要创建服务证书,完成这些步骤

    [root@controller images]# openstack user create --domain default \
    >   --password nova nova
    [root@controller images]# openstack role add --project service --user nova admin
    [root@controller images]# openstack service create --name nova \
    >   --description "OpenStack Compute" compute
    [root@controller images]# openstack endpoint create --region RegionOne \
    >   compute public http://controller:8774/v2.1/%\(tenant_id\)s
    [root@controller images]# openstack endpoint create --region RegionOne \
    >   compute internal http://controller:8774/v2.1/%\(tenant_id\)s
    [root@controller images]# openstack endpoint create --region RegionOne \
    >   compute admin http://controller:8774/v2.1/%\(tenant_id\)s
    

    安装软件包

    [root@controller images]# yum install openstack-nova-api openstack-nova-conductor \
      openstack-nova-console openstack-nova-novncproxy \
      openstack-nova-scheduler
    编辑``/etc/nova/nova.conf``文件并完成下面的操作:
    具体更改参照官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/nova-controller-install.html
    

    同步Compute 数据库

    # su -s /bin/sh -c "nova-manage api_db sync" nova
    # su -s /bin/sh -c "nova-manage db sync" nova
    

    在这里插入图片描述
    启动 Compute 服务并将其设置为随系统启动

    # systemctl enable --now openstack-nova-api.service \
      openstack-nova-consoleauth.service openstack-nova-scheduler.service \
      openstack-nova-conductor.service openstack-nova-novncproxy.service
    

    安装和配置计算节点

    虚拟机配置和controller除了内存外都一样,内存为1.2G,网卡都是两个,时间同步也做了。

    更改主机名并加解析

    [root@server1 ~]# hostnamectl set-hostname compute1
    [root@compute1 ~]# vim /etc/hosts
    

    在这里插入图片描述
    配置openstsck的源
    在这里插入图片描述
    先升级再安装软件包,然后修改配置

    [root@compute1 ~]# yum uograde
    [root@compute1 ~]# yum install openstack-nova-compute -y
    [root@compute1 ~]# vim /etc/nova/nova.conf
    照着这个链接改文件即可https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/nova-compute-install.html
    下图ip要改成自己的主机
    

    在这里插入图片描述
    看自己的计算节点是否支持虚拟机的硬件加速

    [root@compute1 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
    0	#0就是不支持,需做修改
    #如果返回非0数值则不用做下图修改
    [root@compute1 ~]# vim /etc/nova/nova.conf
    

    我的不支持kvm,所以改为qemu
    在这里插入图片描述
    启动计算服务及其依赖,并将其配置为随系统自动启动

    [root@compute1 ~]# systemctl enable --now libvirtd.service openstack-nova-compute.service
    #如果出现ERROR nova AccessRefused: (0, 0): (403) ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For details see the broker logfile.错误
    #是rabbitmq用户openstack的问题,改主机名就会发生如下错误
    #我启动时就报了这种错,重新建立了一遍rabbitmq用户openstack就好了
    

    列出服务组件,以验证是否成功启动并注册了每个进程

    [root@controller ~]# openstack compute service list
    

    在这里插入图片描述

    安装并配置网络服务(neutron)

    OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
    OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。
    对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问
    外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。
    如果外部网络想要访问实例或者相反实例想要访问外部网络,那么网络之间的路由就是必要的了。每一个路由都配有一个网关用于连接到外部网络,以及一个或多个连接到内部网络的接口。就像一个物理路由一样,子网可以访问同一个路由上其他子网中的机器,并且机器也可以访问路由的网关访问外部网络。
    更多内容参照官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/get_started_networking.html

    在配置OpenStack网络(neutron)服务之前,你必须为其创建一个数据库,服务凭证和API端点

    [root@controller ~]# mysql -u root -proot
    
    CREATE DATABASE neutron;
    
    GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
      IDENTIFIED BY 'NEUTRON_DBPASS';
    GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
      IDENTIFIED BY 'NEUTRON_DBPASS';
    

    要创建服务证书,完成这些步骤

    [root@controller ~]# openstack user create --domain default --password neutron neutron
    [root@controller ~]# openstack role add --project service --user neutron admin
    
    创建neutron服务实体
    [root@controller ~]# openstack service create --name neutron \
    >   --description "OpenStack Networking" network
    
    创建网络服务API端点
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   network public http://controller:9696
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   network internal http://controller:9696
    [root@controller ~]# openstack endpoint create --region RegionOne \
    >   network admin http://controller:9696
    

    配置公共网络,Networking 服务器组件的配置包括数据库、认证机制、消息队列、拓扑变化通知和插件。

    [root@controller ~]# yum install openstack-neutron openstack-neutron-ml2 \
    >   openstack-neutron-linuxbridge ebtables -y
    [root@controller ~]# vim /etc/neutron/neutron.conf
    #照着这个链接改文件即可https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-controller-install-option1.html
    #密码要和用户名一样
    

    配置 Modular Layer 2 (ML2) 插件、配置Linuxbridge代理、配置DHCP代理

    [root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
    [root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    [root@controller ~]# vim /etc/neutron/dhcp_agent.ini
    #照着这个链接改文件即可
    #https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-controller-install-option1.html
    

    neutron-controller-install-option1.html文件需要注意的地方
    在这里插入图片描述
    配置元数据代理

    [root@controller ~]# vim /etc/neutron/metadata_agent.ini
    

    在这里插入图片描述
    配置网络服务

    [root@controller ~]# vim /etc/nova/nova.conf
    

    在这里插入图片描述
    网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果超链接不存在,使用下面的命令创建它,然后同步数据库

    [root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    [root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
    >   --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
    

    在这里插入图片描述
    重启计算API 服务

    [root@controller ~]# systemctl restart openstack-nova-api.service
    

    计算节点:
    安装组件修改配置

    [root@compute1 ~]# yum install openstack-neutron-linuxbridge ebtables ipset -y
    [root@compute1 ~]# vim /etc/neutron/neutron.conf
    #照着这个链接改文件即可
    #https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install.html
    #密码和用户名一样
    

    配置Linuxbridge代理

    [root@compute1 ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
    #照着这个链接改文件即可
    #https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install-option1.html
    

    在这里插入图片描述

    [root@compute1 ~]# vim /etc/nova/nova.conf
    #照着这个链接改文件即可
    #https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install.html
    #密码和用户名一样
    

    重启计算服务,启动Linuxbridge代理并配置它开机自启动

    [root@compute1 ~]# systemctl restart openstack-nova-compute.service
    [root@compute1 ~]# systemctl enable --now neutron-linuxbridge-agent.service
    

    在控制节点列出加载的扩展来验证neutron-server进程是否正常启动在这里插入图片描述
    列出代理以验证启动 neutron 代理是否成功,如下图成功啦
    #输出结果应该包括控制节点上的四个代理和每个计算节点上的一个代理。
    在这里插入图片描述至此openstack平台已初步搭建好,只不过功能较简单

    启动一个实例(启动一个云主机)

    创建提供者网络

    用管理员的身份创建一个网络

    [root@controller ~]# neutron net-create --shared --provider:physical_network provider \
    >   --provider:network_type flat provider
    
    创建子网
    [root@controller ~]# neutron subnet-create --name provider \
    > --allocation-pool start=192.168.122.100,end=192.168.122.200 \
    > --dns-nameserver 114.114.114.114 --gateway 192.168.122.1 \
    > provider 192.168.122.0/24
    

    在这里插入图片描述
    查看自带的云主机类型
    在这里插入图片描述

    创建m1.nano规格的主机

    可以自己创建云主机类型

    [root@controller ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
    

    云主机只会调度到计算器上,不会调度到控制器上
    在这里插入图片描述

    生成一个键值对

    [root@controller ~]# source demo-openrc
    [root@controller ~]# ssh-keygen -q -N ""
    [root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
    [root@controller ~]# openstack keypair list
    

    公钥在云主机启动时会自动注入公钥,私钥自己拿着以后可以ssh免密连接
    在这里插入图片描述

    增加安全组规则

    允许ping和ssh(本地的安全策略)

    [root@controller ~]# openstack security group rule create --proto icmp default
    [root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default
    

    在这里插入图片描述

    启动实例

    构建一个云主机服务

    [root@controller ~]# openstack server create --flavor m1.nano --image cirros \
    > --nic net-id=616093b3-f09d-435a-b866-c86e44cdea07 --security-group default --key-name mykey provider-instance
    

    在这里插入图片描述
    检查实例的状态
    在这里插入图片描述

    使用虚拟控制台访问实例

    查看vnc地址(vnc:用于远程控制台访问虚机的开源GUI和CLI工具。被计算服务支持。)

    想要访问vnc真机必须有解析,因为浏览器用的是真机的
    在这里插入图片描述

    用真机的浏览器输入上边获得的vnc地址访问,访问后的页面如下,但可以看到是有错误的。初步判断是镜像的问题,换一个镜像试试
    在这里插入图片描述
    删除云主机和之前的镜像
    在这里插入图片描述
    更换镜像
    在这里插入图片描述
    重新创建云主机
    在这里插入图片描述
    获取vnc地址
    在这里插入图片描述
    访问成功!只要计算节点可以上网那么该云主机就可以上网
    在这里插入图片描述
    在计算节点下载虚拟机管理工具(云主机就相当于是计算节点上的一个虚拟机)

    [root@compute1 ~]# yum install -y libvirt-client
    [root@compute1 ~]# virsh list
    

    在这里插入图片描述
    eth1下面的就是虚拟云主机的网络接口
    在这里插入图片描述
    可以ssh连接,云主机不允许用超户身份登录,只能以普通用户身份登录
    在这里插入图片描述

    因为本地持有私钥所以可以直接免密连接
    在这里插入图片描述

    展开全文
  • 服务器主机

    2021-08-10 01:22:14
    服务器主机名 内容精选换一换用户使用hostname命令查看不同镜像的裸金属服务器主机名,发现部分镜像的裸金属服务器主机名带后缀.novalocal,如示例所示:假设创建裸金属服务器时,用户自定义的主机名是abc,使用...
  • 基于华为FusionCompute和OceanStor5300v3存储搭建华为服务器虚拟化企业级环境,具体涉及CNA安装、VRM主备部署、使用OceanStor5300配置IP-SAN、平台接入SAN存储、HA高可用、Linux和Windows虚拟机的业务操作、业务...
  • 文件服务器没有域

    2021-08-08 05:37:44
    文件服务器没有域 内容精选换一换本文介绍了备份CBR各功能的基本介绍。在使用备份CBR之前,建议您先通过基本概念介绍了解存储库、数据库备份、备份策略、复制等基本概念,以便更好地理解备份CBR提供的功能。当...
  • 如何加入服务器的ad 内容精选换一换活动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。(Active Directory不能运行在Windows Web ...
  • openstack的部署与云主机实例

    千次阅读 2020-07-19 14:39:49
    控制节点服务器主机网络2.网络时间协议(NTP)3.安装OpenStack包4.安装SQL数据库 实验环境: 控制节点:controller:172.25.1.1 2CPU,4G内存,5 GB 存储 1.openstack部署 1.1 环境搭建 1.控制节点服务器主机网络 [root...
  • 阿里 ECS服务器创建 登陆阿里,注册,实名认证,手机号,邮箱等等自己填好 选择服务器 我选择的是3年的,阿里续费对于老客服处有点不友好,选择好服务器之后选择地域和可用区和系统镜像(windows2019数据中心...
  • openstack的dashboard启动云主机方法

    千次阅读 2018-03-10 12:13:51
    一 点击“启动云主机”二 启动云主机的“详情”页三 启动云主机网络配置,配置私有网络四 点击运行,虚拟机创建成功五 点击vm1链接,查看日志信息 failed to get ...lt;head&gt;/openssh-key warning: no ec2 ...
  • 图形化界面创建云主机 先删除目前的主机: 切换到admin用户,删除网络,先删除子网,在删除网络: 创建云主机之前要先创建网络: 切换到demo用户去创建云主机: 实例信息 2.镜像 3.创建规格 4.网络 5.安全组 6.密钥 ...
  • 创建网络云主机也一直报错 (报错的图一般都是右上角出现红色字体的文字) 试着重启Neutron服务 #service openstack-nova-api restart #service openstack-nova-scheduler restart #service openstack-nova-...
  • 阿里云主机、云服务器一级代理云南天成科技,阿里云云服务器购买服务 吴经理:13698746778 QQ:463592055 阿里云——阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。 提供云服务器、云数据库、云...
  • 没有域的文件服务器

    2021-08-10 09:21:46
    没有域的文件服务器 内容精选换一换外部镜像文件在从原平台导出前,没有按照“Linux操作系统的镜像文件限制”的要求完成初始化操作,推荐您使用弹性服务器完成相关配置。流程如图1所示。服务器的正常运行依赖于...
  • 创建私有

    2012-10-19 03:06:25
    官方的私有(windows server)的创建教程文档,希望能帮助刚入门的鞋童们!
  • 流量和企微SCRM研究
  • 可用域 nova 已创建 2019年4月11日 21:57 从创建以来 0 分钟 主机 - 故障 消息 No valid host was found. There are not enough hosts available. 编码 500 详情 File "/usr/lib/python2.7...
  • Nmap云主机端口扫描

    2020-04-19 20:30:40
    云主机端口扫描 前言 一、nmap简介 Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪服务运行在那些连接端,并且推断哪个操作系统计算机运行(这是亦称fingerprinting)。 它是网络管理员必用...
  • 如何使用阿里虚拟主机构建网站。这包括通过阿里注册域名,注册阿里虚拟主机包,然后使用阿里DNS产品将两个项目链接在一起。最后一步确保在网络浏览器中输入我们所选域名的人可以看到上传到我们虚拟主机帐户...
  • 阿里容器服务Kubernetes版(Alibaba Cloud Container Service for Kubernetes,简称容器服务ACK)是全球首批通过Kubernetes一致性认证的服务平台,提供高性能的容器应用管理服务,支持企业级Kubernetes容器化应用...
  • 安全

    2021-01-29 19:26:52
    安全是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全平台的总称。安全通过网状的大量客户端对网络中软件的行为进行监测,获取互联网中木马、恶意程序的最新信息,并发送到Server端进行自动分析...
  • 原生安全技术预研的一些总结,比较全面加入了一些自己的想法
  • XX集团桌面虚拟化(桌面)项目验收测试报告.pdfXX集团桌面虚拟化(桌面)项目验收测试报告.pdfXX集团桌面虚拟化(桌面)项目验收测试报告.pdfXX集团桌面虚拟化(桌面)项目验收测试报告.pdfXX集团桌面虚拟化(桌面)...
  • 【腾讯云】 点击进入高性能云服务器1核2G首年99元【华为云】点击进入2核4G5M企业级云主机707元/年香港免备案主机129/年【阿里云】点击进入云服务器低至0.95折1核2G ECS云服务器8.1元/月标实例的信息经营项目,修改...
  • CSA安全指南V4.0中文版 这个领域包括了 4 部分: • 定义云计算 • 逻辑模型 • 概念、架构和参考模型 • 安全性和合规管理范围、职责和模型
  • Ceph是一个分布式存储系统,提供对象,块和文件存储,是一个免费开源软件的存储解决方案,可以部署于普通的x86兼容...想达到的目标:没有单点故障的完全分布式存储系统,使数据能容错和无缝的复制,可扩展EB水平(EB,P
  • 怎么在服务器上安装系统 内容精选换一换要访问您的文件系统,如果是Linux服务器,您需要在Linux服务器上安装NFS客户端后使用挂载命令挂载文件系统;如果是Windows服务器,您需要在Windows服务器上安装NFS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,026
精华内容 3,210
关键字:

创建云主机没有可用域