问题标签 [kubernetes-custom-resources]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 通过在 Kubernetes 中创建命名空间自动创建资源/对象
我在想办法吗?如果我创建一个新的命名空间,那么我希望它自动为该服务帐户创建一个 RBAC 规则。
我知道一种方法是创建一个操作员,这样就有一个由协调器/api服务器跟踪的事件,它根据 CRD 创建资源。还有其他方法吗?
kubernetes-custom-resources - 在 k8s 运算符中,如何将 CRD 规范中的唯一 metadata.name 链接到我的服务器生成的唯一对象 ID
我正在开发一个新的 Operator 来管理我的业务逻辑对象的 CRD。我的业务对象存储在 Mongo 中,因此,我们需要此 BSON ID(12 个字母长度的 GUID)来对此对象进行后续更改。
问题是,如何将运营商需要创建的 CR 链接到这个上游对象?我在哪里可以存储这种独特BSON ID
的 K8S 方式,以便我可以使用它进行进一步查找。
例如,这是我的上游对象之一的 CRD:
当我kubectl apply -f
对此 CRD 执行操作时,它会被创建。
然后我的操作员在协调循环中选择它,然后在我的服务器中创建这个对象。服务器生成一个 BSON ID。我需要使用此 BSON ID 进行进一步查找。
如何存储特定于服务器的BSON ID
,以便开发人员只需要metadata
在规范中使用唯一名称,而在后台我的操作员负责将两者联系起来?
rest - 用于在 Kubernetes 的命名空间(或集群上)中列出 CustomResource 实例的 Kube API
使用命令行实用程序kubectl
,我们可以列出自定义资源实例,如下所示
以类似的方式,我们是否有一个 REST API 来实现相同的功能?即API 采用CustomResource 的种类并列出所有创建的实例?
我指的是这个 API 参考: https ://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/
kubernetes - Kubernetes 中 CRD 的动态键/值输入属性
在定义 K8 CRD 时,我需要在提交资源对象时灵活地传递任何键/值对作为输入。 https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
从上面的链接中,如果您看到属性只能容纳cronSpec
,image
和/或replicas
. 它可以是自由形式吗?这意味着我可以传递任何键/值对,并且在我的代码中我得到一个可以包含键/值对的集合(可能是一个映射)。
https://stackoverflow.com/users/14044/mike-bryant 我用这个 CRD 试过:
使用具有如下输入的自定义对象:
但是当我用一些更新状态修补 crd 时,k8 失败并出现以下错误:
kubernetes - Kubernetes CRD 中状态的最大大小?
Kubernetes 中的 Kubernetes 规范和状态大小是否有限制?
我有一个用例,其中运算符规范是一个正则表达式,而正则表达式被扩展到许多我必须存储其状态的实际项目。
例子:
因为主题的数量是根据正则表达式计算的。我不知道其他人的数据结构可以增长到多大。所以想在某种程度上限制它。因此需要 Kubernetes 允许的最大限制方面的帮助。
此外,有必要这样来节省 Redshift 连接的数量。不能真正将问题分解为一个主题的另一个 crd。
请建议。
kubernetes - Kubernetes:为什么修补自定义资源的 /status 子资源会更新父资源?
我试图了解 Kubernetes 的行为,因为它与自定义资源及其子资源有关——特别是status
子资源。
具体来说,我想在status
不修改父自定义资源的情况下更新子资源。
据我所知,这应该是可能的。我已经查看了文档 [此处][1],但我似乎无法让它按预期工作。
我正在使用 Docker Desktop 的Kubernetes1.19.3
进行测试。
这是场景...
- 创建这个简单的 CRD:
- 创建演示资源:
- 启动代理:
- 建立对自定义资源的监视:
此时,您应该会看到类似以下的输出:
PATCH
子/status
资源
PATCH
令人困惑的是,在父资源上提交我们的手表后会产生......
为什么要修改父资源?
如果我们检查资源,我们可以看到子资源status
的资源肯定已更新:
我不知道这种行为是否是预期的,我的理解是错误的,或者我的PATCH
方法是否有缺陷。
希望有人能帮忙。谢谢。
更新:
除此之外,PATCH
我还可以确认PUT
(虽然是更复杂的操作)表现出完全相同的行为。
例子:
¯\ (ツ) /¯
kubernetes - 具有 CRD 资源和 CRD 对象的 Kubernetes Yaml
我有一个包含 CustomResourceDefinition 和 CRD 对象的 yaml 文件。但是当我尝试应用 yaml 时,有时 crd 对象创建失败,并且不存在类型 DemoRule。
尝试单独申请,效果很好。有什么方法可以在一个 yaml 中同时执行而不会出现任何错误?或者在两个部署之间添加等待?
kubernetes - 定义需要以下字段之一或没有字段的 Kubernetes 自定义资源
我尝试定义一个新的自定义资源,要求它具有 (1) 字段 A、(2) 字段 B 或 (3) 空正文之一。
例如:{A: 1}, {B: 1}, {} 可以,但 {A:1, B:2} 不行。
这是我的自定义资源以 OpenApi 模式的形式定义:
我应该如何在 oneOf 约束中包含空主体?
kubernetes - 如何使用分数格式(即 X/Y)为自定义资源显示 kubectl 列
在 Kubernetes 中,是否可以使用 CRD 的“additionalPrinterColumns”字段以分数格式(即 X/Y)显示列?
更准确地说,我想kubectl
使用与下面的 READY 字段相同的格式来显示 CR 字段的描述:
您能否提供“additionalPrinterColumns”部分的内容?