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

基本概念

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

环境配置

ESXI 7.6
Ubuntu 20.04

解决方案

安装ESXI

安装Ubuntu 20.04

安装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

OpenStack 实例 无磁盘 openstack exsi_OpenStack

消息队列

安装软件包:

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.htmlOpenStack 实例 无磁盘 openstack exsi_EXSI_02

Image service

https://docs.openstack.org/glance/victoria/install/install-ubuntu.htmlOpenStack 实例 无磁盘 openstack exsi_OpenStack_03
OpenStack 实例 无磁盘 openstack exsi_Ubuntu_04
OpenStack 实例 无磁盘 openstack exsi_EXSI_05

Placement service

OpenStack 实例 无磁盘 openstack exsi_OpenStack 实例 无磁盘_06


OpenStack 实例 无磁盘 openstack exsi_OpenStack 实例 无磁盘_07


OpenStack 实例 无磁盘 openstack exsi_Ubuntu_08

Compute service

Networking service

Dashboard

Block Storage service