首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubebuilder脚手架中“域”是什么?

在kubebuilder脚手架中“域”是什么?
EN

Stack Overflow用户
提问于 2022-05-22 13:14:44
回答 1查看 192关注 0票数 3

kubebuilder脚手架命令包括回购和域。

代码语言:javascript
复制
kubebuilder init --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project

我在kubebuilder关于“域”的书中找到了以下文本:

域:存储项目的域。当使用init命令和域标志生成项目时,用户可以提供此信息。和域:组的域(默认"my.domain")

我理解域通常是为了避免命名冲突而设置边界,例如,公司中的不同团队可以使用不同的域/子域,并且可以自由选择该域/子域下的名称。但在kubebuilder项目的背景下:

  • 我们在这里要避免什么名字冲突?如果团队是不同的,但仍然部署到共享集群中呢?如果域名本身是复制的呢?你什么时候发现有冲突?
  • 域的功能含义是什么,例如对CRD、API等?
  • 你以后能改一下吗?有什么问题吗?
  • 你可以没有域名,甚至是默认的- my.domain?

我知道,这些答案对于一个帖子来说可能要长得多,如果详细阐述的话,在这方面的任何指导或材料都会有帮助。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-09-05 07:08:06

域是Kubernetes 'group',正如您所描述的,它用于名称空间和避免命名冲突。“组”、“版本”和“类”唯一地标识Kubernetes API服务器所知道的资源类型。

回答你的问题:

  • 您要避免的名称冲突通常是,如果两个单独的组有一个概念,它们希望用类似的名称表示。通常,资源的友好名称在“种类”字段中。“桶”。如果一个桶有两个独立的概念,那么如果没有“group”的存在,您可以调用一个kind: AWSBucket和另一个kind: GCPBucket。对于组,您可以执行以下操作: apiVersion: aws.amazon.com/v1种类: Bucket 与之分离 apiVersion: gcp.google.com/v1种类: Bucket
  • 前面的点点暗示了这一点。在功能上,“域”/“组”以及版本构成了您为CRD提供的任何资源的apiVersion字段,并将形成自定义资源定义group字段。
  • 你以后再换吧。有一个明显的问题是,其他团队可能已经在使用您的命名空间了。您还需要更新和重新部署任何将此域作为自定义资源的一部分的资源。实际上,从Kubernetes的角度来看,这可能是一个新的API。您将重新开始,没有这类资源,因此您需要更新和重新部署任何资源,您已经创建了针对旧的类型。这可能会导致问题,尽管应该可以作为控制器的一部分来处理这些问题(例如,将记录在旧资源上的任何控制器状态迁移到新资源)。
  • 不,不可能不定义域。如果你不提供这个旗子,我不知道Kubebuilder会怎么做。但是实际上,groupCustomResourceDefinition资源上的一个必需字段,用于向Kubernetes注册自定义资源。请参阅CustomResourceDefinition的API文档

资源:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72337882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档