Single Container Pod yaml

1/16/2017

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!

-- Ryan Clair
kubernetes

2 Answers

1/16/2017

Never mind, figured it out. It's possible. You just use the multi-container yaml file (example found here: https://kubernetes.io/docs/user-guide/pods/multi-container/) but only specify one container.

I'd tried it before but had inadvertently mistyped the yaml formatting.

Thanks rubber ducky!

-- Ryan Clair
Source: StackOverflow

1/16/2017

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.

-- Anirudh Ramanathan
Source: StackOverflow