Answers: <p>I educated myself more about <code>helm</code> and it looks like it has these features that I need</p>
  <ul>
  <li>packaging</li>
  <li>templating</li>
  <li>release management, including rollbacks</li>
  </ul>
  <p>so I'll study it more.</p>
  
Answers: CC BY-SA 4.0
Answers: 2021-02-05T19:41:49.413Z
Answers: 2021-02-05T19:41:49.413Z
Answers: Chris F
Body: <p>I'm learning Kubernetes, coming from an AWS/CloudFormation background to set up my company's infrastructure. One of the strengths of CloudFormation is the use a template that can be parameterized for re-used. So I can use the <strong>same</strong> template to deploy all our microservices in Fargate, giving it the Docker image, version, CPU/memory counts, etc for each microservice.</p>
  <p>When using Kubernetes manifest files, is there good way to &quot;templatize&quot; manifest files? I've read  <a href="https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/" rel="nofollow noreferrer">kustomize</a>, but as the title says it's &quot;template-free,&quot; and to use it for all our microservices, I'll need multiple <code>/someapp/...</code> directory trees, which is NOT what I want.</p>
  <p>Sure I can use <code>sed</code> but that seems archaic. I can use <code>yq</code> to massage my yaml files, but this also seems archaic. For either approach, changing a manifest file entails changing the corresponding <code>sed</code> and <code>yp</code> commands.</p>
  <p>Any suggestions on how to approach this? How about 3rd party tools like <a href="https://codefresh.io/docs/docs/deploy-to-kubernetes/kubernetes-templating/" rel="nofollow noreferrer">Codefresh</a>? How about <code>helm</code>? (I haven't looked at it yet.).</p>
  
Comments: CC BY-SA 4.0
Comments: 2021-02-05T19:47:35.580Z
Comments: I would recommend Kustomize rather than Helm
Comments: Jonas
Comments: CC BY-SA 4.0
Comments: 2021-02-05T19:52:06.953Z
Comments: Why is that @Jonas? Maybe you can put it as an answer?
Comments: Chris F
Tags: <kubernetes><helm>
Title: Parameterized Kubernetes manifest files?
UserDisplayName: Chris F
ThreadText: # Parameterized Kubernetes manifest files?
  
  (Asked by: username_0 on 2021-02-05)
  
  I'm learning Kubernetes, coming from an AWS/CloudFormation background to set up my company's infrastructure. One of the strengths of CloudFormation is the use a template that can be parameterized for re-used. So I can use the **same** template to deploy all our microservices in Fargate, giving it the Docker image, version, CPU/memory counts, etc for each microservice.
  
  When using Kubernetes manifest files, is there good way to "templatize" manifest files? I've read [kustomize](https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/), but as the title says it's "template-free," and to use it for all our microservices, I'll need multiple `/someapp/...` directory trees, which is NOT what I want.
  
  Sure I can use `sed` but that seems archaic. I can use `yq` to massage my yaml files, but this also seems archaic. For either approach, changing a manifest file entails changing the corresponding `sed` and `yp` commands.
  
  Any suggestions on how to approach this? How about 3rd party tools like [Codefresh](https://codefresh.io/docs/docs/deploy-to-kubernetes/kubernetes-templating/)? How about `helm`? (I haven't looked at it yet.).
  
  **Tags:** kubernetes, helm
  
  > **Comments:**
  > **username_1**: I would recommend Kustomize rather than Helm  
  > **username_0**: Why is that @username_1? Maybe you can put it as an answer?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2021-02-05. Score: 1 | Accepted answer
  
  I educated myself more about `helm` and it looks like it has these features that I need
  
  * packaging
  * templating
  * release management, including rollbacks
  
  so I'll study it more.
  
  
  ---
  
  