|NO.Z.00012|——————————|^^^^ 部署 ^^^^|——|OpenStack&元件.V03|--------------------------|OpenStack-nova|構建nova元件|
阿新 • • 發佈:2022-03-27
[CloudVirtualiZation:OpenStack&元件.V03] [Applications.CloudVirtualiZation] [|OpenStack|OpenStack.nova|controller節點下部署nova計算服務|在compute節點部署一個compute例項]
一、開始構建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:[email protected]/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 | - |
+----+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
===============================END===============================
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
來自為知筆記(Wiz)