根据 Declarative Application Management(可定义的应用管理工具)
的思想实现的管理 K8S 集群的一套最佳实践, 音同 customize
DAM
The central idea is that a toolbox of composable configuration tools should manipulate configuration data in the form of declarative API resource specifications, which serve as a declarative data model, not express configuration as code or some other representation that is restrictive, non-standard, and/or difficult to manipulate.
配置的有无状态应该是只配置文件是否依赖其他,比如istio依赖envoy,没有看到详细说明
暴露 k8s API是指 kustomize 在更新配置的时候先生成一份 k8s 的标准配置文件然后 apply
kustomization
+ patches
+ resources
应用部署的集合定义,包括 label
, resource
, configMap
, secret
等,相当于程序中的 command 部分(包括 main 和 subcommand),提供最终目标(需要一个什么样的东西)
相当于写代码的某个package,可以被 kustomization
引用, 用于完善内容, 比如可以定义 deploment
的 replias
, deploment
中的 containers
定义基础的需求类型,比如 deploment
, ds
, pod
, service
等等 k8s 的相关资源定义, 可以被 kustomization
引用,相当于程序 cmd 的不同参数
因为考虑做阿里云(基于K8S)产线的一些针对中小企业的产品,然后从市面上寻找了几个知名的管理工具,包括了heroku
,open shift
, kustomize
, helm
,然后我主要负责 kustomize
相关的情况了解和以及做一些总结用于会议交流,于是有了这篇文章