2 Answers
The sidecar pattern is pretty common in Kubernetes. The application container is joined by supporting containers in the same pod. Examples would be a logging container (eg fluentd) or secrets retriever (eg consul-template connecting to HashiCorp Vault). You could also have init containers that are run inside the pod setting something up before the main container (application) is run.
In addition to DanW comments above, sometimes you would need to deploy modules of application which require the same network infra and host because of various reasons/excuses. That too sometimes drives this kind of deployment
ahhhh, totally! I remember this idea from working with Rancher (pre-k8s) but I didnt realize that was the major use. Is there a way to template out so you can have the same standard "stack" of sidekick containers added to every pod?
There are seceral possible ways. If you are just using yaml files for deployment, you could just have a standard template that includes them. If you are using a deployment mechanism (eg Jenkins), you could add them as part of a pipeline. Or you could use a mutating addmission controller to add them. Possibly even helm charts.