kubernetes - k8s 中自定义资源定义(CRD)与服务目录的使用
问题描述
我最近开始探索 k8s 扩展,并引入了两个概念:
- CRD。
- 服务目录。
他们看起来和我很相似。我理解的唯一区别是,CRD 部署在同一个集群中以供使用;而目录被部署为在集群外部公开,例如作为数据库服务(客户端可以订购 mysql 集群,可以从他的集群访问)。
我的查询是:
我的理解正确吗?如果是,是否还有其他我想创建目录而不是 CRD 的情况。
解决方案
是的,你的理解是正确的。取自官方文档:
示例用例
应用程序开发人员希望将消息队列用作在 Kubernetes 集群中运行的应用程序的一部分。但是,他们不想处理设置此类服务并自行管理它的开销。幸运的是,有一家云提供商通过其服务代理将消息队列作为托管服务提供。
集群操作员可以设置服务目录并使用它与云提供商的服务代理进行通信,以提供消息队列服务的实例,并使其可用于 Kubernetes 集群中的应用程序。因此,应用程序开发人员不需要关心消息队列的实现细节或管理。应用程序可以简单地将其用作服务。
使用 CRD,您负责配置资源、运行后端逻辑等。
更多信息可以在这个KubeCon 2018 演示文稿中找到。
推荐阅读
- c# - 如何使用 plugin.geolocator 包解决未实现的异常?
- sql - 如何将视图列名称从大写转换为驼峰式?
- android - RecyclerView 的 holder.getAdapterPosition() 返回 -1。导致 ArrayIndexOutOfBoundsException
- python - 如何在python中逐对修改列表中的值?
- arrays - 如何从渲染列表中访问对象键?
- javascript - 从浏览器捕获取消事件
- angular - 如何在 Angular 5 删除方法中传递 json 对象
- caching - 在 index.php 之后 Drupal 8 页面服务机制在哪里?
- python-3.x - 如何在 QStackedWidget 中制作“完成”按钮
- node.js - 在查询字符串 NodeJS 和请求模块中传递重音字符