title: Kubernetes - How to expose 2 different containers in a pod?
body: <p>I am trying to create a pod with 2 containers each having different images! Am not sure how to expose the two different containers to the client. Following is my yaml file for deployment.</p>
  
  <pre><code>apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    name: checkdifimage
  spec:
    replicas: 1
    template: 
  metadata:
    labels:
      app: checkdifimagelab
  spec:
    containers:
    - name: checkallcont1
      image: &lt;dockerimage&gt;
      ports:
      - containerPort: 32030
    - name: checkall1cont2
      image: &lt;dockerimage2&gt;
      ports:
      - containerPort: 32031
  </code></pre>
  
  <p>What am currently doing is after I have the deployment up. I run the following command to expose the service :</p>
  
  <pre><code>kubectl expose pod checkdifimage --port=8080 --type=NodePort --name=diffimage
  </code></pre>
  
  <p>This works for a single container and am able to hit the service from a rest client. But when I use 2 containers, i am only able to hit one container. How should I proceed to hit both the containers? Also, if someone can please guide on what are the advantages and disadvantages of using one pod having one image vs one pod having multiple images!</p>