Cloud-config Reference
Node OS images build using the Elemental Toolkit are expected to be initialized and configured by using yip. Yip is a small utility to diff --git a/next/cluster-reference/index.html b/next/cluster-reference/index.html index e859e90d8..fb0547bfd 100644 --- a/next/cluster-reference/index.html +++ b/next/cluster-reference/index.html @@ -10,11 +10,11 @@ - +
-Cluster reference
diff --git a/next/custom-certificate/index.html b/next/custom-certificate/index.html index 7b66a92db..c6c5a3545 100644 --- a/next/custom-certificate/index.html +++ b/next/custom-certificate/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/custom-images/index.html b/next/custom-images/index.html index 99ddeabef..b1195b8e1 100644 --- a/next/custom-images/index.html +++ b/next/custom-images/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/custom-install/index.html b/next/custom-install/index.html index c01f327ea..d70330173 100644 --- a/next/custom-install/index.html +++ b/next/custom-install/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/custom-resources/index.html b/next/custom-resources/index.html index 666869f98..e3dcf936d 100644 --- a/next/custom-resources/index.html +++ b/next/custom-resources/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/elemental-plans/index.html b/next/elemental-plans/index.html index 9aceb08e5..59a9b8c8e 100644 --- a/next/elemental-plans/index.html +++ b/next/elemental-plans/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/elemental_behind_proxy/index.html b/next/elemental_behind_proxy/index.html index 4b09f8302..f7e0fddf7 100644 --- a/next/elemental_behind_proxy/index.html +++ b/next/elemental_behind_proxy/index.html @@ -10,7 +10,7 @@ - + diff --git a/next/elementaloperatorchart-reference/index.html b/next/elementaloperatorchart-reference/index.html index c03f6f0ef..0b7a409f9 100644 --- a/next/elementaloperatorchart-reference/index.html +++ b/next/elementaloperatorchart-reference/index.html @@ -10,11 +10,11 @@ - + -Elemental Operator Helm Chart
The Elemental Operator is responsible for managing the Elemental versions and maintaining a machine inventory to assist with edge or bare metal installations.
The associated chart bootstraps an elemental-operator deployment on the Rancher Manager v2.6 cluster using the Helm package manager.
diff --git a/next/hardwarelabels/index.html b/next/hardwarelabels/index.html index aa1373044..300e622bf 100644 --- a/next/hardwarelabels/index.html +++ b/next/hardwarelabels/index.html @@ -10,11 +10,11 @@ - + -Hardware Template Variables​
diff --git a/next/hostname/index.html b/next/hostname/index.html index 7956f9187..61c9bd172 100644 --- a/next/hostname/index.html +++ b/next/hostname/index.html @@ -10,7 +10,7 @@ - + @@ -37,7 +37,8 @@Set a
The hostname can be specified setting the machineName
field in the
'MachineRegistration' resource.
The hostname set in the machineName
field is expected to be in a template form, in order to be uniquely generated
-for each registering node, using SMBIOS and Hardware Labels data.
The machineName
field in the MachineRegistration
resource is used as the blueprint not
only for the hostname of the registering host, but also for the name of the MachineInventory
resource
created to track the host.
This means that if you don't use a templated machineName
such to generate a unique name for each
diff --git a/next/index.html b/next/index.html
index 875ecfbab..c12748044 100644
--- a/next/index.html
+++ b/next/index.html
@@ -10,7 +10,7 @@
-
+
Invento
The Elemental operator can hold an inventory of machines and the mapping of the machine to it's configuration and assigned cluster.
MachineInventory​
-The MachineInventory
holds all the relevant information for a registered machine.
-Upon successful registration, the MachineInventory
will inherit all machineInventoryLabels
defined in the related MachineRegistration
.
-Additionally, the machine annotations
will also be updated on each successful registration.
By default, Elemental machines will attempt a registration update every 24 hours to update labels and annotations.
+The MachineInventory
holds all the relevant information for a registered machine.
Upon successful registration, the MachineInventory
inherits all the machineInventoryLabels
+and the machineInventoryAnnotations
defined in the associated MachineRegistration
.
The registering host sends also a bunch of system annotations
tracking information regarding the authentication
+method used, the running OS version and the current IP address.
Those annotations are added to the associated MachineInventory.
+Elemental machines attempt a registration update every 30 minutes to update labels and annotations.
+System Annotations​
+Key | Description |
---|---|
elemental.cattle.io/auth | Authentication used during registration (one of 'tpm', 'emulated-tpm', 'mac', 'sys-uuid') |
elemental.cattle.io/registration-ip | IP address used during last registration |
elemental.cattle.io/os.unmanaged | Only present when set to 'true', disables OS management functionality on the tracked host |
elemental.cattle.io/name | 'NAME' from /etc/os-release |
elemental.cattle.io/version | 'VERSION' from /etc/os-release |
elemental.cattle.io/version-id | 'VERSION_ID' from /etc/os-release |
elemental.cattle.io/id | 'ID' from /etc/os-release |
elemental.cattle.io/pretty-name | 'PRETTY_NAME' from /etc/os-release |
elemental.cattle.io/image | 'IMAGE' from /etc/os-release |
elemental.cattle.io/cpe-name | 'CPE_NAME' from /etc/os-release |
Reference​
apiVersion: elemental.cattle.io/v1beta1
kind: MachineInventory
metadata:
# Machine annotations can be useful to identify hosts
annotations:
elemental.cattle.io/auth: tpm
elemental.cattle.io/registration-ip: 192.168.122.152
labels:
# A label inherited from the MachineRegistration definition
element: fire
# Generic SMBIOS labels that are typically populated with
# the MachineRegister approach
machineUUID: f266c64b-3972-40e7-9937-3dc4a311436c
manufacturer: QEMU
productName: Standard-PC-Q35-ICH9-2009
serialNumber: Not-Specified
# Custom labels can be applied to each MachineInventory
myCustomLabel: foo
name: m-479ab68e-00ff-4081-a731-5b1a76610289
# The namespace must match the namespace of the cluster
# assigned to the clusters.provisioning.cattle.io resource
namespace: fleet-default
# A reference to the MachineInventorySelector that links the
# machine to a Cluster definition
ownerReferences:
- apiVersion: elemental.cattle.io/v1beta1
controller: true
kind: MachineInventorySelector
name: fire-machine-selector-qcn7d
uid: 0a1f751e-4ca9-4a0d-919a-97ba1f434d12
spec:
# The hash of the TPM EK public key. This is used if you are
# using TPM2 to identifiy nodes. Nodes can report their TPM
# hash by using the MachineRegistration.
tpmHash: d68795c6192af9922692f050b...
MachineRegistration​
MachineRegistration
holds information on how to install, reset, and configure all connected Elemental machines.
It's possible to update the spec.machineInventoryLabels
and spec.machineInventoryAnnotations
and this will be applied to all registered machines.
-By default, Elemental machines will attempt a registration update every 24 hours to update labels and annotations.
The spec.machineInventoryLabels
and spec.machineInventoryAnnotations
fields hold label and annotation templates
+rendered to actual labels and annotations applied to the MachineInventories tracking
+the registered machines.
Elemental machines attempt a registration update every 30 minutes to update labels and annotations.
While it's possible to modify the spec.config
definition, updates to the spec.config
will be ignored by machines that already completed installation.
-Machines that couldn't complete the installation will try again every 30 minutes by reloading the remote MachineRegistration
definition. This can be useful to correct spec.config
mistakes that prevent successful installation (for ex. spec.config.elemental.install.device
), without having to create a new MachineRegistration
and a new ISO.
MachineRegistration
definition.
+This can be useful to correct spec.config
mistakes that prevent successful installation (for ex. spec.config.elemental.install.device
), without having to create a new MachineRegistration
and a new ISO.
Reference​
-apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: fire-nodes
# The namespace must match the namespace of the cluster
# assigned to the clusters.provisioning.cattle.io resource
namespace: fleet-default
spec:
# The cloud config that will be used to provision the node
config:
cloud-config:
users:
- name: root
passwd: root
elemental:
install:
reboot: true
device: /dev/sda
debug: true
reset:
enabled: true
debug: true
reset-persistent: true
reset-oem: true
reboot: true
# Labels to be added to the created MachineInventory object
machineInventoryLabels:
element: fire
manufacturer: "${System Information/Manufacturer}"
productName: "${System Information/Product Name}"
serialNumber: "${System Information/Serial Number}"
machineUUID: "${System Information/UUID}"
# Annotations to be added to the created MachineInventory object
machineInventoryAnnotations: {}
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: fire-nodes
# The namespace must match the namespace of the cluster
# assigned to the clusters.provisioning.cattle.io resource
namespace: fleet-default
spec:
# The cloud config that will be used to provision the node
config:
cloud-config:
users:
- name: root
passwd: root
elemental:
install:
reboot: true
device: /dev/sda
debug: true
reset:
enabled: true
debug: true
reset-persistent: true
reset-oem: true
reboot: true
# Labels to be added to the created MachineInventory object
machineInventoryLabels:
element: fire
manufacturer: "${System Information/Manufacturer}"
productName: "${System Information/Product Name}"
serialNumber: "${System Information/Serial Number}"
machineUUID: "${System Information/UUID}"
# Annotations to be added to the created MachineInventory object
machineInventoryAnnotations: {}