1

我有一个示例 Deployment.yaml,其中包含容器

kind: Pod
metadata:
    generateName: test-pod-
spec:
  containers:
  - name: test-pod
    image: test/mypod:v5.16
    env:
    - name: testenv
      valueFrom:
        configMapKeyRef:
          name: kubernetes-config
          key: type
    volumeMounts:
    - name: test-vol
      mountPath: "/test/vol"
      readOnly: true

这将创建具有随机名称 test-pod-vdffg 的 pod

现在我想使用自定义资源定义来生成这个 Pod 所以我在 CRD 下面创建

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: testconfigs.demo.k8s.com
  namespace: testns
spec:
  group: demo.k8s.com
  versions:
    - name: v1
      served: true
      storage: true
  scope: Namespaced
  names:
    plural: testpodconfigs
    singular: testpodconfig
    kind: TestPodConfig

像这样的自定义资源

apiVersion: demo.k8s.com/v1
kind: TestPodConfig
metadata:
  generateName: test-pod-
  namespace: testns
spec:
  image: test/mypod:v5.16
  env:
  - name: testenv
    valueFrom:
      configMapKeyRef:
        name: kubernetes-config
        key: type

在这里,我不确定 image 属性是否会将容器添加到 PodSpec,因为它是一个简单的字符串。另外,我如何使用 client-go 程序添加卷和环境变量。

4

0 回答 0