当前位置 博文首页 > 无限迭代中......:OpenStack——基于EXSI安装OpenStack解决方案

    无限迭代中......:OpenStack——基于EXSI安装OpenStack解决方案

    作者:[db:作者] 时间:2021-07-06 09:42

    那啥,做了但没完全做,太复杂了,做不下去了

    基本概念

    OpenStack:Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。

    环境配置

    ESXI 7.6
    Ubuntu 20.04

    解决方案

    安装ESXI

    https://blog.csdn.net/qiaohewei/article/details/107748938

    安装Ubuntu 20.04

    https://blog.csdn.net/qq_45392321/article/details/105821169

    安装OpenStack环境

    官方教程:https://docs.openstack.org/install-guide/

    网络

    DNS

    vim /etc/hosts
    
    127.0.0.1       controller
    127.0.0.1       compute1
    127.0.0.1       block1
    127.0.0.1       object1
    127.0.0.1       object2
    
    

    OpenStack 软件包

    适用于 Ubuntu 20.04 LTS 的 OpenStack Wallaby:

    add-apt-repository cloud-archive:wallaby
    

    适用于 Ubuntu 20.04 LTS 的 OpenStack Victoria:

    add-apt-repository cloud-archive:victoria
    

    安装示例

    apt install nova-compute
    

    安装客户端

    apt install python3-openstackclient
    

    SQL数据库

    适用于 Ubuntu 20.04 LTS 的 MariaDB:

    apt install mariadb-server python3-pymysql
    

    创建和编辑/etc/mysql/mariadb.conf.d/99-openstack.cnf文件并完成以下操作:

    创建一个[mysqld]section,设置bind-address keycontroller节点的管理IP地址,允许其他节点通过管理网络访问。设置附加键以启用有用的选项和 UTF-8 字符集:

    [mysqld]
    bind-address = 10.0.0.11
    
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
    

    重启数据库服务:

    service mysql restart
    

    通过运行mysql_secure_installation 脚本来保护数据库服务。特别是,为数据库root帐户选择一个合适的密码 :

    mysql_secure_installation
    

    在这里插入图片描述

    消息队列

    安装软件包:

    apt install rabbitmq-server
    

    添加openstack用户:

    rabbitmqctl add_user openstack RABBIT_PASS
    
    Creating user "openstack" ...
    

    替换RABBIT_PASS为合适的密码。

    允许用户的配置、写入和读取访问权限 openstack:

    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    
    Setting permissions for user "openstack" in vhost "/" ...
    

    内存缓存

    安装软件包:

    apt install memcached python3-memcache
    

    编辑/etc/memcached.conf文件并将服务配置为使用控制器节点的管理 IP 地址。这是为了允许其他节点通过管理网络进行访问:

    -l 127.0.0.1
    

    重启 Memcached 服务:

    service memcached restart
    

    etcd

    安装etcd软件包:

    apt install etcd
    

    编辑该/etc/default/etcd文件,将ETCD_INITIAL_CLUSTER, ETCD_INITIAL_ADVERTISE_PEER_URLS, ETCD_ADVERTISE_CLIENT_URLS, 设置为ETCD_LISTEN_CLIENT_URLS控制器节点的管理 IP 地址,以允许其他节点通过管理网络访问:

    ETCD_NAME="controller"
    ETCD_DATA_DIR="/var/lib/etcd"
    ETCD_INITIAL_CLUSTER_STATE="new"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
    ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
    ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
    ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"
    

    启用并重启 etcd 服务:

    systemctl enable etcd
    systemctl restart etcd
    

    安装OpenStack服务

    以Victoria版本为例
    https://docs.openstack.org/install-guide/openstack-services.html#minimal-deployment-for-victoria

    Identity service

    https://docs.openstack.org/keystone/victoria/install/keystone-install-ubuntu.html
    在这里插入图片描述

    Image service

    https://docs.openstack.org/glance/victoria/install/install-ubuntu.html
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Placement service

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

    Compute service

    Networking service

    Dashboard

    Block Storage service

    参考文章

    cs