设计理念
屏蔽用户对于 K8s 集群的感知
在当前计算资源多元化的环境下,企业在数字化转型过程中往往会存在资源浪费、运维管理复杂、成本高等问题。为此,Erda 基于容器管理引擎(例如 K8s)帮助企业实现资源统一池化管理,实现不同类型资源的统一调度和运维管理。上层应用研发人员只需关注业务本身,按需使用资源即可,而无需感知底层资源,也不需要了解容器、K8s Deployment、Statefulset、Service、 Ingress、Pod 等概念。
同时,对于构建和管理 Erda 产品的用户而言,平台对用户在 K8s 方面的知识储备不作要求,即用户无需具备丰富的 K8s 相关知识,也可通过白屏化运维操作,顺利创建属于自己的 K8s 集群。
屏蔽底层容器引擎差异感知
Erda 平台在设计之初,已抽象屏蔽了底层的容器平台,同时基于 IaC(Infrastructure as Code)理念定义了 erda.yml 规范,其核心即“以应用为中心,以开发者为中心“,并由此定义、使用基础设施资源等。
基于这样的设计,用户在对接不同的容器管理引擎(例如 DC/OS、K8s)时,只需在平台上有针对性的开发一个插件即可。