cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件。 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname。但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_h
16次阅读

用 config drive 配置网络 - 每天5分钟玩转 OpenStack(173)

上一节最后问了大家一个问题:如果 subnet 没有开 DHCP,会是怎样一个情况?在其他条件不变的情况下,cloud-init 依然会完成那 3 个步骤,也就是说网卡还是会被配置成 dhcp 模式,只是最后网卡没办法获得 IP 而已。不开 DHCP 也是一个常见的场景,为了让 instance 的
111次阅读

instance 网卡是如何被拉起来的?- 每天5分钟玩转 OpenStack(172)

instance 的网卡是如何被配置并拉起的?这是理解和用好 cloud-init 非常关键的一步。我们先讨论一个最简单基础的场景:镜像中没有安装 cloud-init。此时 instance 启动时网卡能不能被拉起来完全 靠运气!是的,就是运气。 因为这种情况下网卡的配置是死的,完全依赖
11次阅读

cloud-init 工作原理 - 每天5分钟玩转 OpenStack(171)

cloud-init 是 linux 的一个工具,当系统启动时,cloud-init 可从 nova metadata 服务或者 config drive 中获取 metadata,完成包括但不限于下面的定制化工作:设置 default locale设置 hostname添加 ssh keys到 .
13次阅读

实践 config drive - 每天5分钟玩转 OpenStack(170)

如果 instance 无法通过 metadata service 获取 metadata(无 DHCP 或者 nova-api-metadata 服务),instance 还可以通过 config drive 获得 metadata。 config drive 是一个特殊的文件系统,Op
12次阅读

instance 怎么获得自己的 Metadata - 每天5分钟玩转 OpenStack(169)

要想从 nova-api-metadata 获得 metadata,需要指定 instance 的 id。但 instance 刚启动时无法知道自己的 id,所以 http 请求中不会有 instance id 信息,id 是由 neutron-metadata-agent 添加进去的。针对 l3-
11次阅读

通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)

OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy,进而与 nova-metadata-api 通信。但不是所有环境都有 l3-agent,比如直接用物理 router 的场景。这时就需要走另一条路:让 dhcp-agent 来创建和管理
10次阅读

获取 metadata 过程详解 - 每天5分钟玩转 OpenStack(167)

接上节,启动 neutron router 后 instance c1 终于拿到了 metadata, 从下面 c1 的启动日志可知: c1 所认为的 metadata 服务地址是 169.254.169.254,端口为 8
14次阅读

获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)

我们将通过实验详细分析 instance 从 nova-api-metadata 获取信息的完整过程。 环境介绍 1. 一个 all-in-one 环境(多节点类似)。 2. 已创建 neutron 网络 test_net,DHCP 已启动。在这个 metadata
6次阅读

Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)

下面是 Metadata Service 的架构图,本节我们详细讨论各个组件以及它们之间的关系。 nova-api-metadata nova-api-metadata 是 nova-api 的一个子服务,它是 metadata 的提供者,instance 可以通
8次阅读