目录
1.云计算的概述
1)云服务的介绍
按照使用方式云服务可以分为:公有云、私有云、混合云
- 私有云:自己做自己用
- 公有云:别人做好了,花钱用
- 混合云:自己做的,和别人做好的--都用
2)云服务的基本概述
laaS:基础设施服务, Infrastructure-as-a-service
PaaS:平台服务, Platform-as-a-service
SaaS: 软件服务, Software-as-a-service
-云计算是一种服务模式(I A S) , 其思想就是把各种资源整合起 来, 然后租给有需要的用户, 其中的资源包括处理器(CPU) 、内 存、存储、网络和其它基本的计算资源。
-云计算是一种服务模式(PAAS) , 除基础设施外还提供如:编程 语言,运行环境,技术支持,甚至针对该平台而进行的应用系统 开发、优化等服务,也就是中间件服务
-云计算是一种服务模式(SAAS) , 是一种通过Internet提供软件 的模式,客户可以根据自己实际需求,通过互联网向厂商定购所 需的应用软件服务
2.私有云的概述
私有云安装软件Openstack
注:内存Openstack必须最小资源2CPU,8G内存
节点必须2CPU,3G(两节点)
也就是服务器必须8CPU,16G起
1)Openstack的简介
openstack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目
OpenStack是一套laas解决方案
OpenStack是一个开源的云计算管理平台
以Apache许可证为授权
2)OpenStack的图解
3)Openstack组件
Horizon组件
本质时Apache+python(web页面+加python管理后台服务调度)
-Horizon为OpenStack服务的Web控制面板, 它可以管理实例、 镜像、创建密匙对, 对实例添加卷、操作Swift容器等。
- Horizon具有如下一些特点:
- 实例管理:创建、终止实例, 查看终端日志, VNC连接, 添加 卷等
- 访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
- 镜像管理:编辑或删除镜像
- 管理用户、配额及项目用途
Keystone组件
- 认证组件
- 为其他服务提供认证和授权的集中身份管理服务
- 也提供了集中的目录服务
- 支持多种身份认证模式, 如密码认证、令牌认证、以及AWS (亚马逊Web服务) 登陆
- 为用户和其他服务提供了SSO认证服务
Nova组件
在内部植入一个NOVA程序控制后台
- 计算组件
- 在节点上用于管理虚拟机的服务
- Nova是一个分布式的服务, 能够与Keystone交互实现认证, 与Glance交互实现镜像管理
- Nova被设计成在标准硬件上能够进行水平扩展
- 启动实例时,如果有则需要下载镜像
Glance组件
类似与NFS
- 镜像管理组件
- 扮演虚拟机镜像注册的角色
- 允许用户为直接存储拷贝服务器镜像
- 这些镜像可以用于新建虚拟机的模板
Neutron组件
类似与套网络组件
- 网络管理组件
- 一种软件定义网络服务
- 用于创建网络、子网、路由器、管理浮动IP地址
- 可以实现虚拟交换机、虚拟路由器 -可用于在项目中创建VPN
Swift组件
- 这是对象存储的组件。
- 对于大部分用户来说, swift不是必须的。
- 只有存储数量到一定级别,而且是非结构化数据才有这样的需求。
Cinder组件
类似与nfs的映射磁盘
- 存储卷管理组件
- 为虚拟机管理存储卷的服务
- 为运行在Nova中的实例提供永久的块存储
- 可以通过快照进行数据备份
- 经常应用在实例存储环境中,如数据库文件
4)Openstack搭建
准备机器
主机名 | IP地址 | 最小资源 |
---|---|---|
openstack | 192.168.1.10 | 2CPU,8G内存 |
nova01 | 192.168.1.11 | 2CPU,3G内存 |
nova02 | 192.168.1.12 | 2CPU,3G内存 |
repo | 192.168.1.250 | 2CPU,1G内存 |
时间源服务器与跳转服务器搭建(源在openstack搭建,跳转在nova01、nova02)
~]# yum -y install chrony ~]# vim /etc/chrony.conf # 注释掉所有 server 开头的行,添加 server ntp.aliyun.com iburst bindacqaddress 0.0.0.0 allow 0/0 local stratum 10 #允许继承数 # 启动并设置开机自启 ~]# systemctl enable chronyd --now # 查看 123 端口是否被监听成功 ~]# ss -ltun udp UNCONN 0 0 172.17.0.51:123 *:* udp UNCONN 0 0 127.0.0.1:123 *:* udp UNCONN 0 0 [fe80::5054:ff:feaf:59a3]%eth0:123 [::]:* udp UNCONN 0 0 [::1]:123 [::]:* # 跳转服务器搭建 ~]# vim /etc/chrony.conf #注释掉所有 server 开头的行,添加 server 192.168.1.250 iburst ~]# systemctl restart chronyd ~]# chronyc sources -v #验证配置 ^* 代表成功
配置yum源(本地光盘yum源)(三台机器同时操作openstack、nova01、nova02)
# 把光盘放到虚拟机内(再创建一个光驱) # 创建挂载点 ~]# mkdir -p /dvd/{extras,openstack} # 挂载 ~]# mount /var/iso/RHEL7-extras.iso /dvd/extras ~]# mount /var/iso RHEL7OSP-10.iso /dvd/openstack ~]# vim /etc/yum.repos.d/epel.repo [dvd] name=extras baseurl=file:///dvd/extras enabled=1 gpgcheck=0 [dvd] name=openstack baseurl=file:///dvd/openstack enabled=1 gpgcheck=0 # 加载 ~]# yum clean all ~]# yum makecache
系统环境准备(三台机器同时操作openstack、nova01、nova02)
# 修改selinux ~]# vim /etc/selinux/config # 修改 SELINUX=disabled # 删除防火墙 ~]# yum -y remove firewalld-* ~]# reboot # 卸载 NetworkManager ~]# systemctl stop NetworkManager ~]# yum remove -y NetworkManager ~]# systemctl enable --now network # 重启后验证 ~]# setenforce ~]# rpm -qa |grep -i firewalld # 配置网卡 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 # Generated by dracut initrd #注释 DEVICE="eth0" # 驱动名称,与ifconfig 看到的名称一致 ONBOOT="yes" # 开机启动 NM_CONTROLLED="no" # 不接受 NetworkManager 控制 TYPE="Ethernet" #类型 BOOTPROTO="static" #协议(dhcp|static|none) IPADDR="192.168.1.10" #IP地址 NETMASK="255.255.255.0" #子网掩码 GATEWAY="192.168.1.254" #默认网关
主机名与DNS配置(openstack、nova01、nova02)
~]# vim /etc/hosts 192.168.1.10 openstack 192.168.1.11 nova01 192.168.1.12 nova02 192.168.1.250 repo
域名解析(openstack、nova01、nova02)
~]# vim /etc/resolv.conf ~]# sed '/^search /d' -i /etc/resolv.conf #删除所有 search 开头的行
nova虚拟环境安装(开启虚拟化)
nova机器上操作
~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools ~]# systemctl enable --now libvirtd ~]# virsh version # 验证
openstack 安装(packstack工具安装)
openstack机器上操作
~]# yum install -y python-setuptools openstack-packstack # 使用应答文件安装,只需要在 openstack 上安装即可 # 创建应答文件 ~]# packstack --gen-answer-file=answer.ini # 修改应答文件 ~]#vim answer.ini 42: CONFIG_SWIFT_INSTALL=n # 存储对象组件 45: CONFIG_CEILOMETER_INSTALL=n # 计费模块 49: CONFIG_AODH_INSTALL=n # 计费模块 53: CONFIG_GNOCCHI_INSTALL=n # 计费模块 75: CONFIG_NTP_SERVERS=192.168.1.250 # 时间服务器 98: CONFIG_COMPUTE_HOSTS=192.168.1.11 # 计算节点IP 102:CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 # 网络节点IP 333:CONFIG_KEYSTONE_ADMIN_PW=a # 管理员密码 840:CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan # 支持协议 910:CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex # 网桥设备 921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 # 出口网卡 1179: CONFIG_PROVISION_DEMO=n # 演示模块
快照!!安装过程大约 10 ~ 30 分钟不等
~]# packstack --answer-file=answer.ini
命令行启动Openstack的虚拟机
# 创建命令行启动Openstack的虚拟机 ~]# vim keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin export OS_PASSWORD=a export OS_AUTH_URL=http://192.168.1.10:5000/v2.0 export PS1='[\u@\h \w(keystone_admin)]\$' export OS_TENANT_NAME=admin export OS_REGION_NAME=RegionOne ~]# source keystonerc_admin
5)项目管理
浏览器访问 http://(openstackip)
若无法登录,修改 apache 配置
~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf # 在配置文件倒数第三行添加 WSGIApplicationGroup %{GLOBAL} ~]# systemctl reload httpd
-项目是由admin角色的用户创建的
-项目:一组隔离的资源和对象。由一组关联的用户进行管理
-根据配置的需求,项目对应一个组织、一个公司或是一个使用客户等
-项目中可以有多个用户,项目中的用户用来管理虚拟资源
-项目相关信息保存到数据库中
默认项目
-缺省情况下,packstack 安装的openstack 中有两个独立的项目
admin:为admin账户创建的项目
services:与安装的各个服务相关联
创建项目与用户
6)类行与镜像管理
云主机类型管理
-与主机类型就是资源的模板
-它定义了一台云主机可以使用的资源,比如内存大小,磁盘容量和CPU核数等
-Openstack提供了几个默认的云云主机类型
-管理员还可以自定义云主机类型
创建云主机类型
到官方下载镜像
导入镜像(其他的按实际要求配置)
注:配置镜像格式按实际情况来;创建完之后按f5刷新
查看镜像格式:
7)网络管理
架构图
外部网络与内部网络(admin/tedu)
创建外部网络
登陆admin用户,创建外网public
Flat(直连网络)
提交,右上角会出现创建提示
创建子网
切换账号查看网络top
至此外部网络设置成功
忘记密码可登录admin修改
创建内网
登录其他账号创建内部网络
创建内部子网
网络地址不能与外部起冲突
配置dns解析
云主机分配的ip都是云主机自动分配的
至此内外网络创建成功
创建路由器使其连通
在内部用户创建路由连接外网
在内部用户连接内网
至此虚拟路由搭建成功
由于时虚拟的不存在真实设备所以系统检测不到(只要能用Down时无所谓的)
8)创建云主机
用内网用户
查看
~]# virsh list --all ID Name state ------------------------------------- 1 instance-000000001 running
网页登录方式
用户名/密码:root/redhat
9)报错
内存不足报错
解决办法:可以重新启动一下openstack-nova-console
10)创建跳板机
配置浮动IP与安全组
浮动IP管理
●浮动IP的用途
-浮动IP一般是花钱购买的
-浮动IP地址用于从外界访问虚拟机实例
-浮动IP地址只能从现有浮动IP地址池中分配
-虚拟机实例起动后,可以为其关联一-个浮动IP地址-虚拟机实例也可以解除IP地址绑定
第一步:创建3台虚拟机
第二步:分配浮动ip
第三步:绑定ip(随便找一台)
第四步创建安全组
注:创建的主机会加入默认安全组(此安全组为只允许访问被人,不允许别人访问)
创建安全组(此时与defaut安全组类似)
添加安全组(编辑安全组)
设置安全策略
11)查看服务基本信息
激活主机
3.公有云的概述
2018年美国将成为全球最大的公有云服务市场,其消费总额占到了全球的60%以上,高达970亿美元,其次就是西欧地区和德国,分别是79亿美元和74亿美元的市场表现,值得- -提的是日本和中国将会成为领跑公有云服务市场全球排名前五的国家,中国近几年公有云市场增长强劲,涌现出许多实力强劲的公司,如:阿里云, 华为云,腾讯云、Ucloud、中国电信天翼云等。