Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes kustomize、secretGenerator&;patchesStrategicMerge:envFrom.secretRef未读取哈希秘密名称_Kubernetes_Kustomize - Fatal编程技术网

Kubernetes kustomize、secretGenerator&;patchesStrategicMerge:envFrom.secretRef未读取哈希秘密名称

Kubernetes kustomize、secretGenerator&;patchesStrategicMerge:envFrom.secretRef未读取哈希秘密名称,kubernetes,kustomize,Kubernetes,Kustomize,在mykustomization.yaml中,我有: 。。。 分泌生成器: -姓名:db env 行为:创建 环境: -我的环境 patchesStrategicMerge: -app.yaml 然后在我的app.yaml(补丁)中,我有: apiVersion:apps/v1 种类:部署 元数据: 名称:应用程序部署 规格: 模板: 规格: 容器: -名称:服务器 来自: -秘书长: 姓名:db env 当我尝试通过kustomize build k8s/development构建这个时,

在my
kustomization.yaml
中,我有:

。。。
分泌生成器:
-姓名:db env
行为:创建
环境:
-我的环境
patchesStrategicMerge:
-app.yaml
然后在我的
app.yaml
(补丁)中,我有:

apiVersion:apps/v1 种类:部署 元数据: 名称:应用程序部署 规格: 模板: 规格: 容器: -名称:服务器 来自: -秘书长: 姓名:db env 当我尝试通过
kustomize build k8s/development
构建这个时,我得到了回报:

apiVersion:apps/v1 种类:部署 ... 规格: 容器: -来自: -秘书长: 姓名:db env 名称:服务器 何时应该:

-envFrom:
-秘书长:
名称:db-env-4g95hhmhfc
如何使
secretGenerator
名称哈希也应用于
patchesStrategicMerge

或者,向特定覆盖的部署中注入一些环境变量的正确方法是什么

这是为了发展


我的文件结构如下:

❯ tree k8s
k8s
├── base
│   ├── app.yaml
│   └── kustomization.yaml
├── development
│   ├── app.yaml
│   ├── golinks.sql
│   ├── kustomization.yaml
│   ├── mariadb.yaml
│   ├── my.cnf
│   └── my.env
└── production
    ├── ingress.yaml
    └── kustomization.yaml
其中
base/kustomization.yaml
为:

namespace:go-mpen
资源:
-app.yaml
图像:
-名称:服务器
新名称:reg/proj/server
development/kustomization.yaml
是:

资源:
-../base
-马里亚德尔
configMapGenerator:
-姓名:mariadb config
文件夹:
-my.cnf
-名称:initdb config
文件夹:
-golinks.sql#TODO:我们可以用配置文件挂载这个吗?
分泌生成器:
-姓名:db env
行为:创建
环境:
-我的环境
patchesStrategicMerge:
-app.yaml

这对我来说非常适合
kustomize v3.8.4
。请检查您的版本,如果
disableNameSuffixHash
未设置为true,请检查

以下是我用来测试这一点的清单:

➜  app.yaml  deployment.yaml  kustomization.yaml   my.env
app.yaml

kind: Deployment
metadata:
  name: app-deployment
spec:
  template:
    spec:
      containers:
        - name: server
          envFrom:
            - secretRef:
                name: db-env
亚马尔酒店

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-deployment 
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
还有我的kustomization.yaml

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

secretGenerator:
  - name: db-env
    behavior: create
    envs:
      - my.env
patchesStrategicMerge:
  - app.yaml

resources: 
  - deployment.yaml 
结果如下:

apiVersion: v1
data:
  ASD: MTIz
kind: Secret
metadata:
  name: db-env-f5tt4gtd7d
type: Opaque
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: app-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx:1.14.2
        name: nginx
        ports:
        - containerPort: 80
      - envFrom:
        - secretRef:
            name: db-env-f5tt4gtd7d
        name: server

我有kustomize
v3.8.1
。。。只是尝试升级,没有骰子。我想你和我的区别在于我有两个
kustomization.yaml
s。。。一个用于基础,一个用于覆盖。我注意到其他东西似乎也不会递归应用,尽管我认为它们应该如此。发现了github的一个问题: