一个用于管理数据中心生命周期的部署框架。
项目描述
Directord
Directord是一个强大的自动化平台和协议,旨在驱动跨越物理、边缘、IoT和云边界的的基础设施和应用程序;高效、准实时、可扩展,简单易用。
设计原则
Directord的设计原则可以在这里找到。
文档
包含从应用程序设计、布线图、安装、使用等内容的附加文档都可以在这里找到。
欢迎贡献者
-
阅读有关如何部署和利用Directord的文档。
-
准备好后,如果您想为Directord做出贡献,非常欢迎pull-requests。Directord是一个为运维人员构建的开源平台。如果您看到有问题,请随时提出bug和/或修复它。
-
有关运行测试的信息可以在这里找到。
有疑问吗?
加入我们,在 libera.chat
的 #directord 频道。社区刚刚起步:这里有人提供帮助,解答问题,互相支持。
快速介绍
这个快速演示展示了如何轻松安装、初始化和部署一个可扩展测试环境。
Hello World
让我们在你的本地机器上创建一个虚拟环境以初始化安装,一旦安装完毕,你可以转到服务器节点,并从这里调用所有任务
$ python3 -m venv --system-site-packages ~/directord
$ ~/directord/bin/pip install --upgrade pip setuptools wheel
$ ~/directord/bin/pip install directord
我们需要创建一个目录用于初始化。假设我们在两台机器上安装 directord
-
directord-1 192.168.1.100:directord 服务器,一个客户端
-
directord-2 192.168.1.101:仅作为客户端
为此,我们创建一个文件
$ vi ~/directord-catalog.yaml
包含以下内容
directord_server:
targets:
- host: 192.168.1.100
port: 22
username: fedora
directord_clients:
args:
port: 22
username: fedora
targets:
- host: 192.168.1.100
- host: 192.168.1.101
现在我们可以调用 directord 来初始化安装。初始化使用 ssh 连接到机器,但之后 ssh 就不再使用了。你只需要 ssh 密钥就可以将你的本地机器连接到你要安装的服务器和客户端之间,服务器和客户端之间不需要共享密钥。
要启动初始化,你需要使用你创建的目录文件和目录文件中包含的初始化所需任务的目录。
$ ~/directord/bin/directord bootstrap \
--catalog ~/directord-catalog.yaml \
--catalog ~/directord/share/directord/tools/directord-dev-bootstrap-zmq.yaml
运行完毕后,你现在可以 ssh 到服务器,并从那里发出所有命令
$ ssh fedora@192.168.1.100
首先确保所有节点都已连接
$ sudo /opt/directord/bin/directord manage --list-nodes
应该显示以下内容
ID EXPIRY VERSION HOST_UPTIME AGENT_UPTIME
----------- -------- --------- -------------- --------------
directord-1 132.2 0.9.0 1:38:53.240000 0:00:00.051849
directord-2 131.69 0.9.0 1:39:25.780000 0:00:00.099533
然后我们创建我们的第一个编排作业,让我们添加一个名为
$ vi helloworld.yaml
包含以下内容
- jobs:
- ECHO: hello world
然后我们调用编排以使用它
$ sudo /opt/directord/bin/directord orchestrate helloworld.yaml
应该返回类似以下内容
Job received. Task ID: 9bcf31cb-7faf-4367-bf37-57c11b3f81dc
我们使用该任务 ID 来检查作业的执行情况,或者我们可以使用""列出所有作业
$ sudo /opt/directord/bin/directord manage --list-jobs
返回类似以下内容
ID PARENT_JOB_ID EXECUTION_TIME SUCCESS FAILED
------------------------------------ ------------------------------------ ---------------- --------- --------
9bcf31cb-7faf-4367-bf37-57c11b3f81dc 9bcf31cb-7faf-4367-bf37-57c11b3f81dc 0.02 2 0
有了任务 ID,我们可以看到作业的执行情况
$ sudo /opt/directord/bin/directord manage --job-info 9bcf31cb-7faf-4367-bf37-57c11b3f81dc
好了,这就是我们的第一个编排好的 Hello World
KEY VALUE
-------------------- -------------------------------------------------------
ID 9bcf31cb-7faf-4367-bf37-57c11b3f81dc
INFO test1 = hello world
test2 = hello world
STDOUT test1 = hello world
test2 = hello world
...
许可协议
Apache 许可协议版本 2.0 COPY
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
directord-0.12.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a7e1c6dee56443450caa9e4124ef78793d98e0810d9fccb0f8268a1df143184 |
|
MD5 | 75dabc0778878f980e55617f3e9809e4 |
|
BLAKE2b-256 | fbeb7170b9941c3cd83b9a615fdfdfaf9f6a37deee50ca76d2ee4740bb90f16c |