<p>I'm trying to make google cloud my default cloud tool. So far it's going quite fine and following the documentation.
In order to be able to automate some things (e.g. creating deployments - services - ingress - ...) with kubernetes environments, I'm digging into the YAML manifests.</p>

<p>The issue now is: I find examples and documentation on how to create e.g. a deployment based upon a YAML manifest, but I don't find the description/documentation of the manifests (i.e. which properties are available and which purpose do they have).</p>

<p>Does anyone know where to find these?</p>

Vandeperre Maarten
<p><strong>You can get a brief explanation of manifest options right from the <code>kubectl</code> tool:</strong></p>

<pre><code>$ kubectl explain --help
</code></pre>

<blockquote>
  <p>List the fields for supported resources </p>
  
  <p>This command describes the fields associated with each supported API
  resource. Fields are identified via a simple JSONPath identifier: </p>

<pre><code> &lt;type&gt;.&lt;fieldName&gt;[.&lt;fieldName&gt;]
</code></pre>
  
  <p>Add the <code>--recursive</code> flag to display all of the fields at once
  without descriptions. Information about each field is retrieved from
  the server in OpenAPI format.</p>
  
  <p>Use "<code>kubectl api-resources</code>" for a complete list of supported
  resources.</p>
  
  <p>Examples:   </p>
  
  <p>Get the documentation of the resource and its fields</p>

<pre><code>kubectl explain pods    
</code></pre>
  
  <p>Get the documentation of a specific field of a resource</p>

<pre><code>kubectl explain pods.spec.containers
</code></pre>
  
  <p>Options:</p>

<pre><code> --api-version='': Get different explanations for particular API version
 --recursive=false: Print the fields of fields (Currently only 1 level deep)
</code></pre>
  
  <p>Usage:   kubectl explain RESOURCE [options]</p>
  
  <p>Use "<code>kubectl options</code>" for a list of global command-line options
  (applies to all commands).</p>
</blockquote>

<p><strong>Here is an example output for the <code>pods.spec.containers.image</code> explanation:</strong></p>

<pre><code>$ kubectl explain pods.spec.containers.image
KIND:     Pod
VERSION:  v1
FIELD:    image &lt;string&gt;
DESCRIPTION:
     Docker image name. More info:
     https://kubernetes.io/docs/concepts/containers/images This field is
     optional to allow higher level config management to default or override
     container images in workload controllers like Deployments and StatefulSets.
</code></pre>
