我一直在寻找一段时间,但我对 kustomize 还是很陌生。我花了一些时间来理解覆盖等的概念。
我正在尝试使用 kustomization 文件将现有的秘密挂载到 pod 中。我无法在部署中执行此操作,因为它是单个部署,kustomize 处理了 3 个不同版本的部署。每个都需要不同的秘密安装。
因此,显而易见的答案是使用基础或覆盖中的 kustomize 文件将机密作为卷安装。
我找到了有关使用 kustomize 生成秘密的信息,但是该秘密已经存在并且作为 kubernetes 秘密传递到其他地方。
所以总结...
base/
├─ kustomization.yaml
├─ statefulset.yaml
├─ service.yaml
├─ instance1/
│ ├─ kustomization.yaml
├─ instance2/
│ ├─ kustomization.yaml
├─ instance3/
│ ├─ kustomization.yaml
所以我希望处理将秘密安装到实例位置中的卷,因为秘密将不同,例如 1,2 和 3。
这可能吗?
TIA
编辑:
我为秘密添加了一个文件(它用于证书,因此每个实例都不同)。
base/
├─ kustomization.yaml
├─ statefulset.yaml
├─ service.yaml
├─ instance1/
│ ├─ kustomization.yaml
│ ├─ pki.yaml
├─ instance2/
│ ├─ kustomization.yaml
├─ instance3/
│ ├─ kustomization.yaml
我的补丁文件 (pki.yaml) 如下所示:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: de
spec:
template:
containers:
- name: de
volumeMounts:
- mountPath: "/opt/de/pki"
name: pki
readOnly: true
volumes:
- name: pki
secret:
secretName: de_1_pki
然后在./base/instance1/kustomization.yaml
我有:
commonLabels:
app: de-1
resources:
- ../base
nameSuffix: -1
images:
- newName: de-1
name: de
patches:
- pki.yaml
为了完整起见,我的./base/kustomization.yaml
文件:
kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
commonLabels:
app: de
affinity: directory
resources:
- service.yaml
- statefulset.yaml
部署上述内容时出现错误。所以在我挖得太深之前,只是想知道我是否在吠叫正确的树?