Skip to content

Commit 4175e2d

Browse files
k8s-ci-robotshivansh-gohem
authored andcommitted
Merge pull request #52521 from soltysh/kyaml_feature
Add missing env var (KUBECTL_KYAML) for kubectl, used for enabling kyaml output format
2 parents 0c7d659 + 18c2fc9 commit 4175e2d

File tree

2 files changed

+37
-25
lines changed

2 files changed

+37
-25
lines changed

content/en/docs/reference/kubectl/kubectl.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ kubectl [flags]
362362
<td colspan="2">KUBECTL_ENABLE_CMD_SHADOW</td>
363363
</tr>
364364
<tr>
365-
<td></td><td style="line-height: 130%; word-wrap: break-word;">When set to true, external plugins can be used as subcommands for builtin commands if subcommand does not exist. In alpha stage, this feature can only be used for create command(e.g. kubectl create networkpolicy).
365+
<td></td><td style="line-height: 130%; word-wrap: break-word;">When set to true, external plugins can be used as subcommands for builtin commands if subcommand does not exist. In alpha stage, this feature can only be used for create command(e.g. kubectl create networkpolicy).
366366
</td>
367367
</tr>
368368

@@ -386,7 +386,15 @@ kubectl [flags]
386386
<td colspan="2">KUBECTL_KUBERC</td>
387387
</tr>
388388
<tr>
389-
<td></td><td style="line-height: 130%; word-wrap: break-word;">When set to true, kuberc file is taken into account to define user specific preferences.
389+
<td></td><td style="line-height: 130%; word-wrap: break-word;">When set to true, kuberc file is taken into account to define user specific preferences.
390+
</td>
391+
</tr>
392+
393+
<tr>
394+
<td colspan="2">KUBECTL_KYAML</td>
395+
</tr>
396+
<tr>
397+
<td></td><td style="line-height: 130%; word-wrap: break-word;">When set to true, kubectl is capable of producing Kubernetes-specific dialect of YAML output format.
390398
</td>
391399
</tr>
392400

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

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ content_type: reference
33
title: Node Status
44
weight: 80
55
---
6+
67
<!-- overview -->
78

89
The status of a [node](/docs/concepts/architecture/nodes/) in Kubernetes is a critical
@@ -20,9 +21,9 @@ A Node's status contains the following information:
2021

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

23-
```shell
2424
kubectl describe node <insert-node-name-here>
25-
```
25+
26+
text
2627

2728
Each section of the output is described below.
2829

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

4142
The `conditions` field describes the status of all `Running` nodes. Examples of conditions include:
4243

43-
{{< table caption = "Node conditions, and a description of when each condition applies." >}}
44+
{{< table caption="Node conditions, and a description of when each condition applies." >}}
4445
| Node Condition | Description |
4546
|----------------------|-------------|
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` |
47+
| `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). |
48+
| `DiskPressure` | `True` if pressure exists on the disk size—that is, if the disk capacity is low; otherwise `False`. |
49+
| `MemoryPressure` | `True` if pressure exists on the node memory—that is, if the node memory is low; otherwise `False`. |
50+
| `PIDPressure` | `True` if pressure exists on the processes—that is, if there are too many processes on the node; otherwise `False`. |
51+
| `NetworkUnavailable` | `True` if the network for the node is not correctly configured, otherwise `False`. |
5152
{{< /table >}}
5253

5354
{{< note >}}
5455
If you use command-line tools to print details of a cordoned Node, the Condition includes
5556
`SchedulingDisabled`. `SchedulingDisabled` is not a Condition in the Kubernetes API; instead,
56-
cordoned nodes are marked Unschedulable in their spec.
57+
cordoned nodes are marked `Unschedulable` in their spec.
5758
{{< /note >}}
5859

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

62-
```json
6363
"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-
}
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+
}
7272
]
73-
```
73+
74+
text
7475

7576
When problems occur on nodes, the Kubernetes control plane automatically creates
7677
[taints](/docs/concepts/scheduling-eviction/taint-and-toleration/) that match the conditions
7778
affecting the node. An example of this is when the `status` of the Ready condition
7879
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,
80+
which defaults to 40 seconds. This will cause either an `node.kubernetes.io/unreachable` taint, for an `Unknown` status,
8081
or a `node.kubernetes.io/not-ready` taint, for a `False` status, to be added to the Node.
8182

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

117118
For nodes there are two forms of heartbeats:
118119

119-
* updates to the `.status` of a Node
120+
* updates to the `.status` of a Node.
120121
* [Lease](/docs/concepts/architecture/leases/) objects
121122
within the `kube-node-lease`
122123
{{< glossary_tooltip term_id="namespace" text="namespace">}}.
@@ -132,8 +133,11 @@ and for updating their related Leases.
132133
- The kubelet updates the node's `.status` either when there is change in status
133134
or if there has been no update for a configured interval. The default interval
134135
for `.status` updates to Nodes is 5 minutes, which is much longer than the 40
135-
second default timeout for unreachable nodes.
136+
second default timeout for unreachable nodes. The update interval is controlled by the
137+
`nodeStatusUpdateFrequency` field in the [Kubelet configuration file](/docs/tasks/administer-cluster/reconfigure-kubelet/),
138+
and the timeout is controlled by the
139+
`--node-monitor-grace-period` flag on the [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/).
136140
- The kubelet creates and then updates its Lease object every 10 seconds
137141
(the default update interval). Lease updates occur independently from
138142
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.
143+
using exponential backoff that starts at 200 milliseconds and capped at 7 seconds.

0 commit comments

Comments
 (0)