.. _intro_qovery: ================= Qovery简介 ================= Qovery是一个非常 ``有意思的`` 所谓 **最先进的** (state-of-the-art) 部署平台: - 有些类似PaaS平台(如 :ref:`openshift` ),但又不完全是PaaS - 抽象包装了多种开源工具 ( :ref:`terraform` , :ref:`loki` , :ref:`grafana` ...)实现快速部署完整的持续集成系统,从 dev => staging => production - 确保开发者产品化和自治化,以完整控制整个部署生命周期 - 提供一个产品化开箱即用的架构,可以大为节约部署工作投入 .. note:: 以下文档根据官方文档整理,其架构思路值得借鉴。虽然内核还是Kuberntes的不同软件堆栈,但是提供了一个快速部署持续集成的完整生态。后续我想做一些部署解析,来了解和借鉴这个开源项目。 Qovery官方文档 `TUTORIL: Deploy Temporal on Kubernetes `_ 提供了一个生动案例介绍如何在Qovery平台简便地部署 :ref:`temporal` 来实现 Kubernetes 工作流平台。由此可见 Qovery 的使用方法。 Qovery是基于很多成熟工具( :ref:`kubernetes` , :ref:`terraform` , :ref:`helm` )和云计算服务商(AWS, Digital Ocean, Scaleway ...)之上构建的一个抽象层。Qovery的目标是提供产品化的平台层: .. figure:: ../../../_static/kubernetes/platform/qovery/qovery-on-top-of-kubernetes-and-terraform.png :scale: 60 Qovery的云基础架构 ====================== Qovery是基于云厂商提供的云服务之上来构建平台,所以需要在云服务账号上安装一些服务才能工作: .. figure:: ../../../_static/kubernetes/platform/qovery/qovery-infra-and-your-infra.png :scale: 60 所有应用和数据都是运行在云计算账号下。 ``Qovery Engine`` , ``Qovery Agent`` 以及 Kuberntes 是3个主要运行在该基础架构上的服务,用于运行你的应用程序。Qovery Engine和Qovery Agent从控制平面通过一个加密 gRPC/TLS 连接获取指令。 Qovery基础架构和你的应用基础架构和其他人是隔离的,这样Qovery设计成不影响你的基础架构。 Qovery基础架构的服务 ===================== .. csv-table:: Qovery基础架构服务 :file: intro_qovery/qovery_infra_service.csv :widths: 20, 10, 10, 60 :header-rows: 1 安装在基础架构上的服务 ======================= .. csv-table:: 安装在基础架构上的服务(Qovery依赖) :file: intro_qovery/query_depend_infra_service.csv :widths: 20, 10, 10, 60 :header-rows: 1 Qovery应用和数据库部署案例 ============================ 典型的案例是采用Qovery在AWS生产环境部署使用 :ref:`pgsql` 数据库的 :ref:`nodejs` 应用程序: .. figure:: ../../../_static/kubernetes/platform/qovery/from-build-to-scale-schema.png :scale: 30 .. csv-table:: Qovery部署Nodejs和PostgreSQL :file: intro_qovery/qovery_deploy_app_db.csv :widths: 20, 10, 10, 60 :header-rows: 1 参考 ====== - `How Qovery Works `_