49

I've searched online and most links seem to mention manifests without actually explaining what they are. What are Manifests?

Dharman
  • 30,962
  • 25
  • 85
  • 135
LM10
  • 1,089
  • 4
  • 10
  • 16
  • 10
    Manifest is a file (JSON or YAML), containing a description of all the components you want to deploy. Refer the official doc : https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ – Sundararaj Govindasamy Mar 12 '19 at 21:29

2 Answers2

43

It's basically a Kubernetes "API object description". A config file can include one or more of these. (i.e. Deployment, ConfigMap, Secret, DaemonSet, etc)

As per this:

Specification of a Kubernetes API object in JSON or YAML format.

A manifest specifies the desired state of an object that Kubernetes will maintain when you apply the manifest. Each configuration file can contain multiple manifests.

And a previous version of the documentation:

Configuration files - Written in YAML or JSON, these files describe the desired state of your application in terms of Kubernetes API objects. A file can include one or more API object descriptions (manifests).

Rico
  • 58,485
  • 12
  • 111
  • 141
  • can you update the link. The above link is no longer available. – Prateek Naik Feb 02 '20 at 15:59
  • Updated thanks for pointing out. I can't find what was described initially so I pointed to an updated part of the docs. Docs are in constant flux :-) – Rico Feb 02 '20 at 16:55
9

When you are going to deploy to kubernetes , or create a kubernetes resources like a pod , replica-set , configmap , secret , deployment , etc , you need to write a file called manifest that describe that object and its attributes either in yaml or json.

Just like you do in:

  • puppet manifest

  • ansible playbook

  • chef recipe

etc

Ofcourse you can create those objects by using just command line , but the recommended way is to write a file so that you can version control it and use it in a repeatable way.

Ijaz Ahmad
  • 11,198
  • 9
  • 53
  • 73