设为首页 收藏本站
查看: 1708|回复: 0

[经验分享] Openstack之路(一)基础环境

[复制链接]

尚未签到

发表于 2018-5-30 11:47:38 | 显示全部楼层 |阅读模式
Openstack的概述
  Openstack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
  Openstack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。Openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。Openstack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
  Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。

  Openstack官方网站
Openstack官方文档

DSC0000.jpg


Openstack的组件


序号
服务名称
项目名称
描述




1
Dashboard
Horizon
为Openstack用户提供一个Web的自服务Portal


2
Compute service
Nova
管理VM的生命周期,是Openstack中最核心的服务


3
Networking service
Neutron
提供网络连接服务,负责创建和管理L2、L3网络,为VM提供虚拟网络和物理网络连接


4
Object Storage service
Swift
提供对象存储服务。VM可以通过RESTful API存放对象数据。作为可选的方案,Glance可以将镜像存放在Swift中;Cinder也可以将Volume备份到Swift中


5
Block Storage service
Cinder
为VM提供块存储服务。Cinder提供的每一个 Volume在VM看来就是一块虚拟硬盘,一般用作数据盘


6
Identity service
Keystone
为Openstack的各种服务提供认证和权限管理服务。简单的说,Openstack上的每一个操作都必须通过Keystone的审核


7
Image service
Glance
管理VM的启动镜像,Nova创建VM时将使用Glance提供的镜像


8
Telemetry service
Ceilometer
提供Openstack监控和计量服务,为报警、统计或计费提供数据


9
Orchestration service
Heat
自动化部署的组件


10
Database service
Trove
提供数据库应用服务
DSC0001.jpg


Openstack的安装

环境规划


序号
主机名
IP地址
描述
系统版本




1
linux-node1
eth0:192.168.56.11
控制节点
CentOS Linux release 7.2


2
linux-node2
eth0:192.168.56.12
计算节点
CentOS Linux release 7.2


3
linux-node3
eth0:192.168.56.13
计算节点
CentOS Linux release 7.2

系统优化


  • 关闭selinux和iptables

[root@linux-node1 ~]# setenforce 0
[root@linux-node1 ~]# getenforce
Disabled
[root@linux-node1 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
[root@linux-node1 ~]# systemctl disable firewalld
[root@linux-node1 ~]# systemctl stop firewalld

  • 同步网络时间服务器

[root@linux-node1 ~]# ntpdate 0.pool.ntp.org
10 Jan 12:38:28 ntpdate[2446]: adjust time server 120.25.115.20 offset 0.048309 sec
[root@linux-node1 ~]# hwclock
Wed 10 Jan 2018 08:31:31 PM CST  -0.944430 seconds
[root@linux-node1 ~]# crontab -e
####Synchronization Network Time Server####
*/5 * * * * /usr/sbin/ntpdate 0.pool.ntp.org &>/dev/null
[root@linux-node1 ~]# crontab -l
####Synchronization Network Time Server####
*/5 * * * * /usr/sbin/ntpdate 0.pool.ntp.org &>/dev/null
基础服务安装


  • 添加Openstack仓库,安装Newton版

[root@linux-node1 ~]# yum -y install centos-release-openstack-newton
[root@linux-node1 ~]# rpm -qa centos-release-openstack-newton
centos-release-openstack-newton-1-2.el7.noarch

  • 安装Openstack客户端

[root@linux-node1 ~]# yum -y install python-openstackclient openstack-selinux
[root@linux-node1 ~]# rpm -qa python-openstackclient openstack-selinux
python-openstackclient-3.2.1-1.el7.noarch
openstack-selinux-0.8.11-1.el7.noarch
基础服务MySQL
  大多数Openstack服务使用SQL数据库来存储信息(生产环境建议做集群)。 典型地,数据库运行在控制节点上。当然了Openstack服务也支持其他SQL数据库,包括PostgreSQL。


  • 安装MariaDB数据库

[root@linux-node1 ~]# yum -y install mariadb mariadb-server python2-PyMySQL
[root@linux-node1 ~]# rpm -qa mariadb mariadb-server python2-PyMySQL
python2-PyMySQL-0.7.9-2.el7.noarch
mariadb-10.1.20-1.el7.x86_64
mariadb-server-10.1.20-1.el7.x86_64

  • 创建并编辑/etc/my.cnf.d/openstack.cnf,添加如下内容

[root@linux-node1 ~]# vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.56.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

  • 启动mariadb,并配置为开机自启

[root@linux-node1 ~]# systemctl enable mariadb.service
[root@linux-node1 ~]# systemctl start mariadb.service
[root@linux-node1 ~]# systemctl status mariadb.service

  • 为了保证数据库服务的安全性,运行mysql_secure_installation脚本

[root@linux-node1 ~]# mysql_secure_installation
基础服务RabbitMQ
  Openstack使用message queue协调操作和各服务的状态信息(生产环境建议做集群)。消息队列服务一般运行在控制节点上。Openstack支持好几种消息队列服务包括RabbitMQ,Qpid, 和ZeroMQ。不过,大多数发行版本的Openstack包支持特定的消息队列服务。这里安装RabbitMQ消息队列服务,因为大部分发行版本都支持它。如果你想安装不同的消息队列服务,查询与之相关的文档。


  • 安装RabbitMQ消息队列

[root@linux-node1 ~]# yum -y install rabbitmq-server
[root@linux-node1 ~]# rpm -qa rabbitmq-server
rabbitmq-server-3.6.5-1.el7.noarch

  • 启动rabbitmq,并配置为开机自启

[root@linux-node1 ~]# systemctl enable rabbitmq-server.service
[root@linux-node1 ~]# systemctl start rabbitmq-server.service
[root@linux-node1 ~]# systemctl status rabbitmq-server.service

  • 查看端口状态,默认监听在5672端口

[root@linux-node1 ~]# lsof -i:5672
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
beam    4570 rabbitmq   48u  IPv6  29455      0t0  TCP *:amqp (LISTEN

  • 添加openstack用户

[root@linux-node1 ~]# rabbitmqctl add_user openstack openstack
Creating user "openstack" ...

  • 配置openstack用户写和读权限

[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...

  • 启动Web管理插件,默认监听在15672端口

[root@linux-node1 ~]# rabbitmq-plugins list
Configured: E = explicitly enabled; e = implicitly enabled
| Status:   * = running on rabbit@linux-node1
|/
[  ] amqp_client                       3.6.5
[  ] cowboy                            1.0.3
[  ] cowlib                            1.0.1
[  ] mochiweb                          2.13.1
[  ] rabbitmq_amqp1_0                  3.6.5
[  ] rabbitmq_auth_backend_ldap        3.6.5
[  ] rabbitmq_auth_mechanism_ssl       3.6.5
[  ] rabbitmq_consistent_hash_exchange 3.6.5
[  ] rabbitmq_event_exchange           3.6.5
[  ] rabbitmq_federation               3.6.5
[  ] rabbitmq_federation_management    3.6.5
[  ] rabbitmq_jms_topic_exchange       3.6.5
[  ] rabbitmq_management               3.6.5
[  ] rabbitmq_management_agent         3.6.5
[  ] rabbitmq_management_visualiser    3.6.5
[  ] rabbitmq_mqtt                     3.6.5
[  ] rabbitmq_recent_history_exchange  1.2.1
[  ] rabbitmq_sharding                 0.1.0
[  ] rabbitmq_shovel                   3.6.5
[  ] rabbitmq_shovel_management        3.6.5
[  ] rabbitmq_stomp                    3.6.5
[  ] rabbitmq_top                      3.6.5
[  ] rabbitmq_tracing                  3.6.5
[  ] rabbitmq_trust_store              3.6.5
[  ] rabbitmq_web_dispatch             3.6.5
[  ] rabbitmq_web_stomp                3.6.5
[  ] rabbitmq_web_stomp_examples       3.6.5
[  ] sockjs                            0.3.4
[  ] webmachine                        1.10.3
[root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Applying plugin configuration to rabbit@linux-node1... started 6 plugins.
[root@linux-node1 ~]# lsof -i:15672
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
beam    4570 rabbitmq   50u  IPv4  31327      0t0  TCP *:15672 (LISTEN)

  • 浏览器访问192.168.56.11:15672,默认账号guest,密码:guest
    DSC0002.jpg
    DSC0003.jpg

基础服务Memcached
  各类服务的身份认证机制使用Memcached缓存令牌。缓存服务Memecached通常运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。


  • 安装Memcached缓存

[root@linux-node1 ~]# yum -y install memcached python-memcached
[root@linux-node1 ~]# rpm -qa memcached python-memcached
memcached-1.4.39-1.el7.x86_64
python-memcached-1.54-3.el7.noarch

  • 编辑/etc/sysconfig/memcached文件,更改监听地址

[root@linux-node1 ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 192.168.56.11,::1"

  • 启动memcached,并配置为开机自启

[root@linux-node1 ~]# systemctl enable memcached.service
[root@linux-node1 ~]# systemctl start memcached.service
[root@linux-node1 ~]# systemctl status memcached.service

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-483059-1-1.html 上篇帖子: openstack cpu、内存超分设置 下篇帖子: Openstack之路(二)认证服务Keystone
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表