|NO.Z.00012|——————————|^^^^ 部署 ^^^^|——|OpenStack&组件.V03|——|OpenStack-nova|构建nova组件|
一、开始构建nova组件:配置先决条件
### --- 在controller节点配置:配置先决条件
### --- 创建数据库,完成下列步骤:
~~~ 使用数据库管理员root登录数据库
[root@controller ~]# mysql -uroot -p
Enter password: 123456
~~~ 创建nova数据库
MariaDB [(none)]> CREATE DATABASE nova;
Query OK, 1 row affected (0.00 sec)
~~~ 创建数据库用户nova,并授予nova用户对nova数据库的完全控制权限,
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost'IDENTIFIED BY'NOVA_DBPASS';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'IDENTIFIED BY'NOVA_DBPASS';
Query OK, 0 rows affected (0.00 sec)
~~~ 在compute1节点连接测试
~~~ 退出数据库连接
[root@compute ~]# yum install -y mysql
[root@compute ~]# mysql -unova -pNOVA_DBPASS -h controller.nice.com -P 3306
MariaDB [nova]> show tables;
Empty set (0.00 sec) // 空目录,还没有还原,证明权限是没有问题的。
### --- 在controller节点配置:
### --- 执行admin环境脚本
[root@controller ~]# source admin-openrc.sh
### --- 在认证服务中心创建计算服务的认证信息,完成下列步骤:
~~~ 创建nova用户
[root@controller ~]# keystone user-create --name nova --pass NOVA_PASS
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | |
| enabled | True |
| id | aec2303c9ee7480cb0696379b40eca3a |
| name | nova |
| username | nova |
+----------+----------------------------------+
~~~ 链接nova用户到service租户和admin角色
~~~ --name指定类型为nova,--type:指定类型为compute,
~~~ --description描述信息为:OpenStack compute的计算节点。
[root@controller ~]# keystone user-role-add --user nova --tenant service --role admin
~~~ 创建nova服务
[root@controller ~]# keystone service-create --name nova --type compute --description "OpenStack Compute"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Compute |
| enabled | True |
| id | e1c2ba9ab6c2423faee9b21daf57ba77 |
| name | nova |
| type | compute |
+-------------+----------------------------------+
### --- 创建计算服务端点
[root@controller ~]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ compute / {print $2}') \
> --publicurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --internalurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --adminurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --region regionOne
+-------------+--------------------------------------------------+
| Property | Value |
+-------------+--------------------------------------------------+
| adminurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| id | eee81988059a4695bc5a5b0789b551e1 |
| internalurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| publicurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| region | regionOne |
| service_id | e1c2ba9ab6c2423faee9b21daf57ba77 |
+-------------+--------------------------------------------------+
二、安装和配置计算控制组件
### --- 在controller节点
### --- 安装软件包
[root@controller ~]# yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
Installed:
openstack-nova-api.noarch 0:2014.2-2.el7.centos openstack-nova-cert.noarch 0:2014.2-2.el7.centos openstack-nova-conductor.noarch 0:2014.2-2.el7.centos
openstack-nova-console.noarch 0:2014.2-2.el7.centos openstack-nova-novncproxy.noarch 0:2014.2-2.el7.centos openstack-nova-scheduler.noarch 0:2014.2-2.el7.centos
python-novaclient.noarch 1:2.20.0-1.el7.centos
Dependency Installed:
libwebp.x86_64 0:0.3.0-3.el7 novnc.noarch 0:0.4-7.el7 openstack-nova-common.noarch 0:2014.2-2.el7.centos
pyparsing.noarch 0:2.0.1-3.el7.centos python-cheetah.x86_64 0:2.4.4-5.el7.centos python-cliff.noarch 0:1.7.0-1.el7.centos
python-cmd2.noarch 0:0.6.7-5.el7.centos python-ecdsa.noarch 0:0.11-3.el7.centos python-jinja2.noarch 0:2.7.2-2.el7
python-markdown.noarch 0:2.4.1-1.el7.centos python-neutronclient.noarch 0:2.3.9-1.el7.centos python-nova.noarch 0:2014.2-2.el7.centos
python-oslo-rootwrap.noarch 0:1.3.0.0-1.el7.centos python-paramiko.noarch 0:1.12.4-1.el7.centos python-pillow.x86_64 0:2.0.0-17.gitd1c6db8.el7
python-pyasn1.noarch 0:0.1.6-2.el7 python-pygments.noarch 0:1.4-9.el7 python-rfc3986.noarch 0:0.2.0-1.el7.centos
python-websockify.noarch 0:0.5.1-1.el7
Complete!
### --- 编辑/etc/nova/nova.conf文件,完成如下操作:
~~~ 编辑[database]小节,配置数据库访问
[root@controller ~]# vim /etc/nova/nova.conf
[database] # 没有收到,自己手动创建一个。
connection=mysql://nova:NOVA_DBPASS@controller.nice.com/nova
# 编辑[DEFAULT]小节,配置RabbitMQ消息队列访问:
[DEFAULT]
......
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest # 密码默认是guest,在安装完rabbit后没有更改它的默认密码:
# 编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务
[DEFAULT]
......
auth_strategy=keystone
[keystone_authtoken]
......
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=nova
admin_password=NOVA_PASS
# 编辑[DEFAULT]小节,配置my_ip选项为controller节点的管理接口ip:
[DEFAULT]
......
my_ip=192.168.222.5 # 管理网络的IP地址:
# 编辑[DEFAULT]小节,配置VNCdialing服务的使用controller节点的管理接口ip:
[DEFAULT]
......
vncserver_listen=192.168.222.5 # 监听地址:也就是我们本机的IP地址:
vncserver_proxyclient_address=192.168.222.5 # 更改代理的地址:依然是我们本机地址
# 编辑[glance]小节,配置镜像服务器的位置
[glance]
......
host=controller.nice.com
# (可选)在[DEFAULT]小节中配置详细日志输出 ,方便排错
[DEFAULT]
......
verbose=True
### --- 初始化计算数据库:还原nova数据库
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
[root@controller ~]# mysql -uroot -p
Enter password:
MariaDB [(none)]> use nova
MariaDB [nova]> show tables;
+--------------------------------------------+
| Tables_in_nova |
+--------------------------------------------+
| agent_builds |
| aggregate_hosts |
| aggregate_metadata |
| aggregates |
| block_device_mapping |
| bw_usage_cache |
| cells |
| certificates |
| compute_nodes |
| console_pools |
| consoles |
| dns_domains |
| fixed_ips |
| floating_ips |
| instance_actions |
| instance_actions_events |
| instance_extra |
| instance_faults |
| instance_group_member |
| instance_group_policy |
| instance_groups |
| instance_id_mappings |
| instance_info_caches |
| instance_metadata |
| instance_system_metadata |
| instance_type_extra_specs |
| instance_type_projects |
| instance_types |
| instances |
| iscsi_targets |
| key_pairs |
| migrate_version |
| migrations |
| networks |
| pci_devices |
| project_user_quotas |
| provider_fw_rules |
| quota_classes |
| quota_usages |
| quotas |
| reservations |
| s3_images |
| security_group_default_rules |
| security_group_instance_association |
| security_group_rules |
| security_groups |
| services |
| shadow_agent_builds |
| shadow_aggregate_hosts |
| shadow_aggregate_metadata |
| shadow_aggregates |
| shadow_block_device_mapping |
| shadow_bw_usage_cache |
| shadow_cells |
| shadow_certificates |
| shadow_compute_nodes |
| shadow_console_pools |
| shadow_consoles |
| shadow_dns_domains |
| shadow_fixed_ips |
| shadow_floating_ips |
| shadow_instance_actions |
| shadow_instance_actions_events |
| shadow_instance_extra |
| shadow_instance_faults |
| shadow_instance_group_member |
| shadow_instance_group_policy |
| shadow_instance_groups |
| shadow_instance_id_mappings |
| shadow_instance_info_caches |
| shadow_instance_metadata |
| shadow_instance_system_metadata |
| shadow_instance_type_extra_specs |
| shadow_instance_type_projects |
| shadow_instance_types |
| shadow_instances |
| shadow_iscsi_targets |
| shadow_key_pairs |
| shadow_migrate_version |
| shadow_migrations |
| shadow_networks |
| shadow_pci_devices |
| shadow_project_user_quotas |
| shadow_provider_fw_rules |
| shadow_quota_classes |
| shadow_quota_usages |
| shadow_quotas |
| shadow_reservations |
| shadow_s3_images |
| shadow_security_group_default_rules |
| shadow_security_group_instance_association |
| shadow_security_group_rules |
| shadow_security_groups |
| shadow_services |
| shadow_snapshot_id_mappings |
| shadow_snapshots |
| shadow_task_log |
| shadow_virtual_interfaces |
| shadow_volume_id_mappings |
| shadow_volume_usage_cache |
| shadow_volumes |
| snapshot_id_mappings |
| snapshots |
| task_log |
| virtual_interfaces |
| volume_id_mappings |
| volume_usage_cache |
| volumes |
+--------------------------------------------+
108 rows in set (0.00 sec)
三、完成安装
### --- 启动计算服务并配置开机自动启动:
[root@controller ~]# systemctl enable openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
ln -s '/usr/lib/systemd/system/openstack-nova-api.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-api.service'
ln -s '/usr/lib/systemd/system/openstack-nova-cert.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-cert.service'
ln -s '/usr/lib/systemd/system/openstack-nova-consoleauth.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service'
ln -s '/usr/lib/systemd/system/openstack-nova-scheduler.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service'
ln -s '/usr/lib/systemd/system/openstack-nova-conductor.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service'
ln -s '/usr/lib/systemd/system/openstack-nova-novncproxy.service' '/etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service'
[root@controller ~]# systemctl start openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
### --- 查看nova下运行了那些服务。状态是up状态,正常。
[root@controller ~]# nova service-list
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| 1 | nova-consoleauth | controller.nice.com | internal | enabled | up | 2021-01-11T01:07:38.000000 | - |
| 2 | nova-cert | controller.nice.com | internal | enabled | up | 2021-01-11T01:07:38.000000 | - |
| 3 | nova-conductor | controller.nice.com | internal | enabled | up | 2021-01-11T01:07:37.000000 | - |
| 4 | nova-scheduler | controller.nice.com | internal | enabled | up | 2021-01-11T01:07:38.000000 | - |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv012-openstack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」