开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 11 天,点击查看活动详情
Dashboard安装与配置 只在控制节点!!!!
yum install -y openstack-dashboard
- 确保服务正常安装
- vi /etc/openstack-dashboard/local_settings
# 配置允许访问的主机列表
ALLOWED_HOSTS = ['*', ]
# 配置memcached会话存储服务
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
/etc/httpd/conf.d/openstack-dashboard.conf
'LOCATION': '10.8.4.38:11211',
}
}
OPENSTACK_KEYSTONE_URL = "http://10.8.4.38:5000/v3"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
TIME_ZONE = "Asia/Shanghai"
- vi /etc/httpd/conf.d/openstack-dashboard.conf添加如下行
WSGIApplicationGroup %{GLOBAL}
重启httpd服务
systemctl restart httpd.service memcached.service
报错
解决 配置文件有问题 请看本节末尾,不要删除原始配置文件内容
ALLOWED_HOSTS = ['*', ]
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '10.8.4.38:11211'
}
}
OPENSTACK_KEYSTONE_URL = "http://10.8.4.38:5000/v3"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
TIME_ZONE = "Asia/Shanghai"
- 重启httpd服务正常
访问 http://10.8.4.38/dashboard 报错
查看日志
- vi /var/log/httpd/error_log
[Tue Jan 17 03:53:26.154470 2023] [:error] [pid 7860] [remote 192.168.17.250:24] IOError: [Errno 13] Permission denied: '/usr/share/openstack-dashboard/openstack_dashboard/local/.secret_key_store'
- ll /etc/openstack-dashboard/
- 提升权限,无效
解决
chown -R apache:apache /usr/share/openstack-dashboard/
systemctl restart httpd.service memcached.service
报错 The requested URL /auth/login/ was not found on this server.
解决
- 编辑 /etc/httpd/conf.d/openstack-dashboard.conf
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /static /usr/share/openstack-dashboard/static
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
Options All
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share/openstack-dashboard/static>
Options All
AllowOverride All
Require all granted
</Directory>
报错
RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
解决
把/etc/openstack-dashboard/local_settings中的:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'修改为
SESSION_ENGINE = 'django.contrib.sessions.backends.file',重启服务,问题解决。
虽然能显示dashboard了,但是不全
缺了菜单栏,查看log有报错,如下:
-
local_settings文件不要乱删,在原始文件基础上修改!!!
-
上传镜像试试
openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
- 创建一个flavor
openstack flavor create --id 1 --vcpus 2 --ram 2048 --disk 50 2C2G50G
- 创建安全组
openstack security group rule create --proto icmp default
openstack security group rule create --proto tcp --dst-port 22 default
- 创建网络
openstack network create --share --external --provider-physical-network provider --provider-network-type flat mgt
openstack subnet create --network mgt --allocation-pool start=192.168.10.2,end=192.168.10.252 --gateway 192.168.10.254 --subnet-range 192.168.10.0/24 mgt
- 创建虚机
nova boot --flavor 1 --image7ae4245d-8b71-4289-807b-6b911201a0fb --nic net-name=mgt c testVM
openstack server create --flavor 2C2G50G --image cirros --nic net-id=95a5d7df-382c-4299-ab33-272ebd737fcb --security-group default provider-instance
报错
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'keystoneauth1.exceptions.http.Unauthorized'> (HTTP 500) (Request-ID: req-bb1dc04d-4972-4f87-9809-75be61bdd272)
nova.conf的[neutron]密码配置错误
- 重启nova服务
systemctl restart openstack-nova-api
- 虚机创命令没问题但是报错:
MaxRetriesExceeded: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance dbaa631e-cfa7-4551-b143-65583a18d1cc
修改计算节点的nova.conf
[libvirt]
virt_type = kvm
- 重启计算服务
systemctl restart libvirtd.service openstack-nova-compute.service
无效
查看dashboard发现虚机并没有绑定IP地址,可能是网络存在问题。 查看控制节点的neutron服务,报错
Failed to bind port ef1fd554-6203-4c4e-8d57-0c38f761f338 on host compute02 for vnic_type normal using segments