<p>I have seen the one-pod &lt;-&gt; one-container rule, which seems to apply to business logic pods, but has exceptions when it comes to shared network/volume related resources.</p>
<p>What are encountered production uses of deploying pods without a deployment configuration?</p>

<p>I use pods directly to start a Centos (or other operating system) container in which to verify connections or test command line options.</p>
<p>As a specific example, below is a shell script that starts an <code>ubuntu</code> container. You can easily modify the manifest to test secret access or change the service account to test access control.</p>
<pre class="lang-sh prettyprint-override"><code>#!/bin/bash

RANDOMIZER=$(uuid | cut -b-5)
POD_NAME=&quot;bash-shell-$RANDOMIZER&quot;
IMAGE=ubuntu
NAMESPACE=$(uuid)

kubectl create namespace $NAMESPACE

kubectl apply -f - &lt;&lt;EOF
apiVersion: v1
kind: Pod
metadata:
  name: $POD_NAME
  namespace: $NAMESPACE
spec:
  containers:
  - name: $POD_NAME
    image: $IMAGE
    command: [&quot;/bin/bash&quot;]
    args: [&quot;-c&quot;, &quot;while true; do date; sleep 5; done&quot;]
  hostNetwork: true
  dnsPolicy: Default
  restartPolicy: Never
EOF

echo &quot;---------------------------------&quot;
echo &quot;| Press ^C when pod is running. |&quot;
echo &quot;---------------------------------&quot;

kubectl -n $NAMESPACE get pod $POD_NAME -w

echo

kubectl -n $NAMESPACE exec -it $POD_NAME -- /bin/bash

kubectl -n $NAMESPACE delete pod $POD_NAME
kubectl delete namespace $NAMESPACE
</code></pre>
