我可以使用模板来部署kubernetes吗?

问题描述 投票:1回答:2

我们正在尝试使用Kubernetes来部署我们的应用程序,目前,我们有+30个微服务,我们有一个文件混乱。

我们尝试了Kustomization来添加补丁并根据叠加创建ConfigMaps,还合并了一些文件。但是我们总是需要为每个部署/服务创建大量文件。最后,当我们想要更新某些东西时,例如副本,有点痛苦。

---
apiVersion: v1
kind: Service
metadata:
  name: service1
spec:
  ports:
  - port: 3000
  selector:
    app: service1
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: service1
spec:
  selector:
    matchLabels:
      app: service1
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: service1
    spec:
      containers:
      - image: pyfarm-registry.local:5000/pyfarm/svclocation:dev
        name: service1
        envFrom:
        - configMapRef:
            name: configName
        ports:
        - containerPort: 3000
      imagePullSecrets:
      - name: local-registry

我们将此文件复制了+30次,更改了名称和env变量。但我确信必须有一些东西来解析这些模板。

我们已经尝试过实施Helm,但这不是我们所发现的。

我们可以做一个带变量的文件,并生成其他30个文件,我们还需要不同的命名空间。可能吗?

我们发现的唯一解决方案是使用bash,但有更优雅的东西?

kubernetes
2个回答
1
投票

由于KustomizationHelm template(当你提到安全/特权原因)不适合你,我认为你不能做任何其他事情。除了BASH脚本是Tempalte Designers之外,我才想到一些事情:

1)Jinja2,它是Python的模板语言。使用可选的沙盒模板执行环境,它具有快速,广泛使用和安全性。

2)Mustache是一个简单的Web模板系统,其实现可用于ActionScript,C ++等。它称为“逻辑无”,因为没有if语句,else子句或for循环。


0
投票

说实话,感觉好像掌舵完全适合你在这里所做的事情。 Helm的超级大国是模板和发布/变更管理。

它以什么方式对你不起作用?

© www.soinside.com 2019 - 2024. All rights reserved.