<p>I'm running a rails service inside a minikube cluster on my local machine. I like to throw breakpoints into my code in order to interact with the process. This doesn't work while inside Minikube. I can attach to the pod running my rails container and hit the <code>binding.pr</code> statement in my code, and instead of getting an interactive breakpoint, I simply see the pry attempt to create a breakpoint, but ultimately move right past it. Anyone figure out how to get this working?  I'm guessing the deployed pod itself isn't interactive. </p>

<p>You are trying to get interactive access to your application.</p>

<p>Your problem is caused by the fact that the k8s does not allocate a TTY
and stdin buffer for the container by default.</p>

<p>I have replicated your issue and found a solution.</p>

<p>To get an interactive breakpoint you have to add 2 flags to your Deployment yaml to indicate that you need interactive session:</p>

<pre><code>   stdin: true
   tty: true
</code></pre>

<p>Here is an example of a deployment:</p>

<pre><code>   apiVersion: apps/v1
   kind: Deployment
   metadata:
     labels:
       run: test
     name: test
   spec:
     selector:
       matchLabels:
         run: test
     template:
       metadata:
         labels:
           run: test
       spec:
         containers:
         - image: test
           name: test
           stdin: true
           tty: true
</code></pre>

<p>You can find more info about it <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#container-v1-core" rel="noreferrer">here</a>.</p>

<p>Remember to use -it option when attaching to pod, like shown below:</p>

<pre><code>   kubectl attach -it &lt;pod_name&gt;
</code></pre>

<p>Let me know if that helped. </p>
