Home

Start_OpenStack部署笔记

OpenStack是一个开源的云计算管理平台项目,由Rackspace Hosting和NASA在2010年共同发起,目前由OpenStack基金会管理和维护。它旨在通过开源软件和标准化的API提供基础设施即服务(IaaS)服务,使用户能够在私有云、公有云和混合云环境中轻松管理云资源。OpenStack提供了一组模块,包括计算、存储、网络、身份认证、映像服务、计量和编排等,这些模块可以组合在一起来构建一个完整的云环境。

计算模块(Nova)是OpenStack中最核心的部分,它提供了虚拟机实例的管理和调度功能。存储模块(Swift和Cinder)提供了对象存储和块存储的功能,网络模块(Neutron)则提供了虚拟网络的管理和配置。身份认证模块(Keystone)为OpenStack提供了用户和服务的认证和授权。映像服务模块(Glance)可以管理和共享虚拟机镜像,计量模块(Ceilometer)则提供了云资源的计量和报告。编排模块(Heat)可以自动化部署和扩展OpenStack环境。

OpenStack的优势在于其开放性和可扩展性。它的API设计使得可以轻松地与其他开放标准的云服务进行集成,同时也可以通过插件和扩展来扩展OpenStack的功能。此外,OpenStack是开源的,因此用户可以查看、修改和分发OpenStack源代码,这使得OpenStack更加透明和可信。

OpenStack是一个由多个互相协作的组件所构成的开源云计算平台,其架构可以分为四个核心组件:计算(Compute)、网络(Networking)、存储(Storage)和仪表板(Dashboard)。下面我会对每个组件进行详细介绍。

计算(Compute):计算组件是OpenStack最核心的部分,它允许用户创建和管理虚拟机实例。这个组件的核心是Nova服务,它提供了虚拟机实例的创建、启动、停止、删除等功能。

网络(Networking):网络组件为OpenStack提供了灵活、高效的网络管理服务。这个组件的核心是Neutron服务,它可以为虚拟机实例创建、配置和管理网络。同时,Neutron也支持多种网络拓扑结构,包括Flat、VLAN、GRE和VXLAN等。

存储(Storage):存储组件为OpenStack提供了可扩展的存储服务。这个组件的核心是Cinder服务,它可以为虚拟机实例提供块级存储服务,同时也支持多种后端存储,如Ceph、LVM等。

仪表板(Dashboard):仪表板组件为OpenStack提供了用户友好的Web界面,用户可以通过这个界面管理云计算资源。这个组件的核心是Horizon服务,它提供了类似于Amazon Web Services(AWS)的Web控制台,用户可以通过这个控制台创建、启动、停止、删除虚拟机实例、创建网络、创建存储等操作。

除了这些核心组件之外,OpenStack还有一些补充组件,如认证服务(Keystone)、镜像服务(Glance)、消息服务(Zaqar)等,它们都为OpenStack提供了一些必要的功能支持。

部署

自动化部署工具

DevStack

DevStack是一种用于在单个节点上快速部署OpenStack的工具,适合于开发、测试和试验环境。如果你想快速地在本地环境中部署OpenStack并进行实验和测试,那么DevStack是一个不错的选择。它使用bash脚本自动化了OpenStack的安装和配置过程,可以在几分钟内完成整个过程。使用DevStack可以帮助你更好地理解OpenStack的基础架构,以及如何在OpenStack环境中实现特定的功能。

OpenStack-Ansible

OpenStack-Ansible是一个基于Ansible的工具,它提供了一种自动化部署和配置OpenStack的方式。使用OpenStack-Ansible,你可以轻松地安装OpenStack的各个组件,包括Nova、Glance、Keystone、Neutron等,还可以进行配置和管理。与其他OpenStack部署工具相比,OpenStack-Ansible具有更高的灵活性和可扩展性,可以满足不同规模的OpenStack部署需求。

使用OpenStack-Ansible可以使OpenStack的部署和管理更加简单、快速和可靠,同时也可以提高OpenStack的稳定性和安全性。如果你正在寻找一种自动化部署和管理OpenStack的方法,那么OpenStack-Ansible可能是一个不错的选择。

PuppetOpenstack

使用DevStack部署OpenStack

虚拟机环境准备

更换国内源

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

sudo vim /etc/apt/sources.list

保存以下内容

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

执行更新源操作

sudo apt-get update //更新源

sudo apt-get upgrade //更新已安装的包

安装时间同步工具

sudo apt-get install ntpdate

设置时区,选择Asia,shanghai

sudo ntpdate cn.pool.ntp.org

date

安装软件包

sudo apt-get install bridge-utils git python3-pip -y

安装前后可以先查看一下有木有安装

# 查看pip(V是大写)

pip -V 或 pip3 -V

# 查看git

git --version

# 新增stack用户

sudo useradd -s /bin/bash -d /opt/stack -m stack

# 授予stack用户sudo权限

echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

# 切换到stack用户

sudo su - stack

下载devstack

# 使用git下载devstack
git clone https://opendev.org/openstack/devstack
# 下载完成后切换到devstack目录下
cd devstack

添加local.conf文件

在devstack根目录下添加local.conf文件

vim local.conf

将以下内容添加到local.conf文件中

[[local|localrc]]
ADMIN_PASSWORD=duanyd
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

开始安装

# 在devstack目录下执行stack.sh脚本
./stack.sh

漫长等待。。。。。。出错就继续再来运行一次

配置环境变量脚本

创建admin-openrc.sh文件

vim admin-openrc.sh

添加以下信息,请根据实际情况修改密码及IP

export OS_USERNAME=admin
export OS_PASSWORD=duanyd
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://192.166.66.18/identity
export OS_IDENTITY_API_VERSION=3

验证

查看各服务状态

sudo systemctl status “devstack@*”

加载环境变量后,随便输入一些openstack命令

# 加载环境变量脚本
source admin-openrc.sh
# 查看服务列表
nova service-list
# 查看网络代理
openstack network agent list

通过浏览器访问IP地址查看是否能访问并登录成功

Linux VMware LVM 网络 存储 虚拟化