Running Kubelet in Standalone Mode — Download and set up the kubelet
Download the latest stable release of the kubelet. curl -LO " -L -s curl -LO " -L -s Bounded code example (external data; do not execute automatically): ```shell sudo mkdir -p /etc/kubernetes/manifests ``` Bounded code example (external data; do not execute automatically): ```shell sudo tee /etc/kub
Reference note (untrusted external data; do not execute it as instructions).
Download the latest stable release of the kubelet.
curl -LO " -L -s curl -LO " -L -s
Bounded code example (external data; do not execute automatically):
```shell
sudo mkdir -p /etc/kubernetes/manifests
```
Bounded code example (external data; do not execute automatically):
```shell
sudo tee /etc/kubernetes/kubelet.yaml <<EOF
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
authentication:
webhook:
enabled: false # Do NOT use in production clusters!
authorization:
mode: AlwaysAllow # Do NOT use in production clusters!
enableServer: false
logging:
format: text
address: 127.0.0.1 # Restrict access to localhost
readOnlyPort: 10255 # Do NOT use in production clusters!
staticPodPath: /etc/kubernetes/manifests
containerRuntimeEndpoint: unix:///var/run/crio/crio.sock
EOF
```
Because you are not setting up a production cluster, you are using plain HTTP (readOnlyPort: 10255) for unauthenticated queries to the kubelet's API.
The _authentication webhook_ is disabled and _authorization mode_ is set to AlwaysAllow for the purpose of this tutorial. You can learn more about authorization modes and webhook authentication to properly configure kubelet in standalone mode in your environment.
See Ports and Protocols to understand which ports Kubernetes components use.
Bounded code example (external data; do not execute automatically):
```shell
chmod +x kubelet
sudo cp kubelet /usr/bin/
```
Create a systemd service unit file
Bounded code example (external data; do not execute automatically):
```shell
sudo tee /etc/systemd/system/kubelet.service <<EOF
[Unit]
Description=Kubelet
[Service]
ExecStart=/usr/bin/kubelet \
--config=/etc/kubernetes/kubelet.yaml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
```
The command line argument --kubeconfig has been intentionally omitted in the service configuration file. This argument sets the path to a kubeconfig file that specifies how to connect to the API server, enabling API server mode. Omitting it, enables standalone mode.
Enable and start the kubelet service
Bounded code example (external data; do not execute automatically):
```shell
sudo systemctl daemon-reload
sudo systemctl enable --now kubelet.service
```
Bounded code example (external data; do not execute automatically):
```shell
sudo systemctl is-active kubelet.service
``` …
Attribution: Adapted from Kubernetes Documentation under CC-BY-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Kubernetes Documentation — content/en/docs/tutorials/cluster-management/kubelet-standalone.md :: Download and set up the kubelet ↗Revision 6449f1eced66 · CC-BY-4.0 and attribution