<p>Is <code>--cni-bin-dir</code> still effective on kubernetes v1.24?</p>
<p>From seeing Network Plugin document, <code>--cni-bin-dir</code> is described.
But from seeing the CHANGELOG, it is removed.</p>
<p>Is there any documentation for Kubernetes CNI plugin for v1.24?</p>
<p>Reference</p>
<p><a href="https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/</a></p>
<p><a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md" rel="nofollow noreferrer">https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md</a></p>

Atsushi Sakai
<p>Short answer yes, it has been removed.</p>
<h3>Kubelet</h3>
<hr />
<p><code>--cni-bin-dir string     Default: /opt/cni/bin</code></p>
<p>A comma-separated list of full paths of directories in which to search for CNI plugin binaries. This docker-specific flag only works when container-runtime is set to docker. <strong>(DEPRECATED: will be removed along with dockershim.)</strong></p>
<p>source - <a href="https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/" rel="nofollow noreferrer">https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/</a></p>
<h3>Dockershim</h3>
<hr />
<p>Dockershim was removed from Kubernetes with the release of v1.24</p>
<p>source - <a href="https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/</a></p>
<h3>Conclusion</h3>
<hr />
<p>Putting those two bits together <code>--cni-bin-dir</code> was deprecated then removed with dockershim for the v1.24 release.</p>
<p>I find this docs page useful for figuring out details about the different flags used by kubernetes components:</p>
<p><a href="https://kubernetes.io/docs/reference/command-line-tools-reference/" rel="nofollow noreferrer">https://kubernetes.io/docs/reference/command-line-tools-reference/</a></p>
<h3>updated</h3>
<p>It is up to your CNI to manage to cni bin dir, for example if you are using flannel and its DaemonSet it will create those dirs for you.</p>
<p>Taken from <a href="https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml#L236-L238" rel="nofollow noreferrer">https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml#L236-L238</a></p>
<pre><code>...
      - name: cni-plugin
        hostPath:
          path: /opt/cni/bin
...
</code></pre>
<p>This DaemonSet defines some volumes and creates the dir for you on the host</p>
<p>I believe Kubelet doesn't actually care to interact with your CNI, your container runtime is suppose to do that.</p>
