improve arch/nodes.md info on Conditions and Allocatable (#14753)

* clarify Conditions section in arch/nodes.md

The field name is `conditions` (plural), so have the section name match
the field name. In addition, updates the JSON output of an individual
Condition to match all the fields returned in k8s 1.14+.

* add information about Allocatable to nodes.md

Since k8s 1.6, a Node object returns information about both the node's
capacity as well as the allocatable resources on the node. The latter is
a representation of the resources that are available for normal pods to
consume.

This patch adds information about capacity vs. allocatable to the
documentation about nodes and provides a link to where the reader can
find more information about reserving compute resources.
This commit is contained in:
Jay Pipes 2019-06-10 10:39:08 -04:00 committed by Kubernetes Prow Robot
parent 1f9786ee50
commit 4ac08fcccd
1 changed files with 18 additions and 6 deletions

View File

@ -26,8 +26,8 @@ architecture design doc for more details.
A node's status contains the following information: A node's status contains the following information:
* [Addresses](#addresses) * [Addresses](#addresses)
* [Condition](#condition) * [Conditions](#condition)
* [Capacity](#capacity) * [Capacity and Allocatable](#capacity)
* [Info](#info) * [Info](#info)
Each section is described in detail below. Each section is described in detail below.
@ -41,9 +41,9 @@ The usage of these fields varies depending on your cloud provider or bare metal
* InternalIP: Typically the IP address of the node that is routable only within the cluster. * InternalIP: Typically the IP address of the node that is routable only within the cluster.
### Condition ### Conditions {#condition}
The `conditions` field describes the status of all `Running` nodes. The `conditions` field describes the status of all `Running` nodes. Examples of conditions include:
| Node Condition | Description | | Node Condition | Description |
|----------------|-------------| |----------------|-------------|
@ -60,7 +60,11 @@ The node condition is represented as a JSON object. For example, the following r
"conditions": [ "conditions": [
{ {
"type": "Ready", "type": "Ready",
"status": "True" "status": "True",
"reason": "KubeletReady",
"message": "kubelet is posting ready status",
"lastHeartbeatTime": "2019-06-05T18:38:35Z",
"lastTransitionTime": "2019-06-05T11:41:27Z"
} }
] ]
``` ```
@ -88,11 +92,19 @@ Enabling this feature creates a small delay between the
time when a condition is observed and when a taint is created. This delay is usually less than one second, but it can increase the number of Pods that are successfully scheduled but rejected by the kubelet. time when a condition is observed and when a taint is created. This delay is usually less than one second, but it can increase the number of Pods that are successfully scheduled but rejected by the kubelet.
{{< /caution >}} {{< /caution >}}
### Capacity ### Capacity and Allocatable {#capacity}
Describes the resources available on the node: CPU, memory and the maximum Describes the resources available on the node: CPU, memory and the maximum
number of pods that can be scheduled onto the node. number of pods that can be scheduled onto the node.
The fields in the capacity block indicate the total amount of resources that a
Node has. The allocatable block indicates the amount of resources that on a
Node that are available to be consumed by normal Pods.
You may read more about capacity and allocatable resources while learning how
to [reserve compute resources](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable)
on a Node.
### Info ### Info
General information about the node, such as kernel version, Kubernetes version General information about the node, such as kernel version, Kubernetes version