Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise glossary entry for node #48688

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions content/en/docs/reference/glossary/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@ id: node
date: 2018-04-12
full_link: /docs/concepts/architecture/nodes/
short_description: >
A node is a worker machine in Kubernetes.
A node is a machine within a Kubernetes cluster that hosts pods.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping it short:

Suggested change
A node is a machine within a Kubernetes cluster that hosts pods.
Machine within a Kubernetes cluster that hosts pods.


aka:
tags:
- core-object
- fundamental
---
A node is a worker machine in Kubernetes.
A node is a machine within a Kubernetes {{< glossary_tooltip text="cluster" term_id="cluster" >}} that hosts {{< glossary_tooltip text="pods" term_id="pod" >}}.

<!--more-->

A worker node may be a VM or physical machine, depending on the cluster. It has local daemons or services necessary to run {{< glossary_tooltip text="Pods" term_id="pod" >}} and is managed by the control plane. The daemons on a node include {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}, {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}, and a container runtime implementing the {{< glossary_tooltip text="CRI" term_id="cri" >}} such as {{< glossary_tooltip term_id="docker" >}}.
A node may be a VM or physical machine, depending on the cluster. The term *node* is often used as an abbreviation for the term *worker node*, given that most nodes host {{< glossary_tooltip text="workloads" term_id="workload" >}}. However it is possible for nodes to host control plane components within pods, and these nodes may be referred to as control plane nodes. Thus it's possible for a node to be both a worker node and a control plane node, though this is less likely in production environments, as having a machine co-host workloads and control plane components goes against best practices.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No; this would be misleading. A node can't be a worker node (defined as doesn't host any control plane components) and at the same time also be a control plane node (defined as runs the kubelet combined with hosts at least some control plane components).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The typical way to identify worker nodes is to negatively select on node-role.kubernetes.io/control-plane="true".


In early Kubernetes versions, Nodes were called "Minions".
Each node is managed by the {{< glossary_tooltip text="control plane" term_id="control-plane" >}} and has the local daemons or services necessary to run pods. The daemons on a node include {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}, {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}, and a container runtime implementing the {{< glossary_tooltip text="CRI" term_id="cri" >}} such as {{< glossary_tooltip term_id="docker" >}}.

In early Kubernetes versions, worker nodes were called "Minions".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit / optional tweak)

Suggested change
In early Kubernetes versions, worker nodes were called "Minions".
In early versions of Kubernetes, nodes were called _minions_.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The node concept (and Node API) superseded the Minion concept (and Minion API).
Around 9 years ago, kubectl get minions still worked.