2

我有一个示例 crd 定义为

crd.yaml

kind: CustomResourceDefinition
metadata:
  name: testconfig.demo.k8s.com
  namespace: testns
spec:
  group: demo.k8s.com
  versions:
    - name: v1
      served: true
      storage: true
  scope: Namespaced
  names:
    plural: testconfigs
    singular: testconfig
    kind: TestConfig

我想根据上面的 crd 创建一个自定义资源,但我不想为资源分配固定名称,而是使用 generateName 字段。所以我生成了下面的 cr.yaml。但是当我申请时,它会给出错误,即名称字段是强制性的

kind: TestConfig
metadata:
  generateName: test-name-
  namespace: testns
spec:
  image: testimage

非常感谢任何帮助。

4

1 回答 1

4

您应该kubectl create使用generateName.

"kubectl apply将在采取行动之前验证资源的存在。如果资源不存在,它将首先创建它们。如果使用generateName,则在验证资源存在时尚未生成资源名称。" 来源

于 2019-11-25T10:56:31.117 回答