云平台

云计算基础

什么是云计算

1.基于互联网的相关服务的增加,使用和交付模式
2.这种模式提供可用的,便捷的,按需的网络访问,进入可配置的计算资源共享池
3.这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互
4.同常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源

IaaS Paas SaaS

	IaaS:基础设施即服务(提供给消费者的服务是对所以计算基础设施的利用,包括处理CPU,内存,存储,网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序),IaaS通常分为三种用法:公有云,私有云和混合云.
	PaaS:平台即服务(以服务器平台或者开发环境作为服务进行提供就成为了PaaS,PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,还针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发,优化等服务),简单的说,PaaS平台是指云环境中的应用基础设施服务,也可以说是中间件即服务.
	SaaS:软件即服务,是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商订购所需的应用软件服务.用户不用再购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动,不用对软件进行维护,提供商会全权管理和维护软件,同时也提供软件的离线操作和本地数据存储

Openstack简介

什么是Openstack

Openstack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目,也是一套IaaS解决方案,一个开源的云计算管理平台,以Apache许可证为授权

什么是云

现在广为接受的云计算是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入少量的管理工作,或与服务供应商进行很少的交互

云计算三大服务模式

云平台_第1张图片

知名云服务商

国外:亚马逊AWS、微软Azure、IBM SCE+、…
国内:华为云、阿里云、百度云、腾讯云、…

云产品选购建议

1.要考虑服务商的知名度、靠谱度
2.以个人/企业实际需求为本
-比如云主机、数据库、CDN、安全等,选择性价比最优的\

Openstack版本

云平台_第2张图片

Openstack结构图

云平台_第3张图片

Openstack主要组件介绍

Horizon:用于管理Openstack各种服务的、基于web的管理接口,通过图形界面实现创建用户、管理网络、启动实例等操作(本质是apache,加了个动态解析脚本,解析python脚本,是python开发的,只装在管理主机)
Keystone:为其他服务提供认证和授权的集中身份管理服务,也提供了集中的目录服务,支持多种身份认证模式,如密码认证、令牌认证、以及AWS(亚马逊Web服务)登录,为用户和其他服务提供了SSO认证服务(只装在管理主机)
Neutron:一种软件定义网络服务,用于创建网络、子网、路由器、管理浮动IP地址,可以实现虚拟交换机、虚拟路由器,也可用于在项目中创建VPN(网络服务组件,最复杂的,所有主机安装,提供网络服务,管理主机和节点机器都需要)
Cinder:为虚拟机管理存储卷的服务,为运行在Nova中的实例提供永久的块存储,可以通过快照进行数据备份,经常应用在实例存储环境中,如数据库文件(卷存储,就像块设备,可做数据迁移)
Glance:扮演虚拟机镜像注册的角色,允许用户为直接存储拷贝服务器镜像,这些镜像可以用于新建虚拟机的模板(类似yum服务,如同yum镜像盘,给其他机器提供后端盘镜像,管理主机装)
Swift:对象存储(提供不同机器的不同虚拟机共享数据,都需要装)
Nova:在节点上用于管理虚拟机的服务,Nova是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理,Nova被设计成在标准硬件上能够进行水平扩展,启动实例时,如果有则需要下载镜像(代理和管家,做为被管理端,用于接受管理端指令,下发管理虚拟机)

部署Openstack安装环境

准备机器

DNS服务器不能与openstack管理主机装同一台机器上
最少安装环境(3台机器,Openstack管理机,nova01,nova02做nova计算节点集群)
openstack管理主机配置(2CPU,6G内存,50G硬盘,静态IP:192.168.1.10)
nova01,nova02计算节点*2(2CPU,4.5G内存,100G硬盘,静态IP:192.168.1.11/12)
静态ip配置 cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0
# Generated by dracut initrd
DEVICE=“eth0”
ONBOOT=“yes”
NM_CONTROLLED=“no”
TYPE=“Ethernet”
BOOTPROTO=“static”
PERSISTENT_DHCLIENT=“yes”
IPADDR=192.168.1.10
NEMASK=255.255.255.0
GATEWAY=192.168.1.254

配置yum仓库

CentOS7-1804.iso 系统软件
RHTL7-extras.iso 提供Python依赖软件包
RHEL7OSP-10.iso 光盘用于众多目录,每个目录都是一个软件仓库,我们配置其中2个软件仓库
-openstack主要软件仓库 rhel-7-server-openstack-10-rpms
-packstack软件仓库 rhel-7-server-openstack-10-devtools-rpms(提供的是queens组件版本包)

利用系统共享,挂载到共享目录下,由nova01,nova02 yum布置访问来下载软件包
$ mount RHEL7-extras.iso /var/ftp/RHEL7-extras/
mount: /dev/loop1 写保护,将以只读方式挂载
mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/
mount: /dev/loop2 写保护,将以只读方式挂载
[root@openstack ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=“ftp://192.168.1.254/centos-1804”
enabled=1
gpgcheck=1
[RHEL7-extras]
name=RHEL7-extras
baseurl=“ftp://192.168.1.254/RHEL7-extras”
enabled=1
gpgcheck=0
[RHEL7OSP-package]
name=RHEL7OSP-package
baseurl=“ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms”
enabled=1
gpgcheck=0
[RHEL7OSP-devtools]
name=RHEL7OSP-devtools
baseurl=“ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms”
enabled=1
gpgcheck=0
利用scp将布置好的yum源传到其他节点机器
效果为: [root@openstack ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
RHEL7-extras RHEL7-extras 76
RHEL7OSP-devtools RHEL7OSP-devtools 3
RHEL7OSP-package RHEL7OSP-package 680
local_repo CentOS-7 - Base 9,911
repolist: 10,670

设置DNS

系统环境准备:
-openstack安装时候需要使用外部DNS来解析域名
vim /etc/resolv.conf
加nameserver dns地址 :去掉search开头的所有行,防域名解析出问题fqdn,完全主机名,防止寻找search域
-将openstack.tedu.cn域名对应的IP解析到我们安装的openstack服务器
vim /etc/hosts
192.168.1.10 openstack
192.168.1.11 nova01
192.168.1.12 nova02
:DNS服务器不能与openstack安装在同一台主机上

NTP服务

时间服务:nova服务器之间的时间必须保持一致
编辑配置文件 /etc/chrony.conf
-server 192.168.1.254 iburst
-重启服务 systemctl restart chronyd
测试服务是否正常:
]#chronyc sources -v #出现*代表NTP时间可用

检查基础环境

1.安装额外软件包:	
安装openstack期间,有些软件包所依赖的软件包,并没有在安装过程中安装,这些软件包需要提前安装
-qemu-kvm  libvirt-daemon  libvirt-daemon-driver-qemu  libvirt-client  python-setuptools
	]# yum install -y qemu-kvm(虚拟化平台) libvirt-client(客户端) libvirt-daemon(后台进程) libvirt-daemon-driver-qemu(驱动) python-setuptools(python的工具包,主机安装所有)	

2.是否卸载Firewalld(防火墙会被openstack接管,冲突)和NetworkManager(openstack会分配网络,配置物理网卡,会与Network冲突,所有卸载)
[root@openstack ~]# rpm -qa | grep NetworkManager*
[root@openstack ~]# rpm -qa | grep firewalld*
3.检查配置主机网络参数(需要静态ip地址static,不能dhcp分配)
4.验证主机名是否互通(openstack通过主机名寻找对方)
5.检查配置主机yum源
6.检查时间同步是否可用
7.检查/etc/resolve.conf不能有search开头的行
nova计算节点systemctl enable libvirtd开机自启动,提供虚拟化平台

安装Openstack

vbr虚拟机网桥,提供虚拟机是否能上网,上网通过真机转发
qume -e与无的区别,是否存在后端盘

配置packstack

安装openstack需要使用packstack,首先安装openstack-packstack,packstack提供远程安装,管理主机安装除nova的所有组件,nova计算节点安装nova组件,还有虚拟化平台

	[root@openstack ~]# yum install -y openstack-packstack    #只在管理主机上安装

使用packstack创建通用应答文件

[root@openstack ~]# packstack --gen-answer-file answer.ini	#answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

修改应答文件

[root@openstack ~]# 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.254           //时间服务器的地址
98  CONFIG_COMPUTE_HOSTS=192.168.1.11           //nova组件装在那个地址主机上
102 CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11       //netueen组件装在哪台主机上,都需要装
 333 CONFIG_KEYSTONE_ADMIN_PW=a                  //修改管理员的密码,330行,管理员名称
840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan       //连接网络类型,支持网络的协议种类,驱动类型
 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5  
//设置组播地址,最后一个随意不能为0和255,其他固定
 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  //虚拟交换机名称,物理网桥的名称
 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接,外网出口的网卡,指定连接外网的网卡
1179 CONFIG_PROVISION_DEMO=n   //DEMO是否测试,演示使用组件,需关闭

一键部署Openstack

 [root@openstack ~]# packstack --answer-file=answer.ini 
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log
Installing:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
root@192.168.1.11's password: 
root@192.168.1.10's password: 
Setting up ssh keys
 **** Installation completed successfully ******        //出现这个为成功

如果前期环境准备无误,只要耐心等待安装结束即可,根据主机配置不同,安装过程需要20分钟左右或更久,如果出现错误,根据屏幕上的日志文件进行排错

Openstack网络管理

1.查看外部OVS网桥
(1)查看br-ex网桥配置(br-ex为OVS网桥设备)(ovs将eth0的网卡枪来做了br-ex端口,配置openstack自动生成)

    [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex 
    ONBOOT="yes"
    NM_CONTROLLED="no" 
    IPADDR="192.168.1.10"
    PREFIX=24
    GATEWAY=192.168.1.254
    DEVICE=br-ex
    NAME=br-ex
    DEVICETYPE=ovs
    OVSBOOTPROTO="static"
    TYPE=OVSBridge

(2)查看eth0网卡配置(该网卡为OVS网桥的接口)

    [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
    DEVICE=eth0
    NAME=eth0
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ex
    ONBOOT=yes
    BOOTPROTO=none

2.验证OVS配置

    [root@openstack ~]# ovs-vsctl show
        Bridge br-ex
            Controller "tcp:127.0.0.1:6633"
                is_connected: true
            fail_mode: secure
            Port br-ex
                Interface br-ex
                    type: internal
            Port phy-br-ex
                Interface phy-br-ex
                    type: patch
                    options: {peer=int-br-ex}
            Port "eth0"
                Interface "eth0"
        ovs_version: "2.5.0"

Openstack操作基础

Horizon配置

概述:Horizon是一个用以管理、控制Openstack服务的Web控制面板,也称之为Dashboard仪表盘,可以管理实例、镜像、创建密钥对,对实例添加卷、操作Swift容器等.除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例,基于Python的django web框架进行开发

功能与特点

实例管理;创建、终止实例,查看终端日志,VNC连接,添加卷等
访问与安全管理:创建安全群组,;管理密钥对,设置浮动IP等
偏好设定:对虚拟硬件模板可以进行不同偏好设定
镜像管理:编辑或删除镜像
用户管理:创建用户等
卷管理:创建卷和快照
对象存储处理:创建、删除容器和对象

Horizon BUG处理:
安装虽然没有报错,但默认无法打开Horizon,这是一个软件的配置BUG
-/etc/httpd/conf.d/15-horizon_vhost.conf
-WSGIApplicationGroup %{GLOBAL} #添加这行

[root@openstack conf.d]# vi 15-horizon_vhost.conf
     35   WSGIProcessGroup apache
     36   WSGIApplicationGroup %{GLOBAL}     //添加这一行
[root@openstack conf.d]# apachectl  graceful  //重新载入配置文件

3)查看用户名和密码

[root@openstack conf.d]# cd
[root@openstack ~]# ls
answer.ini   keystonerc_admin   //keystonerc_admin生成的文件,里面有用户名和密码
[root@openstack ~]# cat 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

登录管理

访问Horizon, 对管理主机Openstack发起访问http://192.168.1.10
用户名密码为配置文件自定义用户名密码
云平台_第4张图片
云平台_第5张图片

命令行接口

创建名为myprojact的项目

    [root@openstack ~]# source ~/keystonerc_admin  //初始化环境变量
    [root@openstack ~(keystone_admin)]# openstack project create myproject
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | None                             |
    | enabled     | True                             |
    | id          |f73949e2701346328faf5c1272414cd0|
    | name        | myproject                        |
    +-------------+----------------------------------+

查看项目信息

    [root@openstack ~(keystone_admin)]# openstack project list
    +----------------------------------+-----------+
    | ID                                  | Name      |
    +----------------------------------+-----------+
    | 3fd5bffd734543d39cf742492273a47f | services  |
    | 7f0b43274a9f4e149357fc8393ff2c68 | admin     |
    | f73949e2701346328faf5c1272414cd0 | myproject |
    +----------------------------------+-----------+

更新vcpu配额为30

[root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject

删除myproject

[root@openstack ~(keystone_admin)]# openstack project delete myproject

命令行查看openstack的用户,openstack user list (会报错)
因为需要与keystone认证,在家目录下有个keystonerc_admin文件,认证为source ~/keystonerc_admin

你可能感兴趣的:(云平台)