您的基于Debian的数据中心一箱装
项目描述
DebOps
您的基于Debian的数据中心一箱装
DebOps 项目提供了一套通用的Ansible 角色集,可用于管理 Debian 或 Ubuntu 主机。此外,还可以使用Ansible inventory组以受控的方式应用提供的角色,使用默认的Ansible playbooks。
角色被设计为高度可定制,可以使用Ansible inventory进行定制。这样,角色和playbook代码可以在多个环境之间共享,每个环境有不同的配置。
服务可以在单个主机上管理,也可以在多个主机之间分散。DebOps 支持不同的 SQL 和 NoSQL 数据库、Web 服务器、编程语言和数据中心环境或集群中使用的专用应用程序。该项目还可以用于部署虚拟化环境,使用 KVM/libvirt、Docker 或 LXC 技术来管理虚拟机或容器。
您可以在项目的文档页面上了解更多关于 DebOps 功能的信息。
快速入门
启动一个基于 Debian Buster 的 DebOps 支持的 Docker 容器,作为 Ansible 控制器主机。
docker run -it --rm debops/debops
cd src/controller ; debops run common --diff
或者,创建一个 Vagrant 虚拟机,作为 Ansible 控制器主机。
git clone https://github.com/debops/debops
cd debops && vagrant up && vagrant ssh
cd src/controller ; debops run common --diff
您可以使用 src/controller
子目录中的配置来尝试在容器/虚拟机中运行 DebOps,或者使用 debops project init
命令创建自己的 DebOps 项目目录。
更多快速入门技巧可以在DebOps 快速入门指南中找到。
安装
您可以通过运行命令来安装 DebOps Python 包,其中包含 DebOps 角色和剧本,以及可用于设置单独项目目录和方便运行 Ansible 的其他脚本。要使用 Ansible 和其他必需依赖项安装 Python 包,请运行以下命令
pipx install --user debops[ansible]
或者,DebOps 角色可在Ansible Galaxy上作为 Ansible Collection 提供,可以使用 ansible-galaxy
命令进行安装
ansible-galaxy collection install debops.debops
请参阅 DebOps 文档中的安装说明,了解所需的软件和依赖项的详细信息。
入门
Ansible 使用 SSH 连接到并管理主机。DebOps 通过禁用密码认证来加强 SSH 安全性,因此强烈建议使用 SSH 密钥连接到主机。这可以通过库存变量进行更改。
在初始部署期间,您可能会发现 DebOps 创建的防火墙阻止了您访问主机。因此,建议拥有一个带外控制台访问主机,以便登录并解决连接问题。
在 DebOps 的“项目目录”中创建一个新的环境,在 Ansible 库中添加一些主机,然后对它们运行默认的 DebOps 剧本来配置它们。
# Create a new environment
debops project init ~/src/projects/my-environment
cd ~/src/projects/my-environment
# Modify the 'ansible/inventory/hosts' file to suit your needs, for example
# uncomment the local host to configure it with DebOps
# Run the full playbook against all hosts in the inventory
debops run site
# Run the common playbook against specific host in the inventory
debops run common -l <hostname>
您应该阅读DebOps 入门指南,以深入了解如何使用 Ansible 通过项目管理多个主机。
开发
创建此存储库的分支,并将其克隆到您的工作站。创建一个开发 DebOps 环境,并在其中创建指向分支存储库的符号链接。现在您可以在分支存储库中创建新的剧本/角色,并在开发环境中查看它们的结果。
git clone git@github.com:<username>/debops ~/src/github.com/<username>/debops
cd ~/src/github.com/<username>/debops
git remote add upstream https://github.com/debops/debops.git
debops project init ~/src/projects/debops-devel
cd ~/src/projects/debops-devel
ln -s ~/src/github.com/<username>/debops debops
您可以从上游存储库拉取最新的更改。
cd ~/src/github.com/<username>/debops
git checkout master
git fetch upstream
git rebase upstream/master
请阅读开发指南文件,以了解关于 DebOps 开发过程的更多详细信息。
贡献
DebOps 开发是通过分布式开发模型完成的。新功能和更改在官方存储库的分支中准备,并通过 GitHub pull requests 发布到原始存储库。PR 由 DebOps 开发团队审查,如果被接受,则合并到主存储库。
首选 GPG 签名的 git
提交以确保真实性。
请阅读贡献指南文件,以了解如何为 DebOps 贡献的更多详细信息。
许可
DebOps项目采用GNU通用公共许可证3.0或更高版本授权。您可以在LICENSES/GPL-3.0-or-later.txt文件中找到许可证的全文。
DebOps项目包含的某些文件使用不同的许可证。这些许可证使用SPDX许可证标识符标记在这些文件中,并可在LICENSES/
子目录中找到。它们也包含在项目的tar包、Ansible集合和Python包中。项目使用REUSE规范及其关联的工具来检查和验证所有文件的版权和许可证信息。
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。