什么是openstack?
请先熟悉虚拟化、云计算(立即IAAS,PAAS,SAAS) (可以搜索广琳科技)
OpenStack发展到现在已经是公认的云操作系统,可控制整个数据中心的大型计算,存储和网络资源池,所有这些操作都通过仪表板进行管理,让管理员可以控制,同时允许用户通过Web界面提供资源。
最初是美国国家宇航局(NASA)和Rackspace合作开发的旨在为公有云和私有云提供软件的开源项目。 OpenStack是一个IaaS层的软件,提供可靠的云部署方案及良好的可扩展性,实现类似于Amazon的云基础架构服务。
OpenStack有着众多的版本,版本采用A~Z开头的不同单词来标识。 2010年发布了第一个Austin版本,最新版本是pike版本。 openstack采用分布式设计,解耦应用,每个组件都是单独安装,甚至组件的服务也可以拆分安装。它可以管理kvm,xen,docket等,并且免费。使用compute和volume调度迁移虚机。
Openstack基金会成员分技术委员会跟董事会,包括Cisco、华为、IBM、中国移动、suse、红帽等
他是怎么工作的?
标准物理图
事务处理逻辑
怎么使用他?
怎么让他转起来
思路:
可以采用工具部署、软件包部署或者源码部署�CentOS:Packstack、Devstack、Fule、Kolla
�Ubuntu:Devstack、Fule、Kolla
准备:
基本环境准备
�电脑一台,内存>4G,磁盘空间>100G
�安装虚机软件VMware
workstation或者VirtualBox,配置好虚机网络�安装好2-3台Centos7
Server的虚拟机�OpenStack版本:OpenStack pike
基本环境配置
�网络配置
配置管理网络
将第一个接口配置为管理接口:
IPaddress: 10.0.0.31
Networkmask: 255.255.255.0 (or /24)
Defaultgateway: 10.0.0.1
Vim/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
Vim/etc/hosts
# controller
10.0.0.11controller
# compute1
10.0.0.31compute1
# block1
10.0.0.41block1
# object1
10.0.0.51object1
# object2
10.0.0.52object2
测试
Pingwww.baidu.com
Pingcontroller
�网络时间同步
yum install chrony
vim /etc/chrony.conf
server controller iburst
allow 10.0.0.0/24(其他节点不设置)
systemctl enable chronyd.service
systemctl start chronyd.service
chronyc sources
�SSH信任登录
每个节点
mkdir
~/.ssh
chmod
700 ~/.ssh
cd
~/.ssh
ssh-keygen
-t rsa
一个节点
ssh controller
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh compute1
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh block1
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod
600 ~/.ssh/authorized_keys
到每个节点
scp~/.ssh/authorized_keyscompute1:~/.ssh/
scp~/.ssh/authorized_keysblock1:~/.ssh/
测试
ssh computedate
�添加Openstack官方安装源
yum install centos-release-openstack-pike
yum installhttps://rdoproject.org/repos/rdo-release.rpm
yum upgrade
yum install python-openstackclient
yum install openstack-selinux
�安装数据库服务
yum install mariadb mariadb-server
python2-PyMySQL
vim/etc/my.cnf.d/openstack.cnf
[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
systemctl enable mariadb.service
systemctl start mariadb.service
mysql_secure_installation
�安装消息队列服务
yum install rabbitmq-server
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack
".*" ".*" ".*"
yum install memcached python-memcached
vim/etc/sysconfig/memcached
OPTIONS="-l
127.0.0.1,::1,controller"
systemctl enable memcached.service
systemctl start memcached.service
主要服务组件
逻辑构架
核心组件部署
部署的核心组件�统一认证服务(Keystone)的安装
mysql -u root -p
CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES
ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES
ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
yum install openstack-keystone httpdmod_wsgi
�镜像服务(Glance)的安装
�计算服务(Nova)的安装
�网络服务(Neutron)的安装
�Web管理服务(Horizon)的安装
�存储服务(Cinder)的安装
后续持续更新~~~~~~~~~~~~~~~~~
如有生产环境需要请参考后续HA部署模式,体验版参考Devstack或者Kolla容器部署