首页 > 解决方案 > Kustomize 未将全局命名空间值添加到一个覆盖特定资源(作业)

问题描述

不确定这是 Kustomize 的错误还是我做错了什么。我的工件布局:

$ tree
.
├── base
│   ├── deployment.yaml
│   └── kustomization.yaml
└── overlays
    ├── development
    │   ├── kustomization.yaml
    │   └── quotas.yaml
    └── production
        ├── job.yaml
        ├── kustomization.yaml
        └── quotas.yaml

我的生产定制化是这样的:

$ more overlays/production/kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

patches:
- quotas.yaml

resources:
- job.yaml

bases:
- ../../base

我的基本 kutomization:

$ more base/kustomization.yaml
namespace: mynamespace

resources:
- deployment.yaml

我在其中添加一个全局命名空间值。

现在,当我最终构建它时,一切似乎都正常,并且它也占用了正确的配额,但它似乎没有将命名空间添加到最终的作业工件中。

% kustomize build overlays/production
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deployment
  name: nginx-deployment
  namespace: mynamespace
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-deployment
  template:
    metadata:
      labels:
        app: nginx-deployment
    spec:
      containers:
      - image: nginx:1.14.2
        name: nginx
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: 1
            memory: 2048Mi
          requests:
            cpu: 1
            memory: 512Mi
---
apiVersion: batch/v1
kind: Job
metadata:
  annotations:
    argocd.argoproj.io/hook: PreSync
    argocd.argoproj.io/hook-delete-policy: HookSucceeded
  name: before
spec:
  backoffLimit: 0
  template:
    spec:
      containers:
      - command:
        - sleep
        - "10"
        image: alpine:latest
        name: sleep
      restartPolicy: Never

我究竟做错了什么?

$ kustomize version
{Version:kustomize/v4.1.2 GitCommit:a5914abad89e0b18129eaf1acc784f9fe7d21439 BuildDate:2021-05-11T19:20:01+01:00 GoOs:darwin GoArch:amd64}

标签: kustomize

解决方案


推荐阅读