Metadata Service 最高频的应用 - 每天5分钟玩转 OpenStack(164)

简介: 实现 instance 定制化,cloud-init(或 cloudbase-init)只是故事的一半,metadata service 则是故事的的另一半。两者的分工是:metadata service 为 cloud-init 提供自定义配置数据,cloud-init 完成配置工作。

实现 instance 定制化,cloud-init(或 cloudbase-init)只是故事的一半,metadata service 则是故事的的另一半。两者的分工是:metadata service 为 cloud-init 提供自定义配置数据,cloud-init 完成配置工作。


Metadata Service


前面讨论了一些 cloud-init 和 cloudbase-init 相关的经验,收到了很多反馈,大家对 instance 启动时是如何完成自定义配置这个过程非常感兴趣,希望能够系统讲一下。这个主题确实很重要,实际应用场景很多,确实很有必要系统讨论一番,作为对现有教程的补充。

instance 是通过 image 部署出来的,image 中包含了操作系统(例如 Ubuntu 16.04),最常用的软件(例如 SSH)以及最通用的配置(例如 eth0 dhcp)。然而在创建 instance 的时候,我们往往希望对 instance 进行一些额外的配置,比如:安装某些包、开启一些服务、添加 SSH 秘钥、配置 hostname 等等。

有几个方法可以完成这项工作:

1. 将这些东西统统做到 image 中。

这种方案可以实现,但不现实。image 应该被看着是一个模板,存放的是通用的内容。在 image 中加入个性化配置的做法要么使 image 变得非常庞杂,要么导致数量众多的 image,不易管理。

2. instance 部署出来之后手工完成个性化配置。

由于需要手工操作,instance 数量多了之后工作量会激增,而且容易出错。

3. 推荐方案:由 OpenStack Metadata Service 提供 instance 的配置信息(这些信息被统称为 metadata)。instance 启动时向 Metadata Service 请求并获得自己的 metadata,instance 的 cloud-init(或 cloudbase-init)根据 metadata 完成个性化配置工作。

这个方案的优点是不需要修改基础 image,保证了 image 的稳定性,同时实现了 instance 自动化地个性配置。

最高频的应用


将 ssh public key 添加到 instance。

首先在 “Project -> Compute -> Access & Security” 中创建 Key Pair。


OpenStack 会创建一对 ssh pulbic key 和 private key,public key 存放在 OpenStack 数据库中,private key 会在我们点击 “Create Key Pair” 按钮时自动下载。

现在 "cloudman" 这个 key pair 就是我们要用的 metadata 了。部署 instance 时,选择 "cloudman"。


instance 启动后,可以看到这个 cloudman 的 public key 已经保存到 .ssh/authorized_keys 中了。


这样我们就可以用 cloudman 的 private key 直接登录 instance。

 

3.5.png

本节我们了解了 Metadata Service 的概念及其作用,并通过一个例子获得了些感性认识。下一节就要深入学习了,我们将从 Metadata Service 的架构开始。


目录
相关文章
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器4核8G配置:ECS实例规格、CPU型号及使用场景说明
阿里云4核8G服务器ECS提供多种实例规格,包括高主频计算型hfc8i、计算型c8i、通用算力型u1、经济型e等。各规格配备不同CPU型号与主频性能,适用于机器学习、数据分析、游戏服务器、Web前端等多种场景。用户可根据需求选择Intel或AMD处理器,如第四代Xeon或AMD EPYC系列,满足高性能计算及企业级应用要求。更多详情参见阿里云官方文档。
308 1
|
JavaScript 定位技术 API
高德地图自定义定位 按钮
高德地图自定义定位 按钮
955 0
|
10月前
|
存储 编解码 安全
阿里云服务器2核4G、4核8G、8核16G配置租用收费标准与活动价格参考
通常情况下,个人和一般企业用户在购买阿里云服务器时比较喜欢购买2核4G、4核8G、8核16G等配置,这些配置既能满足各种图文类中小型网站和应用又能满足企业网站应用、批量计算、中小型数据库系统等场景,2核4G配置适合新手入门或初创企业,4核8G与8核16G兼具成本与性能优势,适合通用场景,本文介绍这些配置的最新购买价格,包含原价收费标准和最新活动价格。
|
弹性计算 运维 安全
九大提升ECS实例操作系统安全性的技巧
【弹性计算技术公开课——ECS安全季】第二节课程由阿里云弹性计算技术专家陈怀可带来,本文内容整理自他的课程,供各位阅览。
127483 12
|
11月前
|
SQL 关系型数据库 MySQL
Python中Pymysql库的常见用法和代码示例
`pymysql` 是一个用于连接 MySQL 数据库的 Python 库,支持 SQL 查询的执行和结果处理。通过 `pip install pymysql` 安装后,可使用 `connect()` 方法建立连接,`cursor()` 创建游标执行查询,包括数据的增删改查,并通过 `commit()` 和 `rollback()` 管理事务,最后需关闭游标和连接以释放资源。
502 0
|
弹性计算 运维 Kubernetes
云原生时代的运维革新:Kubernetes在现代IT架构中的角色
随着云计算的日益普及,传统运维模式逐渐不能满足现代企业的需求。本文将深入探讨Kubernetes如何在云原生时代重塑运维工作,包括自动化部署、弹性伸缩、服务发现等关键特性,以及它如何帮助企业实现敏捷性和效率的双重提升。
200 0
Echarts组件属性function回调函数的灵活使用调整不同的图表状态
Echarts组件属性function回调函数的灵活使用调整不同的图表状态
355 0
Echarts组件属性function回调函数的灵活使用调整不同的图表状态
|
存储 数据管理 数据处理
阿里云对象存储OSS怎么收费?
阿里云对象存储OSS包年包月和按量付费,存储包、流量包收费价格,OSS标准(LRS)存储包100GB优惠价33元、500GB存储包半年162元、OSS存储包40GB一年9元,OSS流量包100G 49元/月
2605 0
阿里云对象存储OSS怎么收费?
|
JavaScript CDN
Vue:a标签点击和file-saver实现文件下载
Vue:a标签点击和file-saver实现文件下载
665 0
Vue:a标签点击和file-saver实现文件下载