6 安装Dashboard服务

温开畅
2023-12-01

6.1通过脚本安装dashboard服务

6.2-6.4dashboard的操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:

#Controller

执行脚本iaas-install-dashboard.sh进行安装

6.2安装Dashboard服务软件包

# yum install openstack-dashboard  –y

6.3配置

修改/etc/openstack-dashboard/local_settings内容如下

修改

import os

from django.utils.translation import ugettext_lazy as _

from openstack_dashboard.settings import HORIZON_CONFIG

DEBUG = False

WEBROOT = '/dashboard/'

ALLOWED_HOSTS = ['*', 'two.example.com']

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"

LOCAL_PATH = '/tmp'

SECRET_KEY='31880d3983dd796f54c8'

CACHES = {

    'default': {

        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',

    },

}

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

OPENSTACK_HOST = "controller"

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

OPENSTACK_KEYSTONE_BACKEND = {

    'name': 'native',

    'can_edit_user': True,

    'can_edit_group': True,

    'can_edit_project': True,

    'can_edit_domain': True,

    'can_edit_role': True,

}

OPENSTACK_HYPERVISOR_FEATURES = {

    'can_set_mount_point': False,

    'can_set_password': False,

    'requires_keypair': False,

    'enable_quotas': True

}

OPENSTACK_CINDER_FEATURES = {

    'enable_backup': False,

}

OPENSTACK_NEUTRON_NETWORK = {

    'enable_router': True,

    'enable_quotas': True,

    'enable_ipv6': True,

    'enable_distributed_router': False,

    'enable_ha_router': False,

    'enable_fip_topology_check': True,

    'supported_vnic_types': ['*'],

    'physical_networks': [],

}

OPENSTACK_HEAT_STACK = {

    'enable_user_pass': True,

}

IMAGE_CUSTOM_PROPERTY_TITLES = {

    "architecture": _("Architecture"),

    "kernel_id": _("Kernel ID"),

    "ramdisk_id": _("Ramdisk ID"),

    "image_state": _("Euca2ools state"),

    "project_id": _("Project ID"),

    "image_type": _("Image Type"),

}

IMAGE_RESERVED_CUSTOM_PROPERTIES = []

API_RESULT_LIMIT = 1000

API_RESULT_PAGE_SIZE = 20

SWIFT_FILE_TRANSFER_CHUNK_SIZE = 512 * 1024

INSTANCE_LOG_LENGTH = 35

DROPDOWN_MAX_ITEMS = 30

TIME_ZONE = "UTC"

POLICY_FILES_PATH = '/etc/openstack-dashboard'

LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'formatters': {

        'console': {

            'format': '%(levelname)s %(name)s %(message)s'

        },

        'operation': {

            'format': '%(message)s'

        },

    },

    'handlers': {

        'null': {

            'level': 'DEBUG',

            'class': 'logging.NullHandler',

        },

        'console': {

            'level': 'INFO',

            'class': 'logging.StreamHandler',

            'formatter': 'console',

        },

        'operation': {

            'level': 'INFO',

            'class': 'logging.StreamHandler',

            'formatter': 'operation',

        },

    },

    'loggers': {

        'horizon': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'horizon.operation_log': {

            'handlers': ['operation'],

            'level': 'INFO',

            'propagate': False,

        },

        'openstack_dashboard': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'novaclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'cinderclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'keystoneauth': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'keystoneclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'glanceclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'neutronclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'swiftclient': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'oslo_policy': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'openstack_auth': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'nose.plugins.manager': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'django': {

            'handlers': ['console'],

            'level': 'DEBUG',

            'propagate': False,

        },

        'django.db.backends': {

            'handlers': ['null'],

            'propagate': False,

        },

        'requests': {

            'handlers': ['null'],

            'propagate': False,

        },

        'urllib3': {

            'handlers': ['null'],

            'propagate': False,

        },

        'chardet.charsetprober': {

            'handlers': ['null'],

            'propagate': False,

        },

        'iso8601': {

            'handlers': ['null'],

            'propagate': False,

        },

        'scss': {

            'handlers': ['null'],

            'propagate': False,

        },

    },

}

SECURITY_GROUP_RULES = {

    'all_tcp': {

        'name': _('All TCP'),

        'ip_protocol': 'tcp',

        'from_port': '1',

        'to_port': '65535',

    },

    'all_udp': {

        'name': _('All UDP'),

        'ip_protocol': 'udp',

        'from_port': '1',

        'to_port': '65535',

    },

    'all_icmp': {

        'name': _('All ICMP'),

        'ip_protocol': 'icmp',

        'from_port': '-1',

        'to_port': '-1',

    },

    'ssh': {

        'name': 'SSH',

        'ip_protocol': 'tcp',

        'from_port': '22',

        'to_port': '22',

    },

    'smtp': {

        'name': 'SMTP',

        'ip_protocol': 'tcp',

        'from_port': '25',

        'to_port': '25',

    },

    'dns': {

        'name': 'DNS',

        'ip_protocol': 'tcp',

        'from_port': '53',

        'to_port': '53',

    },

    'http': {

        'name': 'HTTP',

        'ip_protocol': 'tcp',

        'from_port': '80',

        'to_port': '80',

    },

    'pop3': {

        'name': 'POP3',

        'ip_protocol': 'tcp',

        'from_port': '110',

        'to_port': '110',

    },

    'imap': {

        'name': 'IMAP',

        'ip_protocol': 'tcp',

        'from_port': '143',

        'to_port': '143',

    },

    'ldap': {

        'name': 'LDAP',

        'ip_protocol': 'tcp',

        'from_port': '389',

        'to_port': '389',

    },

    'https': {

        'name': 'HTTPS',

        'ip_protocol': 'tcp',

        'from_port': '443',

        'to_port': '443',

    },

    'smtps': {

        'name': 'SMTPS',

        'ip_protocol': 'tcp',

        'from_port': '465',

        'to_port': '465',

    },

    'imaps': {

        'name': 'IMAPS',

        'ip_protocol': 'tcp',

        'from_port': '993',

        'to_port': '993',

    },

    'pop3s': {

        'name': 'POP3S',

        'ip_protocol': 'tcp',

        'from_port': '995',

        'to_port': '995',

    },

    'ms_sql': {

        'name': 'MS SQL',

        'ip_protocol': 'tcp',

        'from_port': '1433',

        'to_port': '1433',

    },

    'mysql': {

        'name': 'MYSQL',

        'ip_protocol': 'tcp',

        'from_port': '3306',

        'to_port': '3306',

    },

    'rdp': {

        'name': 'RDP',

        'ip_protocol': 'tcp',

        'from_port': '3389',

        'to_port': '3389',

    },

}

REST_API_REQUIRED_SETTINGS = ['OPENSTACK_HYPERVISOR_FEATURES',

                              'LAUNCH_INSTANCE_DEFAULTS',

                              'OPENSTACK_IMAGE_FORMATS',

                              'OPENSTACK_KEYSTONE_DEFAULT_DOMAIN',

                              'CREATE_IMAGE_DEFAULTS',

                              'ENFORCE_PASSWORD_CHECK']

ALLOWED_PRIVATE_SUBNET_CIDR = {'ipv4': [], 'ipv6': []}

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

CACHES = {

    'default': {

         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

         'LOCATION': 'controller:11211',

    }

}

OPENSTACK_API_VERSIONS = {

    "identity": 3,

    "image": 2,

    "volume": 2,

}

6.4启动服务

# systemctl restart httpd.service memcached.service

6.5访问

打开浏览器访问Dashboard

http://controller(或本机内网ip/dashboard

注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。

6.6创建云主机

(1)管理员->资源管理->云主机类型->创建云主机类型

(2)管理员->网络->网络->创建网络

(3)项目->网络->安全组->管理规则->添加规则(ICMP、TCP、UDP)

(4)项目->资源管理->云主机->创建云主机

 类似资料: