Skip to content

Commit 758f856

Browse files
committed
Add noderef controller documentation to gitbook
Signed-off-by: Vince Prignano <[email protected]>
1 parent 8141304 commit 758f856

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

docs/book/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* [Machine Controller](common_code/machine_controller.md)
1616
* [MachineSet Controller](common_code/machineset_controller.md)
1717
* [MachineDeployment Controller](common_code/machinedeployment_controller.md)
18+
* [NodeRef Controller](common_code/noderef_controller.md)
1819
* [Node Controller](common_code/node_controller.md)
1920

2021
## Creating a New Provider

docs/book/common_code/node_controller.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Node Controller
22

3+
> NOTE: This controller is deprecated and going to be removed in v1alpha2,
4+
> infrastructure providers should switch to noderef controller.
5+
36
The node controller has one simple job. It links or unlinks a `Machine` to the underlying
47
core k8s `Node` object if an optional annotation `cluster.k8s.io/machine` is present on the `Node`. The
58
decision to add the annotation is left to each infrastructure-specific provider. When the
@@ -8,7 +11,7 @@ objectRef.
811

912
The simplest way for Infrastructure-specific providers to add this support is to annotate
1013
nodes in their node bootup script as part of the `kubeadm join` operation (via a commandline
11-
parameter).
14+
parameter).
1215

1316
## Node Controller Semantics
1417

@@ -19,4 +22,4 @@ deletion, it unlinks the `Node` from the `Machine`.
1922

2023
#### node reconciliation logic
2124

22-
![node object reconciliation logic](images/activity_node_reconciliation.svg)
25+
![node object reconciliation logic](images/activity_node_reconciliation.svg)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# NodeRef Controller
2+
3+
The NodeRef controller populates a `Machine`'s `Status.NodeRef` field using the Kubernetes Node
4+
object associated with the Machine. This controller supports only machines linked to a cluster.
5+
6+
Infrastructure providers can opt-in to use this controller by providing a `kubeconfig` as a Kubernetes Secret.
7+
The secret must be stored in the namespace the Cluster lives in and named as `<cluster-name>-kubeconfig`,
8+
the data should only contain a single key called `value` and its data should be a valid Kubernetes `kubeconfig`.

0 commit comments

Comments
 (0)