renben-OpenStack安装
OpenStack是由Rackspace和NASA共同研发的云计算平台,是一个旨在为公共及私有云的建设与管理提供软件的开源项目(它是一个云平台管理的项目,而不是一个软件)。其通过仪表盘为管理员提供计算、存储和网络资源的管理控制,同时通过Web界面为用户提供资源。这个项目由几个主要的组件组合起来完成一些具体的工作
1、计算(Compute): Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。
2、对象存储(Object Storage): Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。
3、镜像服务(Image Service): Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。
4、身份服务(Identity Service): Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。
5、网络&地址管理(Network): Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。
6、块存储 (Block Storage): Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。
7、UI 界面 (Dashboard): Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。
其它:Ceilometer(计量)、Heat(部署编排)、Trove(数据库) 等
安装OpenStack前介绍
1.如果安装到物理机上,需要配置网络信息、网卡、主机名字、多个主机需要免密登录
2.如果是虚拟机,像金山云,阿里云之类的 直接安装即可,注意免密
准备安装OpenStack
1.准备1台物理机,或者多台虚拟机或者物理机
2.分配好controller 和 computer节点 初始化各个节点
3. 每个节点都执行yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server
4.各个节点关闭防火墙 networkmanager iptables selinux
systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager systemctl stop iptables systemctl disable iptables
cat /etc/sysconfig/selinux
作如下修改,重启虚拟机生效
SELINUX=disabled
5.做时间同步,各个节点操作
ntpdate cn.pool.ntp.org
6.配置无密码登陆,各个节点操作
ssh-keygen -t rsa
#一直回车即可
ssh-copy-id -i .ssh/id_rsa.pub ip地址
ssh-copy-id -i .ssh/id_rsa.pub ip地址
7.开始安装openstack,N版本
上传openstack离线软件包到root目录下(在controller和computer节点操作)在root下创建一个目录openstack,然后把软件包解压到这个目录下
mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz
解压之后会出现一个openstack目录,把openstack目录整体移动到/下(controller和computer节点操作)
mv openstack /
重新配置yum源(controller和computer节点都操作)注意:在云服务器中标红的源可能出现前缀不一样 记得修改,大概意思就是把所有的源备份到另一个文件夹 新建一个OpenStack源
cd /etc/yum.repos.d/ && mkdir bak && mv CentOS-* bak/ && mv epel* bak/
cp bak/CentOS-Base.repo ./
生成一个新的openstack的yum源
cat <<EOF > /etc/yum.repos.d/openstack.repo
[openstack]
enable=1
gpgcheck=0
baseurl=file:///openstack
EOF
yum makecache
openstack应答文件安装(controller节点操作)
yum install centos-release-openstack-newton -y
cd /etc/yum.repos.d && mv *.repo bak/ && cp bak/openstack.repo ./ && cp bak/CentOS-Base.repo ./
yum makecache
yum install openstack-packstack -y
cd /root
packstack --gen-answer-file=openstack.txt
#这样会生成一个应答文件openstack.txt
8.查看openstack应答文件内容
grep -vE '^$|^#' openstack.txt
9.修改openstack.txt文件,修改的内容如下
CONFIG_DEFAULT_PASSWORD=123456
CONFIG_SWIFT_INSTALL=n
CONFIG_NAGIOS_INSTALL=n
CONFIG_CINDER_VOLUMES_SIZE=10G
CONFIG_PROVISION_DEMO=n
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_CONTROLLER_HOST=192.168.124.200 (controller机器)
CONFIG_COMPUTE_HOSTS=192.168.124.201 (compute机器)
CONFIG_NETWORK_HOSTS=192.168.124.201 (compute机器)
10.查看修改之后的openstack.txt文件中安装哪些
grep -vE '^$|^#' openstack.txt |grep y
CONFIG_MARIADB_INSTALL=y
CONFIG_GLANCE_INSTALL=y
CONFIG_CINDER_INSTALL=y
CONFIG_NOVA_INSTALL=y
CONFIG_NEUTRON_INSTALL=y
CONFIG_HORIZON_INSTALL=y
CONFIG_CEILOMETER_INSTALL=y
CONFIG_AODH_INSTALL=y
CONFIG_GNOCCHI_INSTALL=y
CONFIG_CLIENT_INSTALL=y
CONFIG_RH_OPTIONAL=y
CONFIG_SSL_CACERT_KEY_FILE=/etc/pki/tls/private/selfkey.key
CONFIG_SSL_CACERT_SELFSIGN=y
CONFIG_SSL_CERT_SUBJECT_L=City
CONFIG_CINDER_VOLUMES_CREATE=y
CONFIG_NOVA_MANAGE_FLAVORS=y
CONFIG_NOVA_LIBVIRT_VIRT_TYPE=%{::default_hypervisor}
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_METERING_AGENT_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_HEAT_CFN_INSTALL=y
CONFIG_PROVISION_OVS_BRIDGE=y
看到y的表示是需要安装的组件
11.基于应答文件安装组件
packstack --answer-file=openstack.txt
安装过程需要查看iptables状态,在controller和computer节点
systemctl status iptables
如果发现iptables处于active状态,需要停掉
systemctl stop iptables
看到如下说明安装成功
192.168.124.200_controller.pp: [ DONE ]
Applying 192.168.124.201_network.pp
192.168.124.201_network.pp: [ DONE ]
Applying 192.168.124.201_compute.pp
192.168.124.201_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully ******
12.配置rabbitmq
启动rabbitmq的管理界面,controller节点操作
rabbitmq-plugins enable rabbitmq_management
访问rabbitMQ http://ip:15672/#/ 账号:guest 密码:guest
13.登陆openstack的dashboad界面
在浏览器输入:192.168.124.200
账号:admin
密码:16e424911af144ca
登陆之后显示如下界面
获取密码的方法,在controller节点上,可以看到PASSWORD是16e424911af144ca
cd /root && cat keystonerc_admin
显示如下所示
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD=16e424911af144ca
export OS_AUTH_URL=http://192.168.124.200:5000/v2.0
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_TENANT_NAME=admin
export OS_REGION_NAME=RegionOne