<p>When running <code>kubeadm init</code> command, by default the required certificates are generated under <code>/etc/kubernetes/pki location</code>. </p>

<p>Is there any option to run <code>kubeadm init</code> command to ignore generating certificates?</p>

Sunil Gajula
<p>You can use the <a href="https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#options" rel="nofollow noreferrer"><code>--skip-phases</code></a> option to skip phases:</p>

<blockquote>
  <p>--skip-phases<br>
  stringSlice List of phases to be skipped</p>
</blockquote>

<p><strong>To skip the certificate generation:</strong> 
<code>kubeadm init --skip-phases  certs</code></p>

<p>This implies generating the certificates on your own. <strong>You cannot use Kubernetes without a Certificate Authority (CA)</strong>. Take a look on how <a href="https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/" rel="nofollow noreferrer">Manage TLS Certificates in a Cluster</a>:</p>

<blockquote>
  <p>Every Kubernetes cluster has a cluster root Certificate Authority
  (CA). The CA is generally used by cluster components to validate the
  API server’s certificate, by the API server to validate kubelet client
  certificates, etc. To support this, the CA certificate bundle is
  distributed to every node in the cluster and is distributed as a
  secret attached to default service accounts.</p>
</blockquote>

<p>And also <a href="https://kubernetes.io/docs/setup/certificates/" rel="nofollow noreferrer">PKI Certificates and Requirements</a>:</p>

<blockquote>
  <p>Kubernetes requires PKI certificates for authentication over TLS. If
  you install Kubernetes with <code>kubeadm</code>, the certificates that your
  cluster requires are automatically generated. You can also generate
  your own certificates – for example, to keep your private keys more
  secure by not storing them on the API server.</p>
</blockquote>
