在 OpenStack 中创建虚拟机(实例)的详细过程涉及多个核心组件的协同工作,从用户请求到虚拟机实例化,整个过程可以分为以下关键阶段:
1. 用户认证与权限验证
- 组件参与:Keystone(身份认证服务)
- 流程:
- 用户通过 OpenStack CLI、Dashboard 或 API 发起请求,携带认证信息(如用户名、密码、项目名称)。
- Keystone 验证用户身份,生成临时访问令牌(Token),并检查用户是否有权限在指定项目中执行创建虚拟机的操作。
- 令牌被附加到后续所有请求中,用于服务间的权限验证。
2. 资源选择与参数校验
- 组件参与:Glance(镜像服务)、Nova(计算服务)、Neutron(网络服务)、Cinder(块存储服务)
- 流程:
- 镜像校验:
- Nova 向 Glance 请求用户指定的镜像(如
ubuntu-22.04
),验证其是否存在且状态为active</
- Nova 向 Glance 请求用户指定的镜像(如
- 镜像校验: