10 个用于自动化裸金属云服务器管理的 GitHub 存储库
开发人员一直在寻找易于使用的自动化工具来消除重复的基础设施管理任务。通过近乎即时的物理服务器配置,Bare Metal Cloud 为实施 DevOps 工具和技术以简化交付提供了基础架构。
以下是前 10 个 GitHub 存储库的精选列表,可让您根据需要调整 Bare Metal Cloud 服务器并轻松管理它们。
什么是裸机云服务器?
Bare Metal Cloud (BMC) 是面向 DevOps 组织的云原生专用服务器平台。该平台允许您通过 API 或使用基础设施即代码工具在几分钟内部署非虚拟物理机。
通过不受限制地访问服务器的物理硬件,您可以构建针对特定工作负载优化的自定义环境。 BMC 服务器非常适合运行 CI/CD 管道、测试工作负载或生产环境。
您可以选择 20 多种强大的实例类型。如果您刚刚开始,您可能想尝试入门级和通用实例。对于更复杂的工作负载,计算优化或内存优化的实例是可行的方法。
BMC 还公开了一个强大的 API,允许您以编程方式管理您的服务器。这使得只需几行代码就可以轻松地在不同位置一次部署一台或一百台服务器。
为了帮助您自动化 BMC 服务器管理,phoenixNAP 在其 GitHub 帐户上发布了许多开源自动化脚本和基础架构即代码模块。

1。 BMC 的 Terraform 提供程序
Terraform 是一种流行的基础设施即代码工具,它使以编程方式管理云资源变得简单易行。它允许您使用代码在众多云提供商之间安全地部署和修改基础架构设置。为此,您需要在配置文件中指定适当的 Terraform Provider。
提供程序是允许您通过 Terraform 与特定云服务的 API 交互的插件。 BMC 有自己的 Terraform 提供程序插件 pnap 您可以直接从 Terraform 的 Provider Registry 或 phoenixNAP 的 GitHub 帐户下载。在使用它之前,您需要创建一个 BMC 帐户并验证对 BMC API 的访问权限。完成所有设置后,您就可以使用熟悉的 Terraform 命令来定义、部署和管理 BMC 服务器。
请务必查看 pnap 的官方文档 Terraform 提供程序,了解有关如何验证和部署 BMC 服务器的更多信息。
去 GITHUB 仓库
2。 BMC 的 Ansible 模块
Ansible 是另一个功能强大的基础架构即代码工具,可简化 IT 自动化和云资源的编排。开发人员喜欢使用 Ansible,因为它易于设置和配置。要使用 Ansible,您需要使用 YAML 以人类可读的方式编写剧本(自动化任务的蓝图)。
您可以在剧本中使用数百个免费模块来自动执行不同的任务。 BMC 带有与 BMC API 交互的定制 Ansible 模块。 BMC 服务器 Ansible 模块允许您创建和删除服务器实例以及在这些服务器上执行电源操作。
要使用此模块,请前往 Ansible 集合 GitHub 存储库并下载它。在那里,您还可以找到可以使用的不同 Ansible Playbook 的示例。
去 GITHUB 仓库
3。 BMC 的 Pulumi 提供程序
Pulumi 比其他基础设施即代码工具稍有优势,因为您不需要学习另一种特定领域的语言。使用 Pulumi,您可以使用 Python、Go 或 Javascript 等熟悉的编程语言编写配置。
BMC 与 Pulumi 完全兼容。您可以使用 BMC 的 Pulumi Provider pulumi-pnap 快速、敏捷地部署、删除和管理 BMC 资源。您可以在 phoenixNAP 的 GitHub 帐户上找到提供程序的源代码以及如何使用不同编程语言安装它的示例。
去 GITHUB 仓库

4。 BMC 的 Kubernetes 控制器
phoenixNAP 最近发布了一个用于 BMC 的 Kubernetes 控制器,它允许您在 Kubernetes 集群中管理您的 BMC 服务器。要配置资源,无需使用第三方工具。您只需利用 Kubernetes API 的灵活性。这有助于您专注于编写代码并提高发布速度,而无需离开 Kubernetes 环境。
BMC 的 Kubernetes 控制器作为 Docker 映像发布。要开始在 BMC 上使用 Kubernetes,请前往 GitHub,您可以在其中找到详细的安装说明和可用命令。
去 GITHUB 仓库
5。 BMC 的 GitHub 操作
GitHub Actions 允许您在 GitHub 界面内自动化代码部署和创建 CI/CD 管道。您所要做的就是编写指令,GitHub 会为您处理执行。动作是事件驱动的,这意味着只要有事件发生,它们就会自动运行。
您可以使用三个自定义的 GitHub 操作来轻松管理 BMC 资源。通过这些操作,您可以自动创建、删除和查询有关服务器实例的信息。每个动作都有自己的存储库,其中包含代码示例和有关如何使用它们的基本说明。
- 创建 BMC 服务器 GitHub 操作
- 删除 BMC 服务器 GitHub 操作
- 获取 BMC 服务器 GitHub Action
6。在 BMC 上部署 Apache Spark 的脚本
Apache Spark 是用于大数据处理的强大开源引擎。使用 Spark 从大量结构化或非结构化数据中快速提取有价值的见解。 Spark 在执行复杂计算时使用内存缓存。在运行批处理应用程序、数据流、迭代算法和交互式查询时,这种处理方法可以提高您的速度。
在 BMC 服务器上运行 Spark 工作负载可以进一步提高您的数据处理速度。要对其进行测试,请尝试在 BMC 上部署 Spark 集群。创建 BMC 帐户后,运行此自动化脚本,该脚本将部署一个由一个主节点和两个工作节点组成的 Spark 集群。
自动 Spark 安装脚本的源代码可在 phoenixNAP 的 GitHub 帐户上公开获得。如需详细指南,请查看在 Bare Metal Cloud 上自动部署 Spark 集群。
去 GITHUB 仓库
7。在 BMC 上部署 Kubernetes 集群的脚本
如果您想在 BMC 服务器上安装功能齐全的 Kubernetes 集群,此脚本将为您完成所有繁重的工作。您需要做的就是使用 Python 执行脚本,让自动化部署三个运行 Ubuntu 的裸机云服务器。一台服务器将被指定为主节点,另外两台作为工作节点。该脚本还将为您安装 WordPress。
在运行脚本之前,请确保您拥有 BMC 帐户并获取 API 的身份验证令牌。查看 repo 的 README 文件以获取有关如何获取这些令牌的更多说明。
去 GITHUB 仓库
8。适用于 BMC 的 Chef Knife 插件
Chef 是 Infrastructure as Code 游戏的主要参与者。它是一种开源配置管理工具,可实现自动化基础架构配置。该工具可用于配置和管理本地和云资源以及应用程序。
使用 Chef,配置存储在食谱和食谱中。厨师食谱和食谱是跨各种云提供商定义和配置所需环境的基本构建块。
Knife 实用程序用于将 Chef 与不同的云服务集成。 phoenixNAP 为 BMC 开发了一个 Knife 插件 - knife bmc ,它提供了一组命令,用于更轻松地管理 BMC 资源。使用它来部署和删除 BMC 实例以及在您的服务器上执行电源操作。
去 GITHUB 仓库
9。用于 BMC 的 Docker 机器驱动程序
Docker Machine 是一个用于在多个虚拟主机上设置 Docker 引擎的工具。使用 docker-machine
在一个或多个 BMC 实例上配置和管理这些 Dockerized 主机的命令。
要使用此驱动程序,您需要在系统上安装 Docker Machine 以及 Go 编程语言。您还必须拥有 BMC 帐户才能为 BMC API 生成身份验证令牌。
访问 Docker Machine 驱动程序的 GitHub 存储库,了解如何开始使用并探索可用功能。
去 GITHUB 仓库
10.用于 BMC 的 Ruby SDK
Ruby SDK 为您提供了使用 Ruby 部署和管理 BMC 实例所需的所有工具。它使与 BMC API 的交互变得容易,而无需切换到另一种语言。 SDK 可作为 gem 下载 - bmc-sdk .
要调用 BMC API,您需要创建一个帐户并通过 BMC 门户生成 API 身份验证令牌。这些令牌由客户 ID 组成 和客户端密码 .通过身份验证后,您可以运行脚本来设置 SDK。
SDK 的源代码托管在 phoenixNAP 的 GitHub 帐户上。查看它以获取有关如何安装 SDK 的详细说明并查看代码示例。
去 GITHUB 仓库
加入裸机云社区
关注 phoenixNAP 的 GitHub 帐户,获取更多有用的模块、SDK 和脚本,以便更轻松地管理 BMC 资源。所有 GitHub 资源都是开源的并且可以免费使用。所以,请随意 fork 他们或贡献代码。
加入 Slack 社区,与最新的 BMC 发展保持联系。加入后,您可以与 BMC 开发团队聊天、发送反馈和请求新功能。
如果您想提高开发技能,别忘了订阅我们的开发者月刊。每个月,我们都会从我们的知识库中编制一份最有用的教程列表,并将它们直接发送到您的收件箱。
云计算