Skip to content

Commit 40b013b

Browse files
Node re-registration required to update the node labels
1 parent b0904d2 commit 40b013b

File tree

1 file changed

+17
-1
lines changed
  • content/en/docs/concepts/architecture

1 file changed

+17
-1
lines changed

content/en/docs/concepts/architecture/nodes.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ The name of a Node object must be a valid
7272
The [name](/docs/concepts/overview/working-with-objects/names#names) identifies a Node. Two Nodes
7373
cannot have the same name at the same time. Kubernetes also assumes that a resource with the same
7474
name is the same object. In case of a Node, it is implicitly assumed that an instance using the
75-
same name will have the same state (e.g. network settings, root disk contents). This may lead to
75+
same name will have the same state (e.g. network settings, root disk contents)
76+
and attributes like node labels. This may lead to
7677
inconsistencies if an instance was modified without changing its name. If the Node needs to be
7778
replaced or updated significantly, the existing Node object needs to be removed from API server
7879
first and re-added after the update.
@@ -98,6 +99,21 @@ When the [Node authorization mode](/docs/reference/access-authn-authz/node/) and
9899
[NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction) are enabled,
99100
kubelets are only authorized to create/modify their own Node resource.
100101

102+
{{< note >}}
103+
As mentioned in the [Node name uniqueness](#node-name-uniqueness) section,
104+
when Node configuration needs to be updated, it is a good practice to re-register
105+
the node with the API server. For example, if the kubelet being restarted with
106+
the new set of `--node-labels`, but the same Node name is used, the change will
107+
not take an effect, as labels are being set on the Node registration.
108+
109+
Pods already scheduled on the Node may misbehave or cause issues if the Node
110+
configuration will be changed on kubelet restart. For example, already running
111+
Pod may be tainted against the new labels assigned to the Node, while other
112+
Pods, that are incompatible with that Pod will be scheduled based on this new
113+
label. Node re-registration ensures all Pods will be drained and properly
114+
re-scheduled.
115+
{{< /note >}}
116+
101117
### Manual Node administration
102118

103119
You can create and modify Node objects using

0 commit comments

Comments
 (0)