当前位置: 首页 > news >正文

OpenStack系列第二期:认证与镜像管理

OpenStack系列第二期:认证与镜像管理

本期是OpenStack学习笔记的第二期,聚焦于认证服务(Keystone)镜像服务(Glance)。你将掌握:域、用户、组、项目、角色的完整管理流程,以及镜像的上传、注册、共享、格式转换和导出删除操作。所有操作均同时提供Dashboard和CLI两种方式。


一、认证管理(Keystone)

1.1 核心概念回顾

概念说明
Domain(域)用户、项目、组的容器,可以代表一个组织或数据中心
User(用户)使用OpenStack的实体(人、服务或系统)
Group(组)用户的集合,可以对组统一授权
Project(项目)资源(计算、存储、网络)的隔离单元,旧称Tenant
Role(角色)定义用户或组的权限集合(如admin、member
Service(服务)如nova、cinder、glance等,通过Endpoint暴露API
Endpoint(端点)服务访问的URL(admin/public/internal)
Token(令牌)认证后获得的临时凭证

1.2 Dashboard操作

1.2.1 创建角色、用户及用户组

使用admin用户登录Dashboard。

① 创建角色

导航:身份管理 → 角色 → 创建角色

  • 角色名称:Role_web
  • 单击“提交”

② 创建用户并分配角色

导航:身份管理 → 用户 → 创建用户

  • 用户名:User_web_01
  • 密码:自行设置(记住)
  • 项目:admin
  • 角色:Role_web

再创建第二个用户User_web_02,角色选择admin

③ 创建用户组

导航:身份管理 → 组 → 创建组

  • 组名称:Group_web

④ 管理组成员

在组列表中找到Group_web,点击“管理成员” → “添加用户”,勾选User_web_01User_web_02

⑤ 查看用户详情

在用户列表中点击用户名,进入“概览”页面,可查看“角色分配”和“组”页签。

⑥ 验证不同角色的权限差异

退出admin,分别使用User_web_01(Role_web)和User_web_02(admin)登录,观察导航栏差异:

  • User_web_01:看不到“管理员”菜单,身份管理中也缺少“域”“组”“角色”等选项。
1.2.2 禁用与删除用户(在组内移除 vs 真正删除)
  • 从组中移除用户:在组的管理成员页面,勾选用户后点击“删除用户”。这只是移出组,用户仍存在于系统中。
  • 禁用用户:在用户列表,点击用户所在行的“编辑”→“禁用用户”。禁用后该用户无法登录。
  • 删除用户:勾选用户前的复选框,点击“删除用户”。需确保用户未被任何资源引用。
1.2.3 创建项目并修改配额

① 创建项目

导航:身份管理 → 项目 → 创建项目

  • 项目信息页签:名称Project_web
  • 项目成员页签:将User_web_01加入项目,角色选择admin
  • 单击“创建项目”

② 修改项目配额

在项目列表中,找到Project_web,点击“管理成员”后的下拉菜单 → “修改配额”。可分别修改:

  • 计算:实例数量、VCPU数量、RAM大小
  • 卷:卷数量、快照数量、备份数量
  • 网络:网络数、子网数、路由数、浮动IP数

例如:实例数量改为5,卷数量改为5,网络数改为5,保存。

③ 验证配额

使用User_web_01登录,在左上角切换当前项目为Project_web,进入“项目 → 计算 → 概况”,即可看到修改后的配额。

1.3 CLI操作

1.3.1 创建角色、用户及用户组

远程登录controller,导入admin环境变量:

bash

sourcekeystonerc_admin

① 创建角色

bash

openstack role create Role_cli

② 创建用户

bash

openstack user create--domaindefault--projectadmin --password-prompt User_cli_01# 按提示输入密码(如huawei)并确认openstack user create--domaindefault--projectadmin --password-prompt User_cli_02

③ 为用户添加角色

bash

openstack roleadd--projectadmin--userUser_cli_01 Role_cli openstack roleadd--projectadmin--userUser_cli_02 admin

④ 查看角色分配

bash

openstack role assignment list--names|grepUser_cli

输出示例:

text

admin|User_cli_02@Default|admin@Default|False Role_cli|User_cli_01@Default|admin@Default|False

⑤ 创建用户组并添加成员

bash

openstack group create Group_cli openstack groupadduser Group_cli User_cli_01 User_cli_02

⑥ 为用户创建独立的环境变量文件

bash

cpkeystonerc_admin keystonerc_User_cli_01vimkeystonerc_User_cli_01# 修改 OS_USERNAME=User_cli_01# 修改 OS_PASSWORD=你设置的密码# 可选修改 PS1 中的提示标识

使用该文件登录并测试:

bash

sourcekeystonerc_User_cli_01 openstack project list# 只能看到admin项目

User_cli_02同理,但由于其角色为admin,登录后可以看到所有项目。

1.3.2 禁用用户、删除用户

bash

sourcekeystonerc_admin# 从组中移除用户openstack group remove user Group_cli User_cli_02# 确认用户不在组中openstack group contains user Group_cli User_cli_02# 禁用用户openstack userset--disableUser_cli_02# 查看禁用状态openstack user show User_cli_02|grepenabled# 删除用户openstack user delete User_cli_02# 查看用户列表确认openstack user list
1.3.3 创建项目,修改项目配额

bash

# 创建项目openstack project create Project_cli# 为用户添加项目角色openstack roleadd--projectProject_cli--userUser_cli_01 admin# 查看角色分配openstack role assignment list--names|grepUser_cli# 修改用户环境变量文件中的 OS_PROJECT_NAME=Project_clivimkeystonerc_User_cli_01# 将 OS_PROJECT_NAME=admin 改为 OS_PROJECT_NAME=Project_cli# 重新加载环境变量sourcekeystonerc_User_cli_01 openstack project list# 现在只能看到 Project_cli 项目# 修改项目配额(需admin权限)sourcekeystonerc_admin openstackquotaset--instances5--cores5--ram5000--volumes5--networks10Project_cli# 验证配额修改openstackquotashow Project_cli

二、镜像管理(Glance)

2.1 镜像基本概念

  • 镜像:包含操作系统和必要配置的模板,用于创建虚拟机实例。
  • 镜像格式:raw、qcow2、vmdk、vdi、iso等。
  • 容器格式:bare、ovf、aki、ari、ami等(一般用bare)。
  • 可见性
    • public:所有项目可见
    • private:仅所属项目可见
    • shared:可分享给其他项目
    • community:社区共享
  • 状态机:queued → saving → active(成功) / killed(失败) / deleted(删除)

2.2 Dashboard操作

2.2.1 下载测试镜像(cirros)

cirros是一个极小的Linux镜像(约12MB),适合测试。下载地址:

text

http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img

在本机下载后备用。

2.2.2 创建并注册镜像

导航:项目 → 计算 → 镜像 → 创建镜像

填写信息:

  • 镜像名称:Img_web
  • 镜像文件:选择本地的cirros镜像
  • 镜像格式:QCOW2-QEMU模拟器
  • 最小磁盘:1GB
  • 最低内存:128MB
  • 可见性:私有
  • 受保护性:(不可删除)

单击“创建镜像”。等待状态变为运行中,表示注册成功。

2.2.3 修改镜像属性

在镜像列表中,点击Img_web所在行的下拉菜单 →编辑镜像

  • 将可见性改为公有
  • 将受保护性改为
  • 单击“更新镜像”

2.3 CLI操作

2.3.1 下载镜像到控制器

bash

sourcekeystonerc_admin# 使用wget下载cirros镜像到/root目录cd/rootwgethttp://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img# 查看文件ls-lhcirros-0.5.2-x86_64-disk.img
2.3.2 创建并注册镜像

bash

openstack image create --disk-format qcow2 --container-format bare\--min-disk1--min-ram128--private\--file./cirros-0.5.2-x86_64-disk.img Img_cli

查看镜像列表:

bash

openstack image list
2.3.3 修改镜像

bash

# 设置为公有openstack imageset--publicImg_cli# 查看详情openstack image show Img_cli
2.3.4 共享镜像

若要将镜像Img_cli共享给项目Project_cli

bash

# 记录镜像ID和项目IDopenstack image list openstack project list# 添加共享成员(状态为pending)openstack imageaddproject Img_cli Project_cli# 作为项目成员,接受共享(需切换环境变量或使用member角色)sourcekeystonerc_User_cli_01 openstack imageset--acceptImg_cli
2.3.5 转换镜像格式

若有一个VMDK格式的Ubuntu镜像,可转换为qcow2:

bash

# 安装qemu-img(如未安装)yuminstall-yqemu-img# 转换(-f 源格式,-O 目标格式,-c 压缩,-p 显示进度)qemu-img convert-fvmdk-Oqcow2-c-pbionic-server-cloudimg-amd64.vmdk bionic-server-cloudimg-amd64.qcow2# 创建qcow2格式镜像openstack image create --disk-format qcow2 --container-format bare\--min-disk1--min-ram128--public\--file./bionic-server-cloudimg-amd64.qcow2 Ubuntu_cli
2.3.6 导出镜像

bash

# 保存镜像到本地文件openstack image save--file./ubuntu_backup.img Ubuntu_cli
2.3.7 删除镜像

bash

openstack image delete Ubuntu_cli# 确认删除openstack image list

三、综合验证案例

案例:为研发团队创建隔离环境

  1. 创建域RD_Domain(可选)
  2. 创建项目RD_Project
  3. 创建用户zhangsanlisi,加入组RD_Group
  4. 为组分配项目RD_Project的角色_member_
  5. 创建一个私有镜像RD_CentOS,仅共享给RD_Project
  6. 设置项目配额:最多10个实例、50核、200GB内存

CLI快速实现

bash

sourcekeystonerc_admin openstack domain create RD_Domain openstack project create--domainRD_Domain RD_Project openstack user create--domainRD_Domain--passwordhuawei zhangsan openstack user create--domainRD_Domain--passwordhuawei lisi openstack group create--domainRD_Domain RD_Group openstack groupadduser RD_Group zhangsan lisi openstack roleadd--projectRD_Project--groupRD_Group _member_ openstack image create --disk-format qcow2 --container-format bare\--file./centos.qcow2--privateRD_CentOS openstack imageaddproject RD_CentOS RD_Project openstackquotaset--instances10--cores50--ram204800RD_Project

📊 知识点一览表(第二期)

类别操作Dashboard路径/CLI命令
角色管理创建角色身份管理→角色→创建角色 /openstack role create
用户管理创建用户并分配角色身份管理→用户→创建用户 /openstack user create+role add
组管理创建组、添加成员身份管理→组 /openstack group creategroup add user
项目管理创建项目、修改配额身份管理→项目 /openstack project createquota set
用户状态禁用/启用/删除用户编辑用户勾选禁用 /openstack user set --disableuser delete
镜像上传创建并注册镜像项目→计算→镜像→创建镜像 /openstack image create
镜像共享共享给其他项目镜像→编辑→共享 /openstack image add projectset --accept
格式转换qemu-img转换qemu-img convert -f vmdk -O qcow2
镜像导出保存到文件openstack image save
镜像删除删除镜像镜像列表→删除 /openstack image delete

下一期预告计算(Nova)与存储(Cinder)管理,涵盖虚拟机实例的全生命周期(创建、启动、关闭、暂停、挂起、快照、重建、迁移)、规格管理、密钥对、主机聚合,以及卷的创建、挂载、扩容、快照和基于卷创建实例。

有任何问题欢迎讨论,我们第三期再见

http://www.jsqmd.com/news/859746/

相关文章:

  • 终极免费实时屏幕翻译工具:Translumo完全使用指南
  • 智能选岗APP实测:AI帮你筛岗位、查竞争比、规划全年考试,全程免费
  • 2026 成都高端西装定制权威评测:天府之国的商务休闲智慧 - 西装爱好者
  • 力扣——146.LRU缓存详解
  • 自媒体矩阵工具选型避坑!多个平台发布指南,新手也能选对工具
  • IDEA 如何配置 Live Template 快速生成常用代码片段?
  • 终极指南:使用Visual Studio Uninstaller彻底清理开发环境的5个关键步骤
  • 新手教程,在Windows虚拟机中从零开始使用Taotoken调用GPT模型
  • 上海黄浦区刑事律师法律服务观察与执业方向分析(2026) - 法律资讯
  • 2026MISC躲猫猫题目复盘
  • CANN 上跑 Llama3-70B:我踩了 5 个坑,这些经验值 3000 字
  • 开口/闭口闪点测定仪怎么选?从样品特性到标准合规的采购指南 - 品牌推荐大师
  • 2026年主流电化学工作站厂家:武汉科思特仪器股份有限公司全解析 - 品牌评测官
  • CANN-ops-nn推理实战-昇腾NPU跑Llama如何让基础算子不掉链子
  • vinsfusion前端+后端代码流程图
  • 突破底层运维瓶颈:高阶女工程师的医美维稳架构与高通量胶原蛋白饮选型指南
  • 国内主流燕窝线上店盘点:品质与服务维度对比 - 互联网科技品牌测评
  • LinkSwift网盘直链下载助手:告别限速,实现9大网盘高速下载自由
  • 2026年4月靠谱的智慧泵房制造商推荐,供水控制柜/不锈钢智慧泵房/排污泵/衬氟离心泵/供水设备,智慧泵房销售商口碑推荐 - 品牌推荐师
  • 3个步骤快速上手EdiZon:Switch游戏存档修改的完整指南
  • 破局 AI 幻觉——当通用 AI 遇到企业级表格组件
  • 推客系统私有化部署|企业机构商用专属 完整源码独立交付
  • 全球Web4数字基建企业排行:技术与生态实力盘点 - 互联网科技品牌测评
  • 二年级下册语文看图写话作文:奇妙的大自然
  • Midscene.js终极指南:5分钟让AI成为你的全能操作员
  • 2026年Q2中国管道清淤优质厂家首选推荐:合肥玉通管道工程有限公司 - 安互工业信息
  • taotoken cli工具使用教程一键配置多开发环境
  • 高考志愿填报指导师、学业规划指导师、升学规划指导师怎么选授权报名机构? - 实时教育培训动态
  • 【Go Test】单元测试保姆级完整指南
  • 黄浦区刑事律师法律服务观察与执业方向分析(2026) - 法律资讯