一起讨论openstack(二)部署opestack
前言:由于组件众多openstack的部署是较为麻烦的,由于网络问题单单依靠官方文档要部署成功openstack是很难的。
目录
一、认识packstack工具
Packstack是由redhat官方推出的用于概念验证(PoC)环境快速工具、
1、为什么使用一键部署?
因为openstack是部署/安装是非常麻烦的,openstack采用的是一种微服务的架构,指把很大平台拆分成不同的部分来分别开发,最终联合测试。
优点:进行联合开发进度比较快,组件间相互不干扰,多任务同时并发执行。
缺点:随着各服务组件的增多,在部署时我们要考虑到各个服务的关系,每做一个步骤要考虑到其它服务对该服务调用,因此造成随着服务组件越多,它的安装配置越复杂(不注意,运行会出现问题)如果不清楚各个组件的关系化一旦出错,在进行排错时会非常困难。
2、packstack工具与使用条件
1)Packstack支持三种运行模式:快速运行 无需做任何人工参与 ;交互式运行 重要的步骤进行人工参与,人工选择。;非交互式运行 提供一个运达文件,把需要交互式运行的步骤写到运达文件中。
2)Packstack支持两种部署架构:All-in-one:所有的服务部署到一台服务器上。;Multi-node:即控制节点和计算节点分离,其中控制节点:安装了认证组件keystone 计算机节点:除了keystone以为其它的一切服务都成为计算节点。
ALL-in-One定义:open stack是分布式的,由若干不同功能的节点(Node)组成(控制节点,网络节点,存储节点,计算节点) 在实际的环境中可以把这些节点放置在不同的host上。All-in-one是要在一台host上做到把所有的节点都装上。(麻雀虽小五脏俱全)
二、 部署方法与实验环境
由于open stack是一个项目而不是产品,不会根据企业的需求做一些定制,仅仅是一个技术框架。因此open stack没有一个整齐划一的安装程序or标准步骤。
我的安装规划为:使用packstack工具一键化部署,架构为all in one,版本为stein。
关于openstack的安装可以参考其官方文档:OpenStack Installation Guide — Installation Guide documentationhttps://docs.openstack.org/install-guide/ 关于openstack版本对操作系统注意事项:
实验环境:
在VMware workstation上部署一台centos7.9虚拟机,8G双核,硬盘100G(30G以上即可),网卡模式nat,静态分配ip(ip为172.17.8.31)
三、部署过程
1、前置环境配置
1)设置为静态ip
vi /etc/sysconfig/network-scripts/ifcfg-ens32
4 BOOTPROTO="static"
15 ONBOOT="yes"
16 IPADDR=172.17.8.31
17 NETMASK=255.255.255.0
18 GATEWAY=172.17.8.2
#重启网络服务
systemctl restart network
2)停掉NetworkManager服务
NetworkManager为管理网卡服务 ,系统中有两个管理网卡服务为network和networkmanager防止冲突停掉且disable永久停掉
systemctl stop NetworkManager
systemctl disable NetworkManager
#查看服务状态
systemctl status NetworkManager
3)修改主机名,添加host记录
hostnamectl set-hostname openstack
echo "172.17.8.31(主机ip) openstack" >> /etc/hosts
4)设置本机ssh免密钥登陆
#生成ssh密钥
ssh-keygen
#发送密钥
ssh-copy-id [email protected]
2、系统安全配置
1)关闭放防火墙且开机不自启
systemctl stop firewalld.service
systemctl disable firewalld.service
2)配置selinux
#临时关闭selinux
setenforce 0
#修改配置文件,永久关闭selinux,reboot重启后才可生效
7 SELINUX=disabled
#查看selinux状态
getenforce
3、配置yum仓库并安装相关组件
修改官方yum源为阿里yum源
1)避免冲突移动系统原有yum仓库
cd /etc/yum.repos.d/
mkdir base
mv CentOS-* base/
2)阿里源设置官方链接:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
刷新yum源仓库
yum makecache fast
3)升级系统
yum -y update
#重启
reboot
5)安装常用软件
yum -y install vim bash-completion yum-utils
#查看软件包是否安装
rpm -qa | grep yum-utils 或 yum list installed | grep yum-uilts
6)安装opensatck stein的yum仓库
yum -y install centos-release-openstack-stein
7)修改配置文件更换国内yum源
cd /etc/yum.repos.d/
#备份
cp -a CentOS-OpenStack-stein.repo CentOS-OpenStack-stein.repo.bak
#修改配置文件
vim CentOS-OpenStack-stein.repo
8 baseurl=http://mirrors.tuna.tsinghua.edu.cn/$contentdir/$releasever/cloud/$basearch/openstack-stein/
9 #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cloud-openstack-stein
补充 baseurl和mirrorlist区别:
baseurl:数量单一,没得选择,宕机了就没了,可以更好的定制需求,数量不行质量抗
mirrorlist:数量众多,择优选择,不好用就放弃,基本上只能有啥用啥,不易定制需求,质量不行那就换
mirrorlist
就是一个镜像列表
,而baseurl
则是一个基础URL地址,也就是说mirrorlist
可以配置多个镜像站,而需要配置哪些镜像站则是由这个参数的值去制定
8)安装packstack工具
yum -y install openstack-packstack
4、安装openstack
packstack --allinone
5、配置openstack账户密码
1)查看Dashboard web页面的登录账号及密码
cat keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='5e31bb23c6d34653'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://172.17.8.31:5000/v3
export PS1='[u@h W(keystone_admin)]$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
2)web登录界面
3)修改dashboard登录密码
使用密码重新登录
修改keystonerc_admin文件中的OS_PASSWORD变量,换成新密码
vim keystonerc_admin
3 export OS_PASSWORD='root'