Merge pull request #48653 from windsonsea/alonen
Fix bullet indentations and typos in kubelet-standalone.mdpull/49248/head
commit
02198d8260
|
@ -6,7 +6,7 @@ weight: 10
|
||||||
|
|
||||||
<!-- overview -->
|
<!-- overview -->
|
||||||
|
|
||||||
This tutorial shows you how to run a standalone Kubelet instance.
|
This tutorial shows you how to run a standalone kubelet instance.
|
||||||
|
|
||||||
You may have different motivations for running a standalone kubelet.
|
You may have different motivations for running a standalone kubelet.
|
||||||
This tutorial is aimed at introducing you to Kubernetes, even if you don't have
|
This tutorial is aimed at introducing you to Kubernetes, even if you don't have
|
||||||
|
@ -29,7 +29,7 @@ tutorial does not cover the details you need for running a resilient control pla
|
||||||
* Learn how the different components of the solution interact among themselves.
|
* Learn how the different components of the solution interact among themselves.
|
||||||
|
|
||||||
{{< caution >}}
|
{{< caution >}}
|
||||||
The Kubelet configuration used for this tutorial is insecure by design and should
|
The kubelet configuration used for this tutorial is insecure by design and should
|
||||||
_not_ be used in a production environment.
|
_not_ be used in a production environment.
|
||||||
{{< /caution >}}
|
{{< /caution >}}
|
||||||
|
|
||||||
|
@ -38,11 +38,11 @@ _not_ be used in a production environment.
|
||||||
* Admin (`root`) access to a Linux system that uses `systemd` and `iptables`
|
* Admin (`root`) access to a Linux system that uses `systemd` and `iptables`
|
||||||
(or nftables with `iptables` emulation).
|
(or nftables with `iptables` emulation).
|
||||||
* Access to the Internet to download the components needed for the tutorial, such as:
|
* Access to the Internet to download the components needed for the tutorial, such as:
|
||||||
* A {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
|
* A {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}}
|
||||||
that implements the Kubernetes {{< glossary_tooltip term_id="cri" text="(CRI)">}}.
|
that implements the Kubernetes {{< glossary_tooltip term_id="cri" text="(CRI)">}}.
|
||||||
* Network plugins (these are often known as
|
* Network plugins (these are often known as
|
||||||
{{< glossary_tooltip text="Container Networking Interface (CNI)" term_id="cni" >}})
|
{{< glossary_tooltip text="Container Networking Interface (CNI)" term_id="cni" >}})
|
||||||
* Required CLI tools: `curl`, `tar`, `jq`.
|
* Required CLI tools: `curl`, `tar`, `jq`.
|
||||||
|
|
||||||
<!-- lessoncontent -->
|
<!-- lessoncontent -->
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ _not_ be used in a production environment.
|
||||||
|
|
||||||
### Swap configuration
|
### Swap configuration
|
||||||
|
|
||||||
The default behavior of kubelet is to fail to start if swap memory is detected on a node.
|
By default, kubelet fails to start if swap memory is detected on a node.
|
||||||
This means that swap should either be disabled or tolerated by kubelet.
|
This means that swap should either be disabled or tolerated by kubelet.
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
|
@ -79,7 +79,7 @@ sudo swapoff -a
|
||||||
|
|
||||||
To make this change persistent across reboots:
|
To make this change persistent across reboots:
|
||||||
|
|
||||||
Make sure swap is disabled in either `/etc/fstab` or `systemd.swap`, depending how it was
|
Make sure swap is disabled in either `/etc/fstab` or `systemd.swap`, depending on how it was
|
||||||
configured on your system.
|
configured on your system.
|
||||||
|
|
||||||
### Enable IPv4 packet forwarding
|
### Enable IPv4 packet forwarding
|
||||||
|
@ -100,6 +100,7 @@ sudo tee /etc/sysctl.d/k8s.conf <<EOF
|
||||||
net.ipv4.ip_forward = 1
|
net.ipv4.ip_forward = 1
|
||||||
EOF
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
Apply the changes to the system:
|
Apply the changes to the system:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -182,12 +183,11 @@ Detailed service check:
|
||||||
sudo journalctl -f -u crio.service
|
sudo journalctl -f -u crio.service
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install network plugins
|
### Install network plugins
|
||||||
|
|
||||||
The `cri-o` installer installs and configures the `cni-plugins` package. You can
|
The `cri-o` installer installs and configures the `cni-plugins` package. You can
|
||||||
verify the installation running the following command:
|
verify the installation running the following command:
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
/opt/cni/bin/bridge --version
|
/opt/cni/bin/bridge --version
|
||||||
```
|
```
|
||||||
|
@ -234,13 +234,13 @@ The output is similar to:
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
Make sure that the default `subnet` range (`10.85.0.0/16`) does not overlap with
|
Make sure that the default `subnet` range (`10.85.0.0/16`) does not overlap with
|
||||||
one of your active networks. If there is an overlap, you can edit the file and change it
|
any of your active networks. If there is an overlap, you can edit the file and change it
|
||||||
accordingly. Restart the service after the change.
|
accordingly. Restart the service after the change.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
### Download and set up the kubelet
|
### Download and set up the kubelet
|
||||||
|
|
||||||
Download the [latest stable release](/releases/download/) of the Kubelet.
|
Download the [latest stable release](/releases/download/) of the kubelet.
|
||||||
|
|
||||||
{{< tabs name="download_kubelet" >}}
|
{{< tabs name="download_kubelet" >}}
|
||||||
{{< tab name="x86-64" codelang="bash" >}}
|
{{< tab name="x86-64" codelang="bash" >}}
|
||||||
|
@ -290,7 +290,6 @@ See [Ports and Protocols](/docs/reference/networking/ports-and-protocols/) to
|
||||||
understand which ports Kubernetes components use.
|
understand which ports Kubernetes components use.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
|
|
||||||
Install:
|
Install:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -346,7 +345,7 @@ Detailed service check:
|
||||||
sudo journalctl -u kubelet.service
|
sudo journalctl -u kubelet.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Check the Kubelet's API `/healthz` endpoint:
|
Check the kubelet's API `/healthz` endpoint:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl http://localhost:10255/healthz?verbose
|
curl http://localhost:10255/healthz?verbose
|
||||||
|
@ -361,7 +360,7 @@ The output is similar to:
|
||||||
healthz check passed
|
healthz check passed
|
||||||
```
|
```
|
||||||
|
|
||||||
Query the Kubelet's API `/pods` endpoint:
|
Query the kubelet's API `/pods` endpoint:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl http://localhost:10255/pods | jq '.'
|
curl http://localhost:10255/pods | jq '.'
|
||||||
|
@ -378,7 +377,7 @@ The output is similar to:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run a Pod in the Kubelet
|
## Run a Pod in the kubelet
|
||||||
|
|
||||||
In standalone mode, you can run Pods using Pod manifests. The manifests can either
|
In standalone mode, you can run Pods using Pod manifests. The manifests can either
|
||||||
be on the local filesystem, or fetched via HTTP from a configuration source.
|
be on the local filesystem, or fetched via HTTP from a configuration source.
|
||||||
|
@ -408,12 +407,12 @@ Copy the `static-web.yaml` manifest file to the `/etc/kubernetes/manifests` dire
|
||||||
sudo cp static-web.yaml /etc/kubernetes/manifests/
|
sudo cp static-web.yaml /etc/kubernetes/manifests/
|
||||||
```
|
```
|
||||||
|
|
||||||
### Find out information about the Kubelet and the Pod {#find-out-information}
|
### Find out information about the kubelet and the Pod {#find-out-information}
|
||||||
|
|
||||||
The Pod networking plugin creates a network bridge (`cni0`) and a pair of `veth` interfaces
|
The Pod networking plugin creates a network bridge (`cni0`) and a pair of `veth` interfaces
|
||||||
for each Pod (one of the pair is inside the newly made Pod, and the other is at the host level).
|
for each Pod (one of the pair is inside the newly made Pod, and the other is at the host level).
|
||||||
|
|
||||||
Query the Kubelet's API endpoint at `http://localhost:10255/pods`:
|
Query the kubelet's API endpoint at `http://localhost:10255/pods`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl http://localhost:10255/pods | jq '.'
|
curl http://localhost:10255/pods | jq '.'
|
||||||
|
@ -463,7 +462,7 @@ within the following directories for monitoring and troubleshooting:
|
||||||
|
|
||||||
## Clean up
|
## Clean up
|
||||||
|
|
||||||
### Kubelet
|
### kubelet
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo systemctl disable --now kubelet.service
|
sudo systemctl disable --now kubelet.service
|
||||||
|
@ -502,7 +501,7 @@ sudo rm -rf /var/lib/cni
|
||||||
This page covered the basic aspects of deploying a kubelet in standalone mode.
|
This page covered the basic aspects of deploying a kubelet in standalone mode.
|
||||||
You are now ready to deploy Pods and test additional functionality.
|
You are now ready to deploy Pods and test additional functionality.
|
||||||
|
|
||||||
Notice that in standalone mode the Kubelet does *not* support fetching Pod
|
Notice that in standalone mode the kubelet does *not* support fetching Pod
|
||||||
configurations from the control plane (because there is no control plane connection).
|
configurations from the control plane (because there is no control plane connection).
|
||||||
|
|
||||||
You also cannot use a {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} or a
|
You also cannot use a {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} or a
|
||||||
|
|
Loading…
Reference in New Issue