Search code examples
kubernetesyaml

Single Container Pod yaml


Forgive my ignorance but I can't seem to find a way of using a yaml file to deploy a single container pod (read: kind: Pod). It appears the only way to do it is to use a deployment yaml file (read: kind: Deployment) with a replica of 1.

Is there really no way?

Why I ask is because it would be nice to put everything in source control, including the one off's like databases.

It would be awesome if there was a site with all the available options you can use in a yaml file (like vagrant's vagrantfile). There isn't one, right?

Thanks!


Solution

  • You should be able to find pod yaml files easily. For example, the documentation has an example of a Pod being created.

    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-world
    spec:  # specification of the pod's contents
      restartPolicy: Never
      containers:
      - name: hello
        image: "ubuntu:14.04"
        command: ["/bin/echo", "hello", "world"]
    

    One thing to note is that if a deployment or a replicaset created a resource on your behalf, there is no reason why you couldn't do the same.

    kubectl get pod <pod-name> -o yaml should give you the YAML spec of a created pod.

    There is Kubernetes charts, which serves as a repository for configuration surrounding complex applications, using the helm package manager. This would serve you well for deploying more complex applications.