<p>I was able to view the app container logs using kubectl -f logs and was able to login to the container using &quot;k exec --stdin --tty -- /bin/bash&quot;.</p>
<p>After injecting linkerd, I could not login to the container. However my goal is to check the app logs.</p>
<p>When I use this &quot;k logs -f linkerd-proxy&quot; I could not see the app-related logs.</p>
<p>I tried injecting debug-sidecar as well.
Tried this - &quot;k logs deploy/ linkerd-debug - &quot; and as well as this &quot;k exec -it -c linkerd-debug -- tshark -i any -f &quot;tcp&quot; -V -Y &quot;http.request&quot;</p>
<p>still I couldn't see the exact logs for my app in the pod. Please suggest.</p>

Chakaravarthy Natesan
<p>Linkerd works by injecting an additional container into your pods; this is known as the &quot;sidecar&quot; pattern. Your application (or better said container) logs are still accessible, however, as a result of having more than one container in the pod, <code>kubectl</code> requires you to explicitly specify the container name.</p>
<p>For example, assuming you have a pod with two containers (<code>linkerd-proxy</code> and <code>app</code>), you'd have to specify <code>app</code> as the name of the container:</p>
<pre><code>$ kubectl logs -f &lt;pod-name&gt; -c app
# You can specify the container name without the -c flag
$ kubectl logs -f &lt;pod-name&gt; app
# This will work for 'exec' too
$ kubectl exec &lt;pod-name&gt; -c app -it -- sh
</code></pre>
