版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目4云基础架构平台运维知识准备项目实施拓展知识拓展任务1243学习云服务组件的定义学习云服务组件的基本概述学习云服务组件的运维方法掌握云服务组件基础运维技能具备云服务组件的运维、管理和排错的综合能力掌握更多高级服务组件的运维方法培养创新创意的科学精神培养忠诚守信的优良品质培养认真严谨的工作作风01知识准备引言OpenStack最新发布了一份2022年用户调查报告指出,其部署在2022年达到了一个新的里程碑:现在拥有超过4000万个生产核心,与2021年相比增长了60%,自2020年以来增长了166%,且全球共有300多个公共云数据中心。由于OpenStack对混合云环境和Kubernetes集成支持的依赖增加,推动了OpenStack内核数量呈指数增长,目前Kubernetes部署在超过85%的OpenStack部署中。OpenInfra基金会测得生产中的OpenStack内核数量达到前所未有的4000万个。鉴于OpenStack版本的快速迭代和更新,为了该技术能更好地服务于未来的工作和生产,需要读者更深入学习和实践OpenStackYoga版的各类组件。接下来本项目将详细介绍OpenStack的云基础服务组件、存储服务组件和高级服务组件等概念和架构原理。云基础服务组件存储服务组件高级服务组件基础服务组件4个存储服务组件3个高级服务组件3个Keystone认证服务Glance镜像服务Neutron网络服务Nova计算服务Cinder块存储服务Swift对象存储服务Manila共享文件系统服务Heat编排服务Ceilometer监控服务Cloudkitty计费服务典型云服务组件02项目实施任务0101任务0202任务0303云基础服务组件运维管理存储服务组件运维管理高级服务组件运维管理项目实施任务01
云基础服务组件运维管理
云基础服务组件运维管理涉及Keystone认证服务运维管理、Glance镜像服务运维管理、Neutron网络服务运维管理和Nova计算服务运维管理。1.Keystone认证服务运维管理以Kolla-ansible部署的单节点OpenStack云平台为实验工作平台,配置并启用Keystone认证服务。假设OpenStack云平台上有两个租户,租户A和租户B,他们分别属于两个部门,该公司对镜像管理比较严格,只有管理员有权限对镜像进行上传和管理。但公司有一个镜像需要共享给租户A,而对租户B为不可见。要实现这样的资源隔离最简单的方法就是由租户A中的用户自行上传镜像,这样租户A中的用户就能看到这个镜像,而租户B中的用户是看不到的。但由于租户A中的用户是普通用户,无权管理镜像,只能由管理员通过命令开放给租户A才能得以实现。接下来通过如下步骤实现上述目标。任务01
云基础服务组件运维管理
(1)创建租户创建租户A,命令如下所示。[root@controller~]#openstackprojectcreate--domaindefaultA在OpenStack界面上查看租户A,结果如图所示。任务01
云基础服务组件运维管理
创建租户B,命令如下。[root@controller~]#openstackprojectcreate\--domaindefaultB在OpenStack界面上查看租户B。(2)创建用户创建普通用户userA,密码为123456,命令如下。[root@controller~]#openstackusercreate\--domaindefault--password123456userA在OpenStack界面上查看用户userA。任务01
云基础服务组件运维管理
创建普通用户userB,密码为123456,命令如下。[root@controller~]#openstackusercreate\--domaindefault
--password123456userB在OpenStack界面上查看用户userB。(3)赋予角色将用户userA分配到租户A中,赋予用户userA以member的角色。[root@controller~]#openstackroleadd--projectA--useruserAmember将用户userB分配到租户B中,赋予用户userB以member的角色。[root@controller~]#openstackroleadd--projectB--useruserBmember使用命令查询租户列表信息和用户列表信息。[root@controller~]#openstackprojectlist任务01
云基础服务组件运维管理
(4)上传镜像将cirros-0.6.1-x86_64-disk.img下载至控制节点的/root目录下,命令如下所示。[root@controller~]#wget\/cirros-dev/cirros/releases/download/0.6.1/cirros-0.6.1-x86_64-disk.img创建一个cirros-0.6.1镜像,命令如下所示。[root@controller~]#openstackimagecreate\--disk-formatqcow2
--container-formatbare\--progress--filecirros-0.6.1-x86_64-disk.img"cirros-0.6.1"在OpenStack界面上查看userA、userB镜像内容。任务01
云基础服务组件运维管理
上传镜像后,userA和userB都不能看到该镜像。接下来做相关配置,使得A租户中的用户可以看到该镜像。(5)权限配置首先将镜像共享给A租户。[root@controller~]#openstackimageaddprojectcirros-0.6.1A在共享之后,镜像的状态是Pending状态,此时还需要激活镜像。[root@controller~]#openstackimagesetcirros-0.6.1--projectA--accept[root@controller~]#openstackimagememberlistcirros-0.6.1此时镜像的状态变为Accepted,切换至用户userA和用户userB中,分别查看镜像列表信息。[root@controller~]#exportOS_PROJECT_NAME=A[root@controller~]#exportOS_USERNAME=userA[root@controller~]#exportOS_PASSWORD=123456[root@controller~]#glanceimage-list可以发现,用户userA可查询到该镜像,用户userB不可以。通过这种方式,可以使管理员设置不同租户对不同镜像或文件资源的访问权限,实现资源隔离。任务01
云基础服务组件运维管理
2.Glance镜像服务运维管理(1)上传镜像下载镜像文件openEuler-22.09-x86_64.qcow2并创建名为openEuler-22.09、格式为qcow2的镜像,命令和结果如下所示。[root@controller~]#wgethttps:///openeuler/openEuler-22.09/virtual_machine_img/x86_64/openEuler-22.09-x86_64.qcow2.xz[root@controller~]#tar-xvfopenEuler-22.09-x86_64.qcow2.xz[root@controller~]#openstackimagecreate--disk-formatqcow2\--container-formatbare--progress--fileopenEuler-22.09-x86_64.qcow2"openEuler-22.09"(2)查看镜像列表使用相关命令查询镜像列表,并查询image-test镜像的详细信息,命令如下所示。[root@controller~]#openstackimagelist任务01
云基础服务组件运维管理
(3)使用Skyline界面创建镜像通过Skyline界面,使用镜像URL链接创建镜像。(4)删除镜像使用相关命令删除刚刚创建的镜像,命令如下。[root@controller~]#openstackimage\delete7f200158-bd9b-4e87-88fd-8042b21f198b注意:删除的ID为刚才查询的实际镜像ID。任务01
云基础服务组件运维管理
3.Neutron网络服务运维管理(1)创建网络使用OpenStack相关命令创建名称为neutron-test的网络,命令如下所示。[root@controller~]#openstacknetworkcreateneutron-test(2)网络列表使用相关命令查询所创建网络的列表信息,命令如下所示。[root@controller~]#openstacknetworklist(3)删除网络使用相关命令删除上一步创建的网络,并进行验证,命令和结果如下所示。[root@controller~]#openstacknetworkdeleteneutron-test[root@controller~]#openstacknetworklist此处并没有返回值,表示网络已经被删除。(4)创建路由使用相关命令创建一个名为route-test的路由,查看路由列表之后便删除,命令如下所示。[root@controller~]#openstackroutercreateroute-test[root@controller~]#openstackrouterlist[root@controller~]#openstackrouterdelete[routeID]任务01
云基础服务组件运维管理
4.Nova计算服务运维管理(1)创建实例创建实例类型,命令如下所示。[root@controller~]#openstackflavorcreate2V_4G_20G--vcpus2--ram4096--disk20查看可用实例类型列表,命令如下所示。[root@controller~]#openstackflavorlist查看可用镜像列表,命令如下所示。[root@controller~]#openstackimagelist查看可用网络列表,命令如下所示。[root@controller~]#openstacknetworklist创建实例使用的安全组,命令如下所示。[root@controller~]#openstacksecuritygroupcreatesecgroup01[root@controller~]#openstacksecuritygrouplist创建用于连接实例的SSH密钥对并查看密钥对列表,命令如下所示。[root@controller~]#openstackkeypaircreate--public-key.ssh/id_rsa.pubcontroller_key[root@controller~]#openstackkeypairlist任务01
云基础服务组件运维管理
创建实例cirros-0.6.1,命令如下所示。[root@controller~]#netID=$(openstacknetworklist|grepint-net|awk'{print$2}')[root@controller~]#openstackservercreate--flavor2V_4G_20G--imagecirros-0.6.1--security-groupsecgroup01--nicnet-id=$netID--key-namecontroller_key"cirros-0.6.1"查看外部网络列表,申请浮动IP地址并绑定至实例上。首先查看网络列表,命令如下所示。[root@controller~]#openstacknetworklist–external申请浮动IP地址3,命令如下所示。[root@controller~]#openstackfloatingipcreateext-net--floating-ip-address3绑定浮动IP地址到实例,命令如下所示。[root@controller~]#openstackserverlist[root@controller~]#openstackportlist--device-id\46ec44a0-ad70-42b3-9d29-d7050c8500fc[root@controller~]#openstackfloatingipset–port\1c7f3208-b375-495f-985f-e67c596652bd3[root@controller~]#openstackserverlist任务01
云基础服务组件运维管理
为安全组secgroup01添加因特网控制报文协议(InternetControlMessageProtocol,ICMP)协议入口访问规则,命令如下所示。[root@controller~]#openstacksecuritygrouprulecreate--protocolicmp--ingresssecgroup01为安全组secgroup01添加TCP协议入口访问规则,命令如下所示。[root@controller~]#openstacksecuritygrouprulecreate--protocoltcp--dst-port22:22secgroup01[root@controller~]#openstacksecuritygrouprulelistsecgroup01使用SSH登录实例进行测试,命令如下所示。[root@controller~]#openstackserverlist(2)查看实例详细信息,命令如下所示。[root@controller~]#openstackconsoleurlshowcirros-0.6.1[root@controller~]#openstackservershowcirros-0.6.1任务01
云基础服务组件运维管理
(3)使用OpenStackAPI启动、关闭和重建实例curl命令是一种在命令行下使用的网络工具,用于向服务器发送请求并获取响应,它可以模拟各种HTTP请求,常用于调试Web服务器和API。curl命令的基本参数如下。-s:在请求的过程中不显示进度条。-H:添加请求头部。-X:指定请求方法(例如GET、POST、PUT、DELETE)。使用curl调用后返回的JSON(JavaScriptObjectNotation,JavaScript对象表示法)数据不易读,这时可以使用python3-mjson.tool命令将响应数据格式化输出。查询实例列表;查询实例cirros-0.6.1的ID、状态等;停止、启动和重建实例cirros-0.6.1的命令和结果详见教材。项目实施任务0101任务0202任务0303云基础服务组件运维管理存储服务组件运维管理高级服务组件运维管理任务02存储服务组件运维管理
存储服务组件运维管理涉及Cinder块存储服务运维管理、Swift对象存储服务运维管理和Manila共享文件系统服务运维管理。1.Cinder块存储服务运维管理(1)创建镜像和网络下载镜像文件,命令如下所示。[root@controller~]#wgethttp:///0.6.1/cirros-0.6.1-x86_64-disk.img创建名为cirros-0.6.1的镜像,命令如下所示。[root@controller~]#openstackimagecreate--disk-formatqcow2--container-formatbare\--progress--filecirros-0.6.1-x86_64-disk.img"cirros-0.6.1"查看镜像列表,命令如下所示。[root@controller~]#openstackimagelist创建网络network-flat,网络类型为flat,命令如下所示。[root@controller~]#openstacknetworkcreate--provider-network-typeflat\--provider-physical-networkprovider--externalnetwork-flat任务02存储服务组件运维管理
查看网络列表,命令如下所示。[root@controller~]#openstacknetworklist创建子网network-flat-subnet,网络地址分配为00~00,网关为,命令如下所示。[root@controller~]#openstacksubnetcreate--networknetwork-flat\--subnet-range/24\--allocation-poolstart=00,end=00\--gatewaynetwork-flat-subnet查看子网列表,命令如下所示。[root@controller~]#openstacksubnetlist(2)启动云主机创建云主机类型2V_1G_10G,命令如下所示。[root@controller~]#openstackflavorcreate2V_1G_10G--vcpus2--ram1024--disk10任务02存储服务组件运维管理
使用先前创建的镜像、云主机类型和网络,启动云主机cirros-test,命令如下所示。[root@controller~]#openstackservercreate--imagecirros-0.6.1\--flavor2V_1G_10G--networknetwork-flatcirros-test查看云主机列表,命令如下所示。[root@controller~]#openstackserverlist(3)查看Cinder服务状态查看Cinder服务状态,命令如下所示。[root@controller~]#openstackvolumeservicelist(4)创建卷创建一个2GB云硬盘(卷),命令如下所示。[root@controller~]#openstackvolumecreate--size2SSD_2G(5)查看卷查看当前卷列表,命令如下所示。[root@controller~]#openstackvolumelist查看volume卷的详细信息,命令如下所示。[root@controller~]#openstackvolumeshowSSD_2G任务02存储服务组件运维管理
(6)挂载云硬盘给云主机cirros-test挂载SSD_2G卷(云硬盘),命令如下所示。[root@controller~]#openstackserveraddvolumecirros-testSSD_2G查看当前卷列表,命令如下所示。[root@controller~]#openstackvolumelist[root@controller~]#openstackvolumelist(7)扩展卷将云主机cirros-test上挂载的volume卷(云硬盘)移除,该卷(云硬盘)仍存在,命令如下所示。[root@controller~]#openstackserverremovevolumecirros-testSSD_2G查看当前卷列表,命令如下所示。[root@controller~]#openstackvolumelist将volume卷(云硬盘)由原来的2GB扩容为3GB,并更名为SSD_3G,命令如下所示。[root@controller~]#openstackvolumesetSSD_2G--size3--nameSSD_3G查看当前卷列表,命令如下所示。[root@controller~]#openstackvolumelist任务02存储服务组件运维管理
(8)挂载云硬盘,验证卷大小给云主机cirros-test挂载扩容后的SSD_3G卷(云硬盘),命令和查询结果如下所示。[root@controller~]#openstackserveraddvolumecirros-testSSD_3G查看当前卷列表,命令如下所示。[root@controller~]#openstackvolumelist列出所有的虚拟机,命令如下所示。[root@compute01~]#dnf-yinstalllibvirt-client[root@compute01~]#virshlist--allIdNameState--------------------------------------------------2instance-00000003running使用命令行切换到云主机cirros-test的控制台,命令如下所示。[root@compute01~]#virshconsoleinstance-00000003用户名和密码登录云主机cirros-test的控制台,命令如下所示。[root@compute01~]#virshconsoleinstance-00000003任务02存储服务组件运维管理
列出云主机所cirros-test有可用的块设备信息,验证volume卷(云硬盘)扩容的大小,命令如下所示。$lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTSvda252:0010G0disk|-vda1252:1010G0part/`-vda15252:1508M0partvdb252:1603G0disk2.Swift对象存储服务运维管理(1)服务运维基础命令
查看对象存储服务状态查看对象存储服务状态,命令如下所示。[root@controller~]#swiftstat创建容器创建容器swift-wxic,命令如下所示。[root@controller~]#openstackcontainercreateswift-wxic任务02存储服务组件运维管理
查看容器查看当前容器列表,命令如下所示。[root@controller~]#openstackcontainerlist查看容器swift-wxic的详细信息,命令如下所示。[root@controller~]#openstackcontainershowswift-wxic上传对象创建wxic目录,命令如下所示。[root@controller~]#mkdirwxic查看当前位置下的所有文件,命令如下所示。[root@controller~]#lssnapwxiccirros-0.6.1-x86_64-disk.img将cirros-0.6.1-x86_64-disk.img复制到wxic目录中,命令如下所示。[root@controller~]#mvcirros-0.6.1-x86_64-disk.imgwxic/将wxic/cirros-0.6.1-x86_64-disk.img文件上传到swift-wxic容器,命令如下。[root@controller~]#openstackobjectcreateswift-wxic
wxic/cirros-0.6.1-x86_64-disk.img任务02存储服务组件运维管理
查看对象查看swift-wxic容器内的上传对象,命令如下所示。[root@controller~]#openstackobjectlistswift-wxic+-------------------------------------+|Name|+-------------------------------------+|wxic/cirros-0.6.1-x86_64-disk.img|+-------------------------------------+查看上传swift-wxic容器中的wxic/cirros-0.6.1-x86_64-disk.img文件的详细信息。[root@controller~]#openstackobjectshowswift-wxicwxic/cirros-0.6.1-x86_64-disk.img任务02存储服务组件运维管理
下载对象进入/opt目录,命令如下所示。[root@controller~]#cd/opt/将swift-wxic容器中的wxic/cirros-0.6.1-x86_64-disk.img文件下载到/opt目录中。[root@controlleropt]#openstackobjectsaveswift-wxicwxic/cirros-0.6.1-x86_64-disk.img查看下载结果,命令如下所示。[root@controlleropt]#lswxic/cirros-0.6.1-x86_64-disk.img如果想要下载容器里面所有的文件,命令语法如下所示。[root@controller~]#openstackcontainersave<容器名>任务02存储服务组件运维管理删除对象查看swift-wxic容器内的上传对象,命令如下所示。[root@controller~]#openstackobjectlistswift-wxic+-------------------------------------+|Name|+-------------------------------------+|wxic/cirros-0.6.1-x86_64-disk.img|+-------------------------------------+删除swift-wxic容器内的上传对象wxic/cirros-0.6.1-x86_64-disk.img,命令如下所示。[root@controller~]#openstackobjectdeleteswift-wxicwxic/cirros-0.6.1-x86_64-disk.img再次查看swift-wxic容器内的上传对象,命令如下所示。[root@controller~]#openstackobjectlistswift-wxic任务02存储服务组件运维管理
删除容器查看容器列表,命令如下所示。[root@controller~]#openstackcontainerlist+-------------+|Name|+-------------+|swift-wxic|+-------------+删除swift-wxic容器,命令如下所示。[root@controller~]#openstackcontainerdeleteswift-wxic再次查看容器列表,检验上述操作结果,命令如下所示。[root@controller~]#openstackcontainerlist如果需要递归删除对象和容器,则需要加—recursive参数,命令语法如下所示。[root@controller~]#openstackcontainerdelete<容器名>--recursive任务02存储服务组件运维管理
(2)分片存储案例创建容器创建一个名为wxic的容器,命令如下所示。[root@controller~]#openstackcontainercreatewxic上传镜像并分片存储下载cirros-0.6.1-x86_64-disk.img镜像文件到本地,命令如下所示。[root@controller~]#wget/0.6.1/cirros-0.6.1-x86_64-disk.img将cirros-0.6.1-x86_64-disk.img镜像文件按10M的大小分片存储在wxic容器中,命令如下所示。[root@controller~]#swiftuploadwxic-S10Mcirros-0.6.1-x86_64-disk.img查看wxic容器中上传对象cirros-0.6.1-x86_64-disk.img的详细信息,命令如下所示。[root@controller~]#swiftstatwxiccirros-0.6.1-x86_64-disk.img查看wxic容器中的分片情况,命令如下所示。[root@controller~]#swiftlistwxic_segments数据分片分别存放在不同的存储设备中,以减小每个存储设备的数据访问压力,从而提高整个数据系统的性能。任务02存储服务组件运维管理
3.Manila共享文件系统服务运维管理(1)Manila服务命令了解通过帮助命令了解Manila服务的使用方法服务状态查看命令列出服务组件以验证每个进程是否成功启动,命令如下所示。[root@controller~]#openstackshareservicelist(2)使用共享服务创建文件共享类型创建名为default_share_type的共享类型,且不设置为默认共享类型,命令如下所示。[root@controller~]#openstacksharetypecreatedefault_share_typeFalse查询共享类型列表信息,命令如下所示。[root@controller~]#openstacksharetypelist创建共享文件目录创建目录大小为10GB的共享目录share01,命令如下所示。[root@controller~]#openstacksharecreate--nameshare01--share-typedefault_share_typeNFS10任务02存储服务组件运维管理
查询所创建的共享目录列表信息,命令如下所示。[root@controller~]#openstacksharelist挂载共享目录开放share01目录对OpenStack内部管理网段的使用权限,授予其读写访问权限,命令如下所示。[root@controller~]#openstackshareaccesscreateshare01ip/24--access-leverw查看share01目录共享目录权限及开放网段,命令如下所示。[root@controller~]#openstackshareaccesslistshare01查看share01共享文件目录的访问路径,命令如下所示。[root@controller~]#openstackshareshowshare01|awk'/path/{print$5}'0:/var/lib/manila/mnt/share-726614bd-89e8-4ffb-b2d5-387d0d7b3173#或者[root@controller~]#openstackshareshowshare01|egrep'path'|awk'{print$5}'0:/var/lib/manila/mnt/share-726614bd-89e8-4ffb-b2d5-387d0d7b3173任务02存储服务组件运维管理
验证共享空间的使用将share01共享目录也挂载至控制节点/mnt目录下,并查看挂载信息,命令如下所示。[root@controller~]#dnf-yinstallnfs-utils[root@controller~]#mount-tnfs\0:/var/lib/manila/mnt/share-726614bd-89e8-4ffb-b2d5-387d0d7b3173/mnt/[root@controller~]#df-hT/mnt/挂载信息,命令如下。[root@controller~]#dt-hT/mnt/FilesystemType Size Used Avail Use% Mounted on0:/var/lib/manila/mnt/share-726614bd-89e8-4ffb-b2d5-387d0d7b3173nfs4 9.8G 0 9.3G 0% /mnt查询集群中共享的可用区、所有共享实例的信息、查看指定共享实例的导出位置信息、共享存储资源池列表,命令和查询结果如下所示。[root@controller~]#openstackshareavailabilityzonelist项目实施任务0101任务0202任务0303云基础服务组件运维管理存储服务组件运维管理高级服务组件运维管理任务03高级服务组件运维管理
高级服务组件运维管理涉及Heat编排服务运维管理、Ceilometer监控服务运维管理和Cloudkitty计费服务运维管理。1.Heat编排服务运维管理(1)Heat的基础命令和堆栈的语法查看当前系统上Heat的构建信息,命令如下所示。[root@controller~]#openstackorchestrationbuildinfo查看Heat组件的服务状态,命令如下所示。[root@controller~]#openstackorchestrationservicelist查看当前支持的所有资源类型,命令如下所示。[root@controller~]#openstackorchestrationresourcetypelist查看资源类型的详细信息,如OS::Nova::Flavor类型,命令如下所示。openstackorchestrationresourcetypeshowOS::Nova::Flavor查看当前支持的Heat模板版本列表,命令如下所示。[root@controller~]#openstackorchestrationtemplateversionlist任务03高级服务组件运维管理
查看当前OpenStackYoga版本中最新的2021-04-16(wallaby)支持的功能字段列表。[root@controller~]#openstackorchestrationtemplatefunctionlistheat_template_version.2021-04-16模板文件验证其有没有语法错误,命令如下所示。[root@controller~]#openstackorchestrationtemplatevalidate-tHeat-ServerCreate.yaml创建堆栈语法、堆栈资源列表查询语法、堆栈文件映射列表查询语法、查看堆栈详细事件语法、堆栈环境显示语法、导出堆栈语法、堆栈列表查询语法等,详见教材。(2)利用Heat模板创建云主机并挂载卷创建云主机类型的模板文件编写一个创建云主机类型的模板文件Heat-FlavorCreate.yaml,创建名为flavor的资源堆栈来实现创建一个云主机类型,相关命令和执行结果,详见教材。任务03高级服务组件运维管理
查看flavor资源堆栈的输出信息并以表格形式输出,执行命令如下所示。[root@controller~]#openstackstackshowflavor-coutputs-ftable创建存储容器的模板文件编写一个创建对象存储容器的模板文件Heat-ContainerCreate.yaml,创建名为Container的资源堆栈来实现创建一个容器,相关命令如下所示。[root@controller~]#catHeat-ContainerCreate.yaml查看Container资源堆栈的输出信息中容器公开访问链接,并上传cirros-0.6.1-x86_64-disk.img镜像到glance容器中,相关执行命令和查询结果如下所示。[root@controller~]#openstackstackoutputshowcontaihercontainer_url创建镜像的模板文件编写一个创建镜像的模板文件Heat-ImageCreate.yaml,创建名为image的资源堆栈来实现镜像的创建和上传,相关命令如下所示。[root@controller~]#catHeat-ImageCreate.yaml[root@controller~]#openstackstackcreate-tHeat-ImageCreate.yamlimage[root@controller~]#openstackimagelist任务03高级服务组件运维管理创建内部网络的模板文件编写一个创建内部私有网络(Private)和连接外部公有网络(Public)的路由(Public-router)并且绑定内部私有网络端口的模板文件(Heat-NetworkCreate.yaml),创建名为private-net的资源堆栈来实现内部网络的使用,详见教材。查看private-net资源堆栈的输出信息中,创建路由时绑定的内部私有网络的端口设备ID。[root@controller~]#openstackstackoutputshowprivate-\netrouter_interface_id通过在OpenStackDashboard中项目下面中编排的堆栈里面查看,可以看到创建的private-net资源堆栈的拓扑信息如图所示。任务03高级服务组件运维管理
创建云主机并挂载云硬盘的模板文件编写一个创建云主机cirros-0.6.1,并在云主机上挂载一块SSD类型的云硬盘5GB大小的模板文件Heat-ServerCreate.yaml,创建名为server的资源堆栈来实现按照自定义需求创建的云主机,详见教材。创建绑定浮动IP的模板文件编写一个为刚才创建的云主机cirros-0.6.1绑定浮动IP的模板文件Heat-Floating_Ip_Association.
yaml,创建名为floating_ip的资源堆栈来实现浮动IP的绑定,这个类似于公有云中公网IP的绑定,详见教材。Dashboard验证最终创建完的云主机如图所示,通过使用Heat模板文件,可以实现自动化的创建操作,使得整个过程更加便捷和高效,云主机cirros-0.6.1创建结果如图。任务03高级服务组件运维管理
(3)编排模板文件进阶编写及运用之前编写的模板文件中的参数都是固定的,无法达到参数可变的效果,下面以创建云主机类型为例,通过使用parameters字段,在执行时将参数作为变量传入。编写模板文件Heat-FlavorUltra.yaml、parameters字段变量文件FlavorUltraEnv.yaml,创建名为FlavorUltra的资源堆栈来实现创建云主机类型,详见教材。2.Ceilometer监控服务运维管理(1)查看server相关的监控数据查看当前存在的实例列表,可以发现实例cirros-0.6.1目前是关机状态,启动之后Ceilometer便可以监控相关资源数据。查看可用于监控的资源列表,命令如下。[root@controller~]#openstackmetricresourcelist任务03高级服务组件运维管理
仅查看监控实例类型的资源,命令如下所示,执行结果如图所示。[root@controller~]#openstackmetricresourcelist--typeinstance[root@controller~]#openstackmetricresourceshow
46ec44a0-ad70-42b3-9d29-d7050c8500fc任务03高级服务组件运维管理
查看CPU和memory.usage的资源监控数据,相关命令如下。[root@controller~]#openstackmetricmeasuresshow64851946-ddcc-4536-8e78-cdb092792b4c仅查看所有网络接口实例类型的可用资源,执行结果如图所示。[root@controller~]#openstackmetricresourcelist–typeinstance_network_interface[root@controller~]#openstackmetricresourceshow
2e41a69c-af08-5dd7-a3ae-2a64393265d4任务03高级服务组件运维管理
(2)查看image相关的监控数据查看当前镜像列表,将镜像cirros-0.6.1下载并保存为本地wxic-cirros.qcow2文件,用下载的镜像文件创建一个新的镜像wxic-cirros,并列出所有镜像类型的可用资源,相关命令如下所示。[root@controller~]#openstackmetricresourcelist--typeimage[root@controller~]#openstackmetricresourceshow
2e1cb57c-698d-40ad-b0f4-d5ec50155198任务03高级服务组件运维管理
(3)查看volume相关的监控数据创建10GB大小的测试卷disk01,命令如下所示。[root@controller~]#openstackvolumecreate--size10disk01仅查看卷相关的可用资源,命令如下所示。[root@controller~]#openstackmetricresourcelist--typevolume[root@controller~]#openstackmetricresourceshow
6626f004-03a8-4a2f-9581-bd9c0dff30c4任务03高级服务组件运维管理
3.Cloudkitty计费服务运维管理(1)Cloudkitty服务命令了解列出Cloudkitty可用的映射类型,包括“flat”(单一值)和“rate”(按照时间或数量计费)。[root@controller~]#openstackratinghashmapmapping-typeslist列出所有租户列表,命令如下所示。[root@controller~]#cloudkittyreporttenantlist查看用于计费度量的列表,其中的元数据可以用于计算费用,命令如下所示。[root@controller~]#openstackratinginfometriclist查看当前的计费信息Rate,字段命令如下所示。[root@controller~]#openstackratingsummaryget任务03高级服务组件运维管理
(2)使用Cloudkitty服务根据云主机类型的使用时长计费默认没有启用hashmap计费模块,可以使用以下命令启用hashmap计费模块并查看启用状态。[root@controller~]#openstackratingmoduleenablehashmap[root@controller~]#openstackratingmodulegethashmap使用Cloudkitty服务时,要对想要计费的租户添加Cloudkitty用户并赋予rating角色,设置admin租户的命令如下。[root@controller~]#openstackroleadd--usercloudkitty--projectadminrating根据云主机实例类型ID和正常运行时间的计费规则对云主机进行计费,创建一个instance_
uptime_flavor_id组,命令如下所示。[root@controller~]#openstackratinghashmapgroupcreateinstance_uptime_flavor_id[root@controller~]#openstackratinghashmapgrouplist创建服务匹配规则instance,命令如下所示。[root@controller~]#openstackratinghashmapservicecreateinstance创建字段匹配规则flavor_id,命令如下所示。[root@controller~]#openstackratinghashmapfieldcreate\e0f6e1f2-7d5e-42fb-8280-8e335ee21abcflavor_id任务03高级服务组件运维管理
在instance_uptime_flavor组中创建映射2V_4G_20G云主机类型的实例成本为1元。[root@controller~]#openstackflavorlist[root@controller~]#openstackratinghashmapmappingcreate1\--field-idbb9ad708-69e2-44e9-ad9d-74d7620b3fa0\--value98e69fab-13e5-4e01-abed-66c62a167193\-gce59e66f-1ada-4d32-a33e-19c99a86083c-tflat根据使用卷的大小进行计费创建卷的计费规则,创建volume_thresholds组,命令如下所示。[root@controller~]#openstackratinghashmapgroupcreatevolume_thresholds[root@controller~]#openstackratinghashmapgrouplist创建服务匹配规则volume.size,命令如下所示。[root@controller~]#openstackratinghashmapservicecreatevolume.size设置费率,每GB的价格为0.05元,命令如下所示。[root@controller~]#openstackratinghashmapmappingcreate0.05\-s2a958378-8aee-4b9e-9865-20a03fa253a4\-g5020af51-cfe9-40e7-9173-a0c8395383e5-tflat任务03高级服务组件运维管理
创建优惠服务,若使用卷大小超过20GB,则应用2%的折扣。如果要对特定的项目租户进行计费,应使用参数-p,命令如下所示。[root@controller~]#openstackratinghashmapthresholdcreate200.98\-s2a958378-8aee-4b9e-9865-20a03fa253a4\-g5020af51-cfe9-40e7-9173-a0c8395383e5-trate设置若使用卷大小超过40GB,则应用5%的折扣,命令如下所示。[root@controller~]#openstackratinghashmapthresholdcreate400.95\-s2a958378-8aee-4b9e-9865-20a03fa253a4\-g5020af51-cfe9-40e7-9173-a0c8395383e5-trate任务03高级服务组件运维管理
创建大小不同的卷,测试不同计费规则下卷的费用,命令如下所示。[root@controller~]#openstackvolumecreate--size10disk01[root@controller~]#openstackvolumecreate--size20disk02[root@controller~]#openstackvolumecreate--size40disk03经过几个小时后,查看已经产生的费用,目前产生的费用为80.0124,命令如下所示。[root@controller~]#openstackratingsummaryget查看检索计费过程中产生的数据帧,命令如下所示。[root@controller~]#openstackratingdataframesget获取过去30天的资源使用情况,命令如下所示。[root@controller~]#openstackusageshow根据本项目的要求,首先学习了云服务组件的定义和基本概述。在掌握了这些基础知识之后,首先完成了云基础服务组件的运维管理,如认证服务、镜像服务、网络服务和计算服务;接着针对存储服务组件,如块存储服务、对象存储服务和共享文件系统服务进行运维管理;最后讲解了高级服务组件的运维管理,如对编排服务、监控服务和计费服务进行运维管理。项目小结03拓展知识基于思维导图的OpenStack运维命令在项目4中,介绍了OpenStack的云基础服务组件、存储服务组件和高级服务组件,其实OpenStack所提供的服务功能远不只这些。围绕这些服务的运维命令的数量繁多,要熟记这些命令除了需要不断实践,也可借助思维导图。下面以Neutron网络服务为例,为读者提供其运维命令相应的思维导图。04拓展任务openEuler22.09部署NFS服务网络文件系统(NFS)是当前主流异构平台的共享文件系统之一,主要应用在UNIX环境下。它最早是由SunMicrosystems开发的,能够支持在不同类型的系统之间通过网络进行文件共享,并允许一个系统在网络上与其他系统共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,每个计算机的节点也能够像使用本地资源一样方便地使用网上资源。换言之,NFS可支持在不同类型计算机、操作系统、网络架构和传输协议运行环境中,用户远程访问和共享网络文件。1.对规划要搭建的NFS服务节点NFS服务搭建节点规划见表1。表1NFS服务搭建节点规划openEuler22.09部署NFS服务2.配置NFS-SERVER节点修改主机名,命令如下所示。[root@localhost~]#hostnamectlset-hostnamenfs-server[root@localhost~]#execbash[root@nfs-server~]#安装NFS服务并设置开机自启,命令如下所示。[root@nfs-server~]#dnf-yinstallnfs-utils[root@nfs-server~]#systemctlenable–nownfs-server查看NFS的版本信息,“+”表示支持,“-”表示不支持,命令如下所示。[root@
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年企业内部培训与人才交流合同
- 2024年城市更新项目专用减水剂供应合同
- 锂电池销售与分销合同
- 课程设计pcb题目大全
- 初级音标的教学课程设计
- 2024年基金合同:长期投资与稳健增值
- 2024-2025学年人教版八年级上册数学期末必刷压轴60题(原卷版)
- 2024年医疗设备研发与生产承包合同
- 数字钟课程设计 verilog cpld
- 商业前期物业合同模板
- 当代媒介素养 课件 第六章 报刊媒介素养
- 采购垫资协议书范本
- 医学生生涯发展报告
- 全国职业院校技能大赛双数年 中职组赛题 ZZ025 舞台布景 赛项赛题汇总 第6-10套
- 材料成型及控制工程大学生职业生涯规划
- 关于激发兴趣转化初中物理学困生的个案研究的开题报告
- 七年级数学(上)有理数混合运算100题(含答案)
- 软件使用的培训课件
- 博弈论中机制设计
- 铁路专用线设计规范(试行)(TB 10638-2019)
- SH200型呼吸机操作(1)教学课件
评论
0/150
提交评论