<p>In kubernetes pod yaml specification file, you can set a pod to use the host machine's network using <code>hostNetwork:true</code>.</p>
<p>I can't find anywhere a good (suitable for a beginner) explanation of what the <code>hostPID:true</code> and <code>hostIPC:true</code> options mean. Please could someone explain this, assuming little knowledge in linux networking and such. Thanks.</p>
<pre><code>spec:
  template:
    metadata:
      labels:
        name: podName
    spec:
      hostPID: true
      hostIPC: true
      hostNetwork: true
      containers:
</code></pre>
<p>Source: <a href="https://github.com/kubernetes/kubernetes/blob/master/examples/newrelic/newrelic-daemonset.yaml" rel="noreferrer">github link here</a></p>

mleonard
<p>they're roughly described within the <a href="https://kubernetes.io/docs/concepts/policy/pod-security-policy/#host-namespaces" rel="noreferrer">Pod Security Policies</a></p>
<blockquote>
<p><code>hostPID</code> - Use the host’s pid namespace. Optional: Default to false.</p>
<p><code>hostIPC</code> - Use the host’s ipc namespace. Optional: Default to false.</p>
</blockquote>
<p>Those are related to the <code>SecurityContext</code> of the <code>Pod</code>. You'll find some more information in the <a href="https://github.com/kubernetes/community/blob/master/contributors/design-proposals/auth/pod-security-context.md" rel="noreferrer">Pod Security design document</a>.</p>
