Inside Kolla - 04 Kolla 目录结构

Kolla 目录结构

把 Kolla 的源代码下载下来后,先从总体上分析 Kolla 的目录结构,查看顶层目录结构,使用

tree -L 1

输出

.
├── ansible
├── compose
├── demos
├── devenv
├── docker
├── docs
├── LICENSE
├── README.md
├── specs
├── test-requirements.txt
├── tests
├── tools
└── tox.ini

从顶层文件目录结构来看,各个目录所包含的内容为:

  1. ansible

    ansible 配置目录。里面的 README.md 文件提示这部分为 KoallaKoalla - Kolla with ansible!。它的目标是在现有 Kolla 组件上,使用 ansible 和 docker-compose 建立一个部署系统。:-)

  2. compose

    docker-compose 配置目录。里面包含很多 docker-compose 使用的 yaml 配置文件,每个配置都简单地启动一组 docker 容器来实现某个服务。在启动服务前,需要先通过 tools/genenv 的工具脚本来生成 Openstack 环境变量,然后才能用 docker-composetools/kolla start 来启动服务。

  3. demos

    示例目录。里面包含了 heat 的编排配置,目前不关注它。

  4. devenv

    开发环境。里面包含了如何建立 Kolla 开发环境的说明,README.md 文件里面说明构建一个 N 节点的 Kolla 集群的步骤、参数设置、跟踪调试等。

  5. docker

    docker 镜像定义目录。非常重要的目录,里面包括 Kolla 项目所有的 Dockerfile 文件,是项目的重要部分。 Kolla 的 docker 镜像遵从 基础镜像 -> 应用基础镜像 -> 应用镜像 的层叠模式。 Kolla 项目采用 RedHat 系的 Linux 镜像为基础镜像,可使用 CentOS / Fedora / RHEL 。数据放入到 数据卷容器,因此会定义 mariadb-datanova-compute-data 等数据卷容器。

  6. docs

    文档目录。也是非常重要的目录,里面包括开发环境设置、镜像编译、Kolla 环境变量等说明,建议趁着现在文档还比较少,把文档都认真读一遍 :-)

  7. LICENSE

    LICENSE文件。Apache License Version 2 的 License 文件,没什么好说的。

  8. README.md

    说明文件。

  9. specs

    spec目录。目前只有一个 spec,说明使用容器安装 OpenStack 的理念和优势。

  10. test-requirements.txt

    python 的 requirements 文件。用于说明测试时所需要的 python 包,目前只有一个 PyYAML。

  11. tests

    测试目录。这个目录应该包含 Kolla 的测试套件,但目前只有一个 setup_docker.sh 用于安装 docker。

  12. tools

    工具脚本目录。目录包含编译 docker 镜像、清理 docker 环境、生成 Kolla 环境变量、Kolla 启动脚本、json/yaml文件检验等脚本。建议把这个目录的脚本都看一遍,需要点 Shell、python的知识。

  13. tox.ini

    tox配置文件。tox是一个标准自动化测试工具,python里的。目前这个文件很简单,只包含了 virtualenv 设置和一些简单的检查。

现在 Kolla 还小,不像 nova / neutron 这些庞然大物,因此很值得把 Kolla 的代码认真看看,整理 Kolla 的设计思路,对以后把握 Kolla 的发展很有帮助,也希望大家能参与到 Kolla 的社区中,无论是贡献代码、写写 Blog、找茬,都能帮助到 Kolla 。

你可能感兴趣的:(ide)