diff --git a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md index bb6aa4bc56..6ff70db9dc 100644 --- a/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -206,55 +206,9 @@ point to the CA certificate and key. ### Managing the kubeadm drop-in file for the kubelet {#kubelet-drop-in} -The `kubeadm` package ships with configuration for how the `kubelet` should -be run by `systemd`. Note that the `kubeadm` CLI command never touches this drop-in file. -This drop-in file belongs to the `kubeadm` DEB/RPM package. +The `kubeadm` package ships with a configuration file for running the `kubelet` by `systemd`. Note that the kubeadm CLI never touches this drop-in file. This drop-in file is part of the kubeadm DEB/RPM package. -This is what it looks like (from [`10-kubeadm.conf` for RPM](https://github.com/kubernetes/kubernetes/blob/master/build/rpms/10-kubeadm.conf), resp. [`10-kubeadm.conf` for DEB](https://github.com/kubernetes/kubernetes/blob/master/build/debs/10-kubeadm.conf)), which augments the basic [`kubelet.service` for RPM](https://github.com/kubernetes/kubernetes/blob/master/build/rpms/kubelet.service) (resp. [`kubelet.service` for DEB](https://github.com/kubernetes/kubernetes/blob/master/build/debs/kubelet.service))): - - -``` -[Service] -Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf ---kubeconfig=/etc/kubernetes/kubelet.conf" -Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml" -# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating -the KUBELET_KUBEADM_ARGS variable dynamically -EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env -# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, -#the user should use the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. -# KUBELET_EXTRA_ARGS should be sourced from this file. -EnvironmentFile=-/etc/default/kubelet -ExecStart= -ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS -``` - -Here's a breakdown of what/why: - -* `--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf` path to a kubeconfig - file that is used to get client certificates for kubelet during node join. - On success, a kubeconfig file is written to the path specified by `--kubeconfig`. -* `--kubeconfig=/etc/kubernetes/kubelet.conf` points to the kubeconfig file that - tells the kubelet where the API server is. This file also has the kubelet's - credentials. -* `--pod-manifest-path=/etc/kubernetes/manifests` specifies from where to read - static Pod manifests used for starting the control plane. -* `--allow-privileged=true` allows this kubelet to run privileged Pods. -* `--network-plugin=cni` uses CNI networking. -* `--cni-conf-dir=/etc/cni/net.d` specifies where to look for the - [CNI spec file(s)](https://github.com/containernetworking/cni/blob/master/SPEC.md). -* `--cni-bin-dir=/opt/cni/bin` specifies where to look for the actual CNI binaries. -* `--cluster-dns=10.96.0.10` use this cluster-internal DNS server for `nameserver` - entries in Pods' `/etc/resolv.conf`. -* `--cluster-domain=cluster.local` uses this cluster-internal DNS domain for - `search` entries in Pods' `/etc/resolv.conf`. -* `--client-ca-file=/etc/kubernetes/pki/ca.crt` authenticates requests to the Kubelet - API using this CA certificate. -* `--authorization-mode=Webhook` authorizes requests to the Kubelet API by `POST`-ing - a `SubjectAccessReview` to the API server. -* `--rotate-certificates` auto rotate the kubelet client certificates by requesting new - certificates from the `kube-apiserver` when the certificate expiration approaches. -* `--cert-dir`the directory where the TLS certs are located. +For further information, see [Managing the kubeadm drop-in file for systemd](/docs/setup/production-environment/tools/kubeadm/kubelet-integration/#the-kubelet-drop-in-file-for-systemd). ### Use kubeadm with CRI runtimes