云计算OpenStack:云计算介绍及组件安装(一)--技术流ken
云计算介绍
当用户能够通过互联网方便的获取到计算、存储等服务时,我们比喻自己使用到了“云计算”,云计算并不能被称为是一种计算技术,而更像是一种服务模式。每个运维人员心里都有一个对云计算的理解,而最普遍接受的是NIST(美国国家标准与技术研究院)的定义:
云计算是一种按使用量付费的服务模式,这是一种能够提供可用的、便捷的、按需求的网络访问模式,计算共享池能够快速的为用户提供网络、服务器、存储、应用软件及其他服务,并且只需要花费很少的管理时间。
服务层次
NIST还针对于云计算的服务模式提出了3个服务层次:
、
OpenStack项目
OpenStack官方网站:https://www.openstack.org/
Openstack项目的版本按照ABCDEFG……的顺序发布,每6个月更新一次。
Openstack最初是由NASA和Rackspace共同发起的云端计算服务项目,该项目以Apache许可证授权的方式成为了一款开源产品,目的是将多个组件整合后从而实现一个开源的云计算平台,目前Openstack项目正在被红帽、IBM、AMD、Intel、戴尔、思科、微软等超过一百家厂商共同研发,并已经支持了几乎所有的常见云计算环境,拥有了良好的可扩展性,而且部署搭建Openstack服务也变得十分简单,目前国内对于云计算的需求也逐渐增加,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等中国企业也加入到了Openstack项目研发当中,Openstack项目也正在随着全球内得到了众多厂商的参与支持而快速成熟。
Open是开放,Stack则是堆砌之意,合起来就是将众多的功能服务堆积起来的集合,让人们通过Openstack云计算项目,能够将诸如计算能力、存储、网络和软件等资源抽象成服务,以便让用户可以通过互联网远程来享用,付费的形式也变得因需而定,调整方便,拥有极强的虚拟可扩展性,是公共和私有云的建设与管理软件中的优秀开源项目。
功能 | 项目名称 |
描述 |
计算服务 | Nova |
负责虚拟机的创建、开关机、挂起、迁移、调整CPU、内存等规则。 (核心服务) |
对象存储 | Swift |
用于在大规模可扩展系统中通过内置的冗余及高容差机制实现对象存储的系统。(可选服务) |
镜像服务 | Glance |
用于创建、上传、删除、编辑镜像信息的虚拟机镜像查找及索引系统。 (核心服务) |
身份服务 | Keystone |
为其他的功能服务提供身份验证、服务规则及服务令牌的功能。 (核心服务) |
网络管理 | Neutron |
用于为其他服务提供云计算的网络虚拟化技术,可自定义各种网络规则,支持主流的网络厂商技术。(核心服务) |
块存储 | Cinder |
为虚拟机实例提供稳定的数据块存储的创建、删除、挂载、卸载、管理等服务。(核心服务) |
图形界面 | Horizon |
为用户提供简单易用的Web管理界面,降低用户对功能服务的操作难度。 |
测量服务 | Ceilometer |
收集项目内所有的事件,用于监控、计费或为其他服务提供数据支撑。 |
部署编排 | Heat |
实现通过模板方式进行自动化的资源环境部署服务。 |
数据库服务 | Trove |
为用户提供可扩展的关系或非关系性数据库服务。 |
Openstack服务组件协同工作拓扑图
中间菱形VM是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块
OpenStack部署环境规划
本教程部署的openstack版本为O版
准备两台虚拟机,一台作为控制节点,一台作为计算节点
控制节点(Controller Node): 管理 OpenStack,其上运行的服务有 Keystone、Glance、Horizon 、Neutron、Cinder以及 Nova 和 Neutron 中管理相关的组件。 控制节点也运行支持 OpenStack 的服务,例如 SQL 数据库(通常是 MySQL)、消息队列(通常是 RabbitMQ)和网络时间服务 NTP。
计算节点(Compute Node):其上运行 Hypervisor(默认使用 KVM)。 同时运行 Neutron 服务的 agent,为虚拟机提供网络支持。
控制节点IP: 192.168.64.7
计算节点IP: 192.168.64.8
OpenStack部署环境准备
第一步:关闭防火墙
两台虚拟机都要操作
[root@ken-node1 ~]# setenforce
[root@ken-node1 ~]# systemctl stop firewalld
第二步:域名解析
两台节点都需要操作
[root@ken-node1 ~]# vim /etc/hosts
[root@ken-node1 ~]# scp /etc/hosts 192.168.64.8:/etc/
The authenticity of host '192.168.64.8 (192.168.64.8)' can't be established.
ECDSA key fingerprint is SHA256:EO1X8PdzqfD689Y2WYB6eLvaO/gvrWwhDd0cGDGmsgo.
ECDSA key fingerprint is MD5:6d:::df::ef::1f:2a:2e::::bb:fc:9b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.64.8' (ECDSA) to the list of known hosts.
root@192.168.64.8's password:
hosts % .9KB/s :
[root@ken-node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.7 ken-node1
192.168.64.8 ken-node2
192.168.254.6 download.yunwei.edu #解析公司内部源(外部用户无法使用)
第三步:测试外网连通性
两台都操作
我的两台节点都是使用的nat模式
[root@ken-node1 ~]# ping -c baidu.com
PING baidu.com (123.125.115.110) () bytes of data.
bytes from 123.125.115.110 (123.125.115.110): icmp_seq= ttl= time=11.2 ms
bytes from 123.125.115.110 (123.125.115.110): icmp_seq= ttl= time=12.5 ms --- baidu.com ping statistics ---
packets transmitted, received, % packet loss, time 1002ms
rtt min/avg/max/mdev = 11.241/11.889/12.537/0.648 ms
第四步:使用公司源
两台主机都安装
[root@ken-node1 ~]# cat yum-repo.sh
mkdir /etc/yum.repos.d/old
mv /etc/yum.repos.d/C* /etc/yum.repos.d/old/
wget -O /etc/yum.repos.d/Centos7-Base-yunwei.repo 192.168.254.6/shell/Centos7-Base-yunwei.repo
wget -O /etc/yum.repos.d/epel-yunwei.repo 192.168.254.6/shell/epel-yunwei.repo
wget -O /etc/yum.repos.d/rdo-release-yunwei.repo 192.168.254.6/shell/rdo-release-yunwei.repo
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud 192.168.254.6/shell/RPM-GPG-KEY-CentOS-SIG-Cloud
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL- 192.168.254.6/shell/RPM-GPG-KEY-EPEL-
yum repolist
第五步:开启虚拟机的虚拟化
第六步:两台虚拟机时间统一
[root@ken-node2 ~]# ntpdate time1.aliyun.com
Mar :: ntpdate[]: step time server 203.107.6.88 offset -28800.262060 sec
[root@ken-node2 ~]# date
Wed Mar :: CST
OpenStack组件安装
OpenStack包
第一步:安装启用OpenStack仓库的包
[root@ken-node1 ~]# yum install centos-release-openstack-ocata -y
第二步:安装OpenStack客户端
[root@ken-node1 ~]# yum install python-openstackclient -y
第三步: 安装 openstack-selinux 软件包以便自动管理 OpenStack 服务的安全策略
[root@ken-node1 ~]# yum install openstack-selinux -y
SQL数据库
第一步:安装软件包
[root@ken-node1 ~]# yum install mariadb mariadb-server python2-PyMySQL -y
第二步:创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作:
在 [mysqld] 部分,设置 ``bind-address``值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:
[root@ken-node1 ~]# cat /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.64.7 #绑定控制节点IP default-storage-engine = innodb
innodb_file_per_table = on
max_connections =
collation-server = utf8_general_ci
character-set-server = utf8
第三步:启动数据库服务,并将其配置为开机自启
[root@ken-node1 ~]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@ken-node1 ~]# systemctl start mariadb.service
第四步:为了保证数据库服务的安全性,运行``mysql_secure_installation``脚本
[root@ken-node1 ~]# mysql_secure_installation
消息队列
第一步:安装
[root@ken-node1 ~]# yum install rabbitmq-server -y
第二步:启动消息队列服务并将其配置为随系统启动
[root@ken-node1 ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@ken-node1 ~]# systemctl start rabbitmq-server.service
第三步:添加 openstack 用户
密码为openstack
[root@ken-node1 ~]# rabbitmqctl add_user openstack openstack
Creating user "openstack" ...
第四步:给``openstack``用户配置写和读权限
[root@ken-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
Memcached
第一步:安装
[root@ken-node1 ~]# yum install memcached python-memcached -y
第二步:编辑配置文件/etc/sysconfig/memcached
[root@ken-node1 ~]# vim /etc/sysconfig/memcached
[root@ken-node1 ~]# cat /etc/sysconfig/memcached
PORT=""
USER="memcached"
MAXCONN=""
CACHESIZE=""
OPTIONS="-l 127.0.0.1,::1,192.168.64.7" #后面添加Ip即可
第三步:启动
[root@ken-node1 ~]# systemctl enable memcached.service
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@ken-node1 ~]# systemctl start memcached.service
至此,所有的组件已经安装完毕,下节开始安装配置认证服务!
云计算OpenStack:云计算介绍及组件安装(一)--技术流ken的更多相关文章
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Ansible基础认识及安装使用详解(week5_day1_part1)--技术流ken
Ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量 ...
- 实战!基于lamp安装Discuz论坛-技术流ken
简介 我前面的博客已经详细介绍了lamp采用yum安装以及编译安装的方式,这篇博客将基于yum安装的lamp架构来实战安装Discuz论坛,你可以任选其一来完成. 系统环境 centos7.5 服务器 ...
- 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...
- Redis基础知识补充及持久化、备份介绍(二)--技术流ken
Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...
- cobbler单台服务器实现批量自动化安装不同版本系统-技术流ken
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...
- 云计算openstack——云计算、大数据、人工智能(16)
一.互联网行业及云计算 在互联网时代,技术是推动社会发展的驱动,云计算则是一个包罗万象的技术栈集合,通过网络提供IAAS.PAAS.SAAS等资源,涵盖从数据中心底层的硬件设置到最上层客户的应用.给我 ...
- Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken
Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...
- Python系列:一、Python概述与环境安装--技术流ken
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
随机推荐
- BZOJ_1828_[Usaco2010 Mar]balloc 农场分配_线段树
BZOJ_1828_[Usaco2010 Mar]balloc 农场分配_线段树 Description Input 第1行:两个用空格隔开的整数:N和M * 第2行到N+1行:第i+1行表示一个整数 ...
- BZOJ_4443_[Scoi2015]小凸玩矩阵_二分+二分图匹配
BZOJ_4443_[Scoi2015]小凸玩矩阵_二分+二分图匹配 Description 小凸和小方是好朋友,小方给小凸一个N*M(N<=M)的矩阵A,要求小秃从其中选出N个数,其中任意两个 ...
- CentOS7 docker试水
CentOS 7.0,无外网直接访问权限,有一台代理服务器. 首先安装docker-ce,参考http://blog.51cto.com/aaronsa/2056882 除非特殊说明,以下操作都用ro ...
- Python安装和配置
在我厂呆了快一年,终于等来了转岗机会,而且现在正在调动到新成立的AI战略部门,心里无比欣喜和激动.自己作为一个小白,终于有机会踏入AI领域,离自己的梦想更近了一步,个人感到无比的幸运,仿佛天生就有上天 ...
- Actor模型-Akka
英文原文链接,译文链接,原文作者:Arun Manivannan ,译者:有孚 写过多线程的人都不会否认,多线程应用的维护是件多么困难和痛苦的事.我说的是维护,这是因为开始的时候还很简单,一旦你看到性 ...
- 审计篇丨PHPcms9.6.3后台XSS审计
引言 今天与大家分享的文章是关于审计思路的知识点,用到的是PHPcms的最新版本,因为常规扫描无法进入后台,所以我们修改了代码让扫描器爬虫爬到后台. 漏洞复现环境 安装PHPstudy 安装PHPcm ...
- Word页眉、页码的使用:利用分隔符设置指定页显示页眉,解决页码显示{PAGE \* MERGEFORMAT}问题
不常编辑对文档有格式要求的朋友来说,偶尔需要编辑指定格式页眉页码的word文档时,会一时不记得如何使用,在网上搜索半天,异常烦躁. 特整理一下,记录下来,备不时只需. 以下操作环境为word2016. ...
- 【重学计算机】操作系统D6章:并发程序设计
1. 并发程序的基本概念 程序顺序性 内部顺序性:CPU严格按照顺序执行指令 外部顺序性:程序员设计程序时往往用顺序设计的思想 顺序程序特性 程序执行的顺序性 计算环境的封闭性: 程序执行时犹如独占资 ...
- .net core 注入中的三种模式:Singleton、Scoped 和 Transient
从上篇内容不如题的文章<.net core 并发下的线程安全问题>扩展认识.net core注入中的三种模式:Singleton.Scoped 和 Transient 我们都知道在 Sta ...
- .net core webapi 前后端开发分离后的配置和部署
背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...