资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
云计算基础平台搭建与应用课程教案授课题目: 第13讲 OpenStack的资源监控者Placement教学时数:1.5授课类型:R理论课 R 实践课教学目的、要求:了解Placement的功能了解Placement的组件构成及功能了解Placement的基本工作过程能够安装配置Placement放置组件教学重点: Placement的组件构成及基本工作过程安装配置Placement服务 教学方法和手段: 通过微课讲解跟着视频实作教学条件: 网课参考资料:云计算基础平台搭建与应用课程教案教学内容及过程旁批课前准备:检查自己前面的系统配置是否完全完成,必须完成后才能进入这一段学习。并且先进行系统快照。教学引入:一个云平台是由海量服务器构成,其中负责创建云主机的服务器也很多。当用户要创建一个云主机时,平台会选择其中一台服务器来提供服务。在做这个选择前,系统需要掌握所有服务器的资源使用情况,只有那些拥有的空闲资源能满足云主机创建的服务器才能作为可选服务器。放置组件(Placement)就是跟踪现有资源状态并将其告知系统,使系统能做出选择判断的组件。教学内容与教学设计:13.1 Placement的基本概念第1篇13.1.1 放置服务(Placement)云主机不是凭空而来的,它是由物理主机提供硬件支持的,每创建一个云主机都会消耗一部分物理主机资源,如CPU、磁盘、内存等。因此在创建虚拟机时OpenStack需要知道物理机群中还有哪些物理机拥有足够的资源可以用来创建虚拟机。而放置(Placement)服务就是监控所有主机资源使用情况的组件。放置服务是从OpenStack Stein版开始才作为一个独立的组件,之前的这些工作都是由计算组件(Nova)完成的。13.1.2 放置服务的工作流程Placement通常是为计算组件Nova在创建虚拟机时提供服务的,其工作原理如图13.1所示。图13.1 Placement工作原理图Nova在创建虚拟机前需要调用Placement两次。首先Nova告诉Placement创建的虚拟机需要什么资源、数量如何(如虚拟机需要2核CPU,4G内存,100G硬盘等等)。然后Placement从数据库中进行查询,获得两个数据,第一个数据是所有空闲资源满足虚拟机创建的物理机及它们的现有资源信息,第二个数据是物理机原有的资源信息。Nova用这两个数据通过算法决定了具体创建虚拟机的物理机后,第二次调用Placement,将选择告诉它,Placement就将相应资源从该服务器的信息中扣除掉并存入数据库。第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 8.1 13.2 安装与配置Placement放置服务13.2.1 安装和配置Placement (1) 安装Placement软件包rootcontroller # yum install openstack-placement-api -y安装openstack-placement-api服务,会自动在Linux中生成一个名为“placement”的用户和同名用户组。可以用以下两个命令进行查看用户和用户组:rootcontroller # cat /etc/passwd | grep placement #查看用户placement:x:993:990:OpenStack Placement:/:/bin/bashrootcontroller # cat /etc/group | grep placement #查看用户组placement:x:990:能查询出结果就表示用户和用户组存在。(2) 创建一个placement数据库并授权 进入数据库rootcontroller # mysql -uroot -p000000因为MariaDB数据库完全兼容MySql数据库,因此在使用方式上是与MySql数据库是一样的。该命令的参数“-u”后为用户名,“-p”后为密码,可以不需要空格。登录数据库成功后就进入如上画面。 建立glance数据库MariaDB (none) CREATE DATABASE placement; #创建一个名为placement的数据库【提示】SQL命令需要“;”作为结束符,不要忘记写。 为数据库授权MariaDB (none) GRANT ALL PRIVILEGES ON placement.* TO placementlocalhost IDENTIFIED BY PLACEMENT_DBPASS;MariaDB (none) GRANT ALL PRIVILEGES ON placement.* TO placement% IDENTIFIED BY PLACEMENT_DBPASS;上面两条语句将placement数据库所有表(placement.*)的所有权限(ALL PRIVILEGES)赋予主机名为localhost(localhost)及任意远程主机(%)中名为“placement”的用户(placement),验证密码为PLACEMENT_DBPASS(PLACEMENT_DBPASS)。【提示】这里的密码可以根据实际需要设置,但是请一定记住。 退出数据库MariaDB (none) exit;(3) 修改Placement配置文件 备份配置文件rootcontroller # cp /etc/placement/placement.conf /etc/placement/placement.conf.bak 去掉所有注释,生成新的配置文件rootcontroller # grep -Ev $|# /etc/placement/placement.conf.bak /etc/placement/placement.conf该命令匹配了所有不为空和行首不为注释“#”的行,然后将结果写入(“”表示写入)“/etc/placement/placement.conf”文件。 编辑新的配置文件rootcontroller # vi /etc/placement/placement.conf我们可以看到去掉注释行和空行的文件如上所示。然后针对该配置文件进行如下修改。“api”配置应用接口的认证策略:apiauth_strategy = keystone“keystone_authtoken”配置认证服务信息:keystone_authtokenauth_url = http:/controller:5000/v3memcached_servers = controller:11211auth_type = passwordproject_domain_name = Defaultuser_domain_name = Defaultproject_name = serviceusername = placementpassword = PLACEMENT_PASS“placement_database”配置连接数据库:placement_databaseconnection = mysql+pymysql:/placement:PLACEMENT_DBPASScontroller/placement(4) 修改apache配置文件rootcontroller # vi /etc/httpd/conf.d/00-placement-api.conf在VirtualHost节点中加入 = 2.4 Require all granted IfVersion Order allow,deny Allow from all 如下所示:【提示】在配置文件这两个“=”或“ use placement; #转换到placement数据库MariaDB placement show tables; #查询该数据库中所有的表 13.2.2 Placement 组件初始化(1) 在OpenStack中创建“placement”用户并分配admin角色 导入admin环境变量进行鉴权rootcontroller # . admin-openrc 在OpenStack中创建用户“placement”rootcontroller # openstack user create -domain default -password PLACEMENT_PASS placement该语句在default域下创建了一个名为“placement”,密码为“PLACEMENT_PASS”的OpenStack用户。【提示】这里的用户名和密码要和配置文件中“keystone_authtoken”节中的用户名和密码一致。 给用户“placement”设定admin角色rootcontroller # openstack role add -project service -user placement admin该语句为placement用户添加admin角色,让placement具有操作service项目的管理员权限。(2) 创建服务实体“placement”rootcontroller # openstack service create -name placement placement该语句创建了一个名为“placement”,类型为“placement”的服务。(3) 创建放置服务访问端点(Endpoint) 创建为一般用户访问放置服务的端点(Endpoint)rootcontroller # openstack endpoint create -region RegionOne placement public http:/controller:8778 创建为内部组件访问放置服务的端点(Endpoint)rootcontroller # openstack endpoint create -region RegionOne placement internal
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号