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

Adding a Tips and Tricks section to Edge Book and adding the first page for EIB #502

Merged
merged 5 commits into from
Jan 10, 2025
Merged
Show file tree
Hide file tree
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
3 changes: 3 additions & 0 deletions asciidoc/components/edge-image-builder.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ ifdef::env-github[]
endif::[]

See the https://github.com/suse-edge/edge-image-builder[Official Repository].


Edge Image Builder (EIB) is a tool that streamlines the generation of Customized, Ready-to-Boot (CRB) disk images for bootstrapping machines. These images enable the end-to-end deployment of the entire SUSE software stack with a single image.

Expand Down Expand Up @@ -40,6 +41,8 @@ Comprehensive documentation for the usage and testing of Edge Image Builder can

Additionally, here is a <<quickstart-eib,quick start guide>> for Edge Image Builder covering a basic deployment scenario.

Once you are familiar with this tool, please find some more useful information on our link:../tips/eib.adoc[Tips and tricks] page.

== Known issues

* EIB air-gaps Helm charts through templating the Helm charts and parsing all the images within the template. If a Helm chart does not keep all of its images within the template and instead side-loads the images, EIB will not be able to air-gap those images automatically. The solution to this is to manually add any undetected images to the `embeddedArtifactRegistry` section of the definition file.
14 changes: 13 additions & 1 deletion asciidoc/edge-book/edge.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ include::../components/system-upgrade-controller.adoc[leveloffset=+1]
include::../components/upgrade-controller.adoc[leveloffset=+1]

//--------------------------------------------
// Third-Party Integration
// How-To Guides
//--------------------------------------------

= How-To Guides
Expand All @@ -98,6 +98,18 @@ include::../guides/metallb-kube-api.adoc[leveloffset=+1]

include::../guides/air-gapped-eib-deployments.adoc[leveloffset=+1]

//--------------------------------------------
// Tips and Tricks
//--------------------------------------------

= Tips and Tricks

[partintro]
Tips and tricks for Edge components

include::../tips/eib.adoc[leveloffset=+1]


//--------------------------------------------
// Third-Party Integration
//--------------------------------------------
Expand Down
19 changes: 19 additions & 0 deletions asciidoc/tips/eib.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
= *Edge Image Builder*


.Common
- If you are in a non-Linux environment and following these instructions to build an image, then you are likely running `Podman` via a virtual machine. By default, this virtual machine will be configured to have a small amount of system resources allocated to it and can cause instability for `Edge Image Builder` during resource intensive operations, such as the RPM resolution process. You will need to adjust the resources of the podman machine, either by using Podman Desktop (settings cogwheel -> podman machine edit icon) or directly via the `podman-machine-set` https://docs.podman.io/en/stable/markdown/podman-machine-set.1.html[command]
- At this point in time, the `Edge Image Builder` is not able to build images in a cross architecture setup, i.e. you have to run it on:
* `aarch64` systems (such as Apple Silicon) to build SL Micro `aarch64` images
* `x86_64` systems (such as Intel) to build SL Micro `x86_64` images.


.Kubernetes
- Creating multi node Kubernetes clusters requires adjusting the `kubernetes` section in the definition file to:
* list all server and agent nodes under `kubernetes.nodes`
* set a virtual IP address that would be used for all non-initializer nodes to join the cluster under `kubernetes.network.apiVIP`
* optionally, set an API host to specify a domain address for accessing the cluster under `kubernetes.network.apiHost`
To learn more about this configuration, please refer to the https://github.com/suse-edge/edge-image-builder/blob/main/docs/building-images.md#kubernetes[Kubernetes section docs].


- `Edge Image Builder` relies on the hostnames of the different nodes to determine their Kubernetes type (`server` or `agent`). While this configuration is managed in the definition file, for the general networking setup of the machines we can utilize either DHCP or the https://documentation.suse.com/suse-edge/3.1/html/edge/components-nmc.html[Edge Networking page].
Loading