<h1>Questions</h1>

<p>Where are the configuration files of etcd which kubeadm init installs?</p>

<h2>Background</h2>

<p>Followed <a href="https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/" rel="nofollow noreferrer">Using kubeadm to Create a Cluster</a> and noticed there was no step to manually install etcd, hence kubeadm init should be installing it.</p>

<p>Run below to try to see which files but could not find the clue.</p>

<pre><code>for i in $(ls /proc/$(pgrep etcd)/fd) ; do readlink $i; done | grep -v socket
pipe:[432740]
pipe:[432741]
/var/lib/etcd/member/wal/0.tmp
pipe:[432742]
anon_inode:[eventpoll]
/var/lib/etcd/member/snap/db
/var/lib/etcd/member/wal/0000000000000000-0000000000000000.wal
/var/lib/etcd/member/wal
</code></pre>

<p>Kubeadm initialises as well as provide adequate files in the <code>/etc/kubernetes</code> directory to kubelet.</p>

<pre><code>[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "controller-manager.conf"
[kubeconfig] Wrote KubeConfig file to disk: "scheduler.conf"
[etcd] Wrote Static Pod manifest for a local etcd instance to "/etc/kubernetes/manifests/etcd.yaml"
</code></pre>

<p>As you can see that necessary manifest files are prepared for kubelet in the <strong>/etc/kubernetes/manifests/</strong> directory. </p>

<pre><code>[init] Waiting for the kubelet to boot up the control plane as Static Pods from directory "/etc/kubernetes/manifests"
</code></pre>

<p>Now Kubelet will apply these manifest files and control-plane will be up and running.</p>
