Without base and overlays, structuring your k8s with kustomize just needs a single kustomization.yaml.
tree
.
├── README.md
└── k8s
├── db
│ ├── db-config.yaml
│ ├── db-depl.yaml
│ └── db-service.yaml
├── kustomization.yaml
├── message-broker
│ ├── rabbitmq-config.yaml
│ ├── rabbitmq-depl.yaml
│ └── rabbitmq-service.yaml
└── nginx
├── nginx-depl.yaml
└── nginx-service.yaml
4 directories, 10 files
With the structure above, the configuration looks like the file below. All files are defined.
kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- db/db-config.yaml
- db/db-depl.yaml
- db/db-service.yaml
- message-broker/rabbitmq-config.yaml
- message-broker/rabbitmq-depl.yaml
- message-broker/rabbitmq-service.yaml
- nginx/nginx-depl.yaml
- nginx/nginx-service.yaml
However, you can make it simplify it by just referring to the folders in the main config file:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- db
- message-broker/
- nginx/
tree
.
├── README.md
└── k8s
├── kustomization.yaml
├── db
│ ├── db-config.yaml
│ ├── db-depl.yaml
│ ├── db-service.yaml
│ └── kustomization.yaml
├── message-broker
│ ├── kustomization.yaml
│ ├── rabbitmq-config.yaml
│ ├── rabbitmq-depl.yaml
│ └── rabbitmq-service.yaml
└── nginx
├── kustomization.yaml
├── nginx-depl.yaml
└── nginx-service.yaml
4 directories, 13 files
Each folder keeps its own kustomization.yaml so you can compose resources cleanly:
k8s/kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- db
- message-broker
- nginx
k8s/db/kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- db-config.yaml
- db-depl.yaml
- db-service.yaml
k8s/message-broker/kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- rabbitmq-config.yaml
- rabbitmq-depl.yaml
- rabbitmq-service.yaml
k8s/nginx/kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- nginx-depl.yaml
- nginx-service.yaml