Provisioning devices
Provisioning Red Hat Edge Manager devices
Abstract
Chapter 1. Provisioning devices Copy linkLink copied to clipboard!
- You can provision devices with the Red Hat Edge Manager in different environments. Use the operating system image or disk image that you built for use with the Red Hat Edge Manager and depending on your target environment, provision a physical or virtual device. Images created with the simplified image building workflow can be used for provisioning.
-
When you install a bootc image from the Software Catalog to a device that is not yet enrolled, the Flight Control web console can provide scenario-specific provisioning guidance and links to download the required artifacts (for example,
ISOorQCow2). Use that guidance together with the procedures below.
Required access: Cluster administrator
See the following documentation:
1.1. Provisioning physical devices Copy linkLink copied to clipboard!
-
When you build an ISO disk image from an operating system image by using the
bootc-image-buildertool, the image is similar to the RHEL ISOs available for download. However, your operating system image content is embedded in the ISO disk image.
To install the ISO disk image to a bare metal system without having access to the network, see Deploying a custom ISO container image.
For information about installing the ISO through the network, see Deploying an ISO bootc image over PXE boot.
1.2. Provisioning devices on OpenShift Virtualization Copy linkLink copied to clipboard!
- You can provision a virtual machine on OpenShift Virtualization by using a QCoW2 container disk image that is hosted on an OCI container registry.
If your operating system image does not already contain the Red Hat Edge Manager agent enrollment configuration, you can inject the configuration through the cloud-init user data at provisioning.
For more information, see the Additional resources section.
1.2.1. Prerequisites Copy linkLink copied to clipboard!
-
You installed the
flightctlCLI and logged in to your Red Hat Edge Manager service instance. -
You installed the
ocCLI, used it to log in to your OpenShift cluster instance, and changed to the project in which you want to create your virtual machine.
1.2.2. Creating the cloud-init configuration Copy linkLink copied to clipboard!
To create the cloud-init configuration, complete the following steps:
Request a new Red Hat Edge Manager agent enrollment configuration and store it in a file called
config.yaml. Run the following command:flightctl certificate request --signer=enrollment --expiration=365d --output=embedded > config.yamlCreate a cloud configuration user data file called
cloud-config.yamlthat places the agent configuration in the correct location on the first boot. Run the following command:cat <<EOF > cloud-config.yaml #cloud-config write_files: - path: /etc/flightctl/config.yaml content: $(cat config.yaml | base64 -w0) encoding: b64 EOFCreate a Kubernetes
Secretthat contains the cloud configuration user data file:oc create secret generic enrollment-secret --from-file=userdata=cloud-config.yaml
1.2.3. Creating the virtual machine Copy linkLink copied to clipboard!
Create a virtual machine that has its primary disk populated from your QCoW2 container disk image and a cloud-init configuration drive that is populated from your enrollment secret. Complete the following steps:
Create a file that contains a the
VirtualMachineresource manifest by running the following command:cat <<EOF > my-bootc-vm.yaml apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: my-bootc-vm spec: runStrategy: RerunOnFailure template: spec: domain: cpu: cores: 1 memory: guest: 1024M devices: disks: - name: containerdisk disk: bus: virtio - name: cloudinitdisk disk: bus: virtio volumes: - name: containerdisk containerDisk: image: ${OCI_DISK_IMAGE_REPO}:${OCI_IMAGE_TAG} - name: cloudinitdisk cloudInitConfigDrive: secretRef: name: enrollment-secret EOFApply the resource manifest to your cluster by running the following command:
oc apply -f my-bootc-vm.yaml
1.2.4. Additional resources Copy linkLink copied to clipboard!
-
For more information about how to inject the configuration through the
cloud-inituser data, see Cloud-init documentation. - See Building for specific target platforms.