<p>I've found that it is hard to use minikube to run local tests that depend on certain containers to be running. For instance using a remote headless-chrome to run some tests:</p>

<pre><code>  containers:
  - image: chrome-test
    imagePullPolicy: Never
    ports:
    - containerPort: 80

  - image: headless-chrome
    imagePullPolicy: Never
    ports: 
    - containerPort: 8910
    securityContext:
      capabilities:
        add:
        - SYS_ADMIN
</code></pre>

<p>I've found it easier to use docker-compose for instances like these. That way I don't have to deal with deleting pods, and finding log outputs. I understand this is a pretty open ended question, but I figure any information in this area could be helpful. 
What is the best way to test multiple containers with kubernetes?</p>

<p>You can use docker-compose, but using minikube is also very easy to test things.</p>

<p>So for my testing I do following steps:</p>

<ul>
<li>Create new Kubernetes <code>Namespace</code></li>
<li>Deploy artifacts(here you deploy the <code>deployment</code>)</li>
<li>Expose that <code>deployment</code> with a <code>service</code> of type <code>NodePort</code></li>
<li>Now all you need is to find out what random port was chosen as nodePort and curl on that port with <code>minikube ip:nodePort</code></li>
<li>If you want logs of the pod you can get that as well</li>
<li>Once you see all the things you wanna see, just delete the <code>Namespace</code>.</li>
</ul>

<p>I have done similar things while doing end to end testing of the tool called <a href="https://github.com/kedgeproject/kedge" rel="nofollow noreferrer">kedge</a> which generates Kubernetes artifacts, so we deploy all generated artifacts on a running cluster in similar way I have mentioned above, ref: <a href="https://github.com/kedgeproject/kedge/pull/77" rel="nofollow noreferrer">here</a>.</p>
