Skip to content

Commit c895db7

Browse files
docs/reference: Add links for node status config parameters
Fixes #52516
1 parent dbfb690 commit c895db7

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

content/en/docs/reference/node/node-status.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ A Node's status contains the following information:
2020

2121
You can use `kubectl` to view a Node's status and other details:
2222

23-
```shell
2423
kubectl describe node <insert-node-name-here>
25-
```
24+
2625

2726
Each section of the output is described below.
2827

@@ -40,43 +39,42 @@ The usage of these fields varies depending on your cloud provider or bare metal
4039

4140
The `conditions` field describes the status of all `Running` nodes. Examples of conditions include:
4241

43-
{{< table caption = "Node conditions, and a description of when each condition applies." >}}
42+
{{< table caption="Node conditions, and a description of when each condition applies." >}}
4443
| Node Condition | Description |
4544
|----------------------|-------------|
46-
| `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last `node-monitor-grace-period` (default is 50 seconds) |
47-
| `DiskPressure` | `True` if pressure exists on the disk size—that is, if the disk capacity is low; otherwise `False` |
48-
| `MemoryPressure` | `True` if pressure exists on the node memory—that is, if the node memory is low; otherwise `False` |
49-
| `PIDPressure` | `True` if pressure exists on the processes—that is, if there are too many processes on the node; otherwise `False` |
50-
| `NetworkUnavailable` | `True` if the network for the node is not correctly configured, otherwise `False` |
45+
| `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last `node-monitor-grace-period` (default is 40 seconds). |
46+
| `DiskPressure` | `True` if pressure exists on the disk size—that is, if the disk capacity is low; otherwise `False`. |
47+
| `MemoryPressure` | `True` if pressure exists on the node memory—that is, if the node memory is low; otherwise `False`. |
48+
| `PIDPressure` | `True` if pressure exists on the processes—that is, if there are too many processes on the node; otherwise `False`. |
49+
| `NetworkUnavailable` | `True` if the network for the node is not correctly configured, otherwise `False`. |
5150
{{< /table >}}
5251

5352
{{< note >}}
5453
If you use command-line tools to print details of a cordoned Node, the Condition includes
5554
`SchedulingDisabled`. `SchedulingDisabled` is not a Condition in the Kubernetes API; instead,
56-
cordoned nodes are marked Unschedulable in their spec.
55+
cordoned nodes are marked `Unschedulable` in their spec.
5756
{{< /note >}}
5857

5958
In the Kubernetes API, a node's condition is represented as part of the `.status`
6059
of the Node resource. For example, the following JSON structure describes a healthy node:
6160

62-
```json
6361
"conditions": [
64-
{
65-
"type": "Ready",
66-
"status": "True",
67-
"reason": "KubeletReady",
68-
"message": "kubelet is posting ready status",
69-
"lastHeartbeatTime": "2019-06-05T18:38:35Z",
70-
"lastTransitionTime": "2019-06-05T11:41:27Z"
71-
}
62+
{
63+
"type": "Ready",
64+
"status": "True",
65+
"reason": "KubeletReady",
66+
"message": "kubelet is posting ready status",
67+
"lastHeartbeatTime": "2019-06-05T18:38:35Z",
68+
"lastTransitionTime": "2019-06-05T11:41:27Z"
69+
}
7270
]
73-
```
71+
7472

7573
When problems occur on nodes, the Kubernetes control plane automatically creates
7674
[taints](/docs/concepts/scheduling-eviction/taint-and-toleration/) that match the conditions
7775
affecting the node. An example of this is when the `status` of the Ready condition
7876
remains `Unknown` or `False` for longer than the kube-controller-manager's `NodeMonitorGracePeriod`,
79-
which defaults to 50 seconds. This will cause either an `node.kubernetes.io/unreachable` taint, for an `Unknown` status,
77+
which defaults to 40 seconds. This will cause either an `node.kubernetes.io/unreachable` taint, for an `Unknown` status,
8078
or a `node.kubernetes.io/not-ready` taint, for a `False` status, to be added to the Node.
8179

8280
These taints affect pending pods as the scheduler takes the Node's taints into consideration when
@@ -116,7 +114,7 @@ availability of each node, and to take action when failures are detected.
116114

117115
For nodes there are two forms of heartbeats:
118116

119-
* updates to the `.status` of a Node
117+
* updates to the `.status` of a Node.
120118
* [Lease](/docs/concepts/architecture/leases/) objects
121119
within the `kube-node-lease`
122120
{{< glossary_tooltip term_id="namespace" text="namespace">}}.
@@ -132,8 +130,11 @@ and for updating their related Leases.
132130
- The kubelet updates the node's `.status` either when there is change in status
133131
or if there has been no update for a configured interval. The default interval
134132
for `.status` updates to Nodes is 5 minutes, which is much longer than the 40
135-
second default timeout for unreachable nodes.
133+
second default timeout for unreachable nodes. The update interval is controlled by the
134+
`nodeStatusUpdateFrequency` field in the [Kubelet configuration file](/docs/tasks/administer-cluster/reconfigure-kubelet/),
135+
and the timeout is controlled by the
136+
`--node-monitor-grace-period` flag on the [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/).
136137
- The kubelet creates and then updates its Lease object every 10 seconds
137138
(the default update interval). Lease updates occur independently from
138139
updates to the Node's `.status`. If the Lease update fails, the kubelet retries,
139-
using exponential backoff that starts at 200 milliseconds and capped at 7 seconds.
140+
using exponential backoff that starts at 200 milliseconds and capped at 7 seconds.

0 commit comments

Comments
 (0)