OpenStack - Arch Linux 中文维基

跳转到内容

# OpenStack

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 OpenStack，最近一次同步于 2023-01-16，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

OpenStack 是由来自全球的开发者及云计算专家合作开放的一套被广泛使用的公有/私有云计算平台。该项目着重于为所有类型的云创造一套易于实现、高可扩展性且功能丰富的解决方案。该平台由一系列互相关联的项目组成，为云基础设施方案提供各种组件。

## 组件

- 计算 (Nova) — Nova 是用于提供计算实例（即虚拟机）的 Openstack 项目。

  https://docs.openstack.org/nova/latest/ || openstack-novaAUR

- 网络 (Neutron) — Neutron 是用于在其它 OpenStack 服务（例如 Nova）管理的接口设备（例如 vNIC）之间提供“网络即服务”功能的 OpenStack 项目。它实现了 OpenStack 网络 API。

  https://docs.openstack.org/neutron/latest/ || openstack-neutronAUR

- 镜像服务 (Glance) — 镜像服务 (glance) 项目提供了让用户上传并发现用于让其它服务使用的数据资产的功能。

  https://docs.openstack.org/glance/latest/ || openstack-glanceAUR

- 块存储 (Cinder) — Cinder 是用于为 Nova 虚拟机、Ironic 裸金属、容器等服务提供存储盘的 OpenStack 服务。

  https://docs.openstack.org/cinder/latest/ || openstack-cinderAUR

- 鉴权 (Keystone) — Keystone 是通过 OpenStack 身份 API 提供 API 用户验证，服务发现及分布式多租户授权的 OpenStack 服务。

  https://docs.openstack.org/keystone/latest/ || openstack-keystoneAUR

- 控制面板 (Horizon) — Horizon 是 canonical 对于 OpenStack 面板的实现，它为 Nova、Swift、Keystone 等 OpenStack 服务提供了网页用户界面。

  https://docs.openstack.org/horizon/latest/ || openstack-horizonAUR

## 部署 OpenStack

这篇文章的某些内容需要扩充。

原因：请提供模板的第一个位置参数以概括原因。 (在 Talk:OpenStack 中讨论)

## 镜像

### 可用镜像

Openstack 官方镜像包含了大部分流行的 GNU/Linux 发行版。

Arch Linux 官方云镜像可以在以下链接下载：https://gitlab.archlinux.org/archlinux/arch-boxes

### 自己创建镜像

OpenStack 镜像需要满足一些要求。可以手动或是使用工具来协助准备镜像。

若要使用工具，可以考虑将 image-bootstrap 搭配 `--openstack` 选项使用。

若要手动创建，下面为一系列必须步骤：

- 将一个硬盘分区为单一的 ext3/4 分区。
- 安装基础系统到分区中（例如使用 arch-install-scripts包 中的 `pacstrap`）
- 安装引导程序（例如 GRUB 或是 extlinux）
- 安装并配置 cloud-init
- 添加一个可以无密码运行 sudo 的用户
- 为 `eth0` 配置 DHCP
  - 配置 udev 将网络接口命名为 `eth*`
  - 配置 systemd-networkd 在 `eth0` 上使用 DHCP
- 安装 SSH 服务器
- 调整 initramfs 配置并重新生成 initramfs 镜像
  - Disabling the `autodetect` hook (since autodetection works differently from a chroot)
  - Either activating hook `growfs` from mkinitcpio-growrootfsAUR or installing `growpart` from cloud-utils包 and have cloud-init do resizing by itself
- 通过 enabling 来使服务自动启动
- 删除生成的密钥（例如 SSH 服务器及 pacman)；可以配置为在系统初次启动时自动生成密钥
- 删除设备ID（`/etc/machine-id` 及 `/var/lib/dbus/machine-id`）以使系统间不会冲突

## 参阅

- Wikipedia:OpenStack

分类：​

- 网络

OpenStack
添加话题