OpenStack
一、组件介绍
1. horizon 提供web 网页
- 用于管理Openstack各种服务的、基于web的管理接口
- 通过图形界面实现创建用户、管理网络、启动实例等操作
2.keystone 安全 提供令牌 为所有组件 提供授权 认证 每个组件 进行操作时 都要 通过 keystone 认证
- 为其他服务提供认证和授权的集中身份管理服务
- 也提供了集中的目录服务
- 支持多种身份认证模式,如密码认证、令牌认证、以及AWS (亚马逊Web服务)登陆
- 为用户和其他服务提供了SSO认证服务
3.quantum 通讯 隔离 网络 (进行 VLAN 隔离但是VLAN只能有4096个 把VLAN升级为vxlan)
- 一种软件定义网络服务
- 用于创建网络、子网、路由器、管理浮动IP地址
- 可以实现虚拟交换机、虚拟路由器
- 可用于在项目中创建VPN
4.glance 管理后端镜像
- 扮演虚拟机镜像注册的角色
- 允许用户为直接存储拷贝服务器镜像
- 这些镜像可以用于新建虚拟机的模板
5.swift 对象存储 (管理主机 挂载cehp 之后 节点主机就也可以使用cehp 存储 达到数据的互联互通,共享存储)
6.cinder
- 为虚拟机管理存储卷的服务
- 为运行在Nova中的实例提供永久的块存储
- 可以通过快照进行数据备份
- 经常应用在实例存储环境中,如数据库文件
7.Nova
- 在节点上用于管理虚拟机的服务
- Nova是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理
- Nova被设计成在标准硬件上能够进行水平扩展
- 启动实例时,如果有则需要下载镜像
二、准备环境
(一)时间同步一致
(二)在/etc/hosts文件中 加入 所有主机名 IP (所有主机一致)
(三)内存最低管理机6G,node机4G
(四)关闭NetworkManager、firewalld (openstack会接管网络和防火墙)
(五)在机器上安装KVM软件( 只需要安装在Nova节点就行 yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools(python的工具包,所有主机都要装))
(六)检查/etc/resolv.conf中不能有search的行
三、准备yum源(所有机器都要配置还有个conost7的系统包,系统自带)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | RHEL7-extras.iso( #提供python依赖包) RHEL7OSP-10.iso(光盘拥有众多目录,每个目录都是一个软件仓库,我们配置其中2个软件仓库) 在yum仓库服务器上设置,挂在到 /var/ftp 下 mkdir /var/ftp/RHEL7-extras mkdir /var/ftp/RHEL7OSP-10 mount RHEL7-extras.iso /var/ftp/RHEL7-extras/ mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/ [root@openstack ~] # vim /etc/yum.repos.d/local.repo #添加下方的配置 [RHEL7-extras] name=RHEL7-extras baseurl= "ftp://192.168.1.254/RHEL7-extras" enabled=1 gpgcheck=0 [RHEL7OSP-package] name=RHEL7OSP-package baseurl= "ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms" enabled=1 gpgcheck=0 [RHEL7OSP-devtools] name=RHEL7OSP-devtools baseurl= "ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms" enabled=1 gpgcheck=0<br><br>yum makecache #生成缓存 |
1 2 3 | yum install -y openstack-packstack #安装 packstack --gen-answer- file answer.ini #生成应答文件 //answer .ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色 |
四、修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [root@openstack ~] # vim answer.ini 42: CONFIG_SWIFT_INSTALL=n #是否安装对象存储,比如ceph 45: CONFIG_CEILOMETER_INSTALL=n #45、49、53 这三行全部是计费模块,练习的时候可以给关闭 49: CONFIG_AODH_INSTALL=n 53: CONFIG_GNOCCHI__INSTALL=n 75: CONFIG_NTP_SERVERS=192.168.1.254 #时间同步NTP地址 98:CONFIG_COMPUTE_HOSTS=192.168.1.11 #在那台机器上安装Nova组件(这里先填一个主机,其他的笔记还会有一个添加nova主机的案例) 102:CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 #在那台机器上安装Neutron组件,所有主机都要安装网络组件(这里先填一个管理主机和一个nova主机,一下还会有一个添加nova主机的案例) 333:CONFIG_KEYSTONE_ADMIN_PW=a #管理员的密码(330行是管理员的用户名默认是admin) 840:CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan #选择支持网络的协议,处理vxlan(内网通讯),还得加上flat(扁平网络,支持外网通讯),gre的协议是vpn的 910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex #physnet1(物理机的全缀头),br-ex虚拟交换机的名字(装完之后可以用ifconfig看得到,可以划分VLAN),是ovs交换机的一种 921:CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ethO #配置一个交换机的接口 1179: CONFIG_PROVISION_DEMO=n #配置案例(案例内存需要比较大,内存不够的话不用装) |
五、安装(一定要检查,配置文件配配置是否正确,一旦安装就是20分钟左右)
1 | packstack --answer- file =answer.ini #安装 |
ifconfig查看,br-ex相当于这个虚拟机的网关
查看配置文件
类型变为OVS交换机
类型变为交换机的端口
六、页面配置
1 2 3 4 | [root@openstack conf.d] # vi 15-horizon_vhost.conf 35 WSGIProcessGroup apache 36 WSGIApplicationGroup %{GLOBAL} // 添加这一行 [root@openstack conf.d] # apachectl graceful //重新载入配置文件 |
七、登录页面
1 | ip /dashboard |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步