Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
include::_attributes/attributes-microshift.adoc[]
[id="microshift-rhel-kickstarts"]
= Using Kickstart files for installing {microshift-short} in {op-system-base}

:context: microshift-rhel-kickstarts

toc::[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
include::_attributes/attributes-microshift.adoc[]
[id="microshift-embed-in-rpm-ostree-for-offline-use"]
= Embedding in a {op-system-ostree} image for offline use

:context: microshift-embed-rpm-ostree-offline-use

toc::[]

Embedding {microshift-short} containers in an `rpm-ostree` commit means that you can run a node in air-gapped, disconnected, or offline environments. You can embed {product-title} containers in a {op-system-ostree-first} image so that container engines do not need to pull images over a network from a container registry. Workloads can start immediately without network connectivity.
[role="_abstract"]
You can embed {microshift-short} in a container by using {op-system-base-full} for fully offline deployments.

include::modules/microshift-about-offline-deployment-rhel-edge.adoc[leveloffset=+1]

include::modules/microshift-embed-microshift-image-offline-deploy.adoc[leveloffset=+1]

Expand Down
45 changes: 9 additions & 36 deletions microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,28 @@
include::_attributes/attributes-microshift.adoc[]
[id="microshift-embed-in-rpm-ostree"]
= Embedding in a {op-system-ostree} image using image builder

:context: microshift-embed-in-rpm-ostree

toc::[]

Use this guide to build a {op-system-base} image containing {microshift-short}.
[role="_abstract"]
You can build a {op-system-base} image containing {microshift-short}.

include::modules/microshift-preparing-for-image-building.adoc[leveloffset=+1]

include::modules/microshift-embed-ostree-enable-eus-repos.adoc[leveloffset=+1]

include::modules/microshift-adding-repos-to-image-builder.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/setting-up-image-builder_composing-installing-managing-rhel-for-edge-images#edge-image-builder-system-requirements_setting-up-image-builder[Image builder system requirements]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/setting-up-image-builder_composing-installing-managing-rhel-for-edge-images#edge-installing-image-builder_setting-up-image-builder[Installing image builder]

include::modules/microshift-adding-service-to-blueprint.adoc[leveloffset=+1]

include::modules/microshift-adding-other-packages-to-blueprint.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources
* link:https://osbuild.org/docs/user-guide/blueprint-reference[Blueprint Reference]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/composing-a-rhel-for-edge-image-using-image-builder-command-line_composing-installing-managing-rhel-for-edge-images[Creating a {op-system-ostree} Container blueprint using image builder CLI]
* link:https://osbuild.org/docs/on-premises/commandline/building-ostree-images[Building OSTree image]
* link:https://podman.io/docs/installation[Installing Podman]

include::modules/microshift-ca-adding-bundle.adoc[leveloffset=+1]

include::modules/microshift-ca-adding-bundle-ostree.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc#microshift-creating-ostree-iso_microshift-embed-in-rpm-ostree[Creating the {op-system-ostree} image]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/securing_networks/using-shared-system-certificates_securing-networks[Using Shared System Certificates ({op-system-base} 9)]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_a_customized_rhel_system_image/creating-system-images-with-composer-command-line-interface_composing-a-customized-rhel-system-image#image-customizations_creating-system-images-with-composer-command-line-interface[Supported image customizations ({op-system-base} 9)]
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/creating-and-managing-ostree-image-updates_composing-installing-managing-rhel-for-edge-images[Creating and managing OSTree image updates]
* xref:../microshift_updating/microshift-update-rpms-ostree.adoc#microshift-update-rpms-ostree[Applying updates on an OSTree system]

include::modules/microshift-creating-ostree-iso.adoc[leveloffset=+1]

include::modules/microshift-add-blueprint-build-iso.adoc[leveloffset=+1]
Expand All @@ -51,24 +32,16 @@ include::modules/microshift-download-iso-prep-for-use.adoc[leveloffset=+1]

include::modules/microshift-embed-kickstart-in-iso.adoc[leveloffset=+2]

[id="additional-resources_microshift-embed-in-rpm-ostree"]
[role="_additional-resources"]
.Additional resources
== Additional resources

* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html-single/composing_installing_and_managing_rhel_for_edge_images/index[Composing, installing, and managing RHEL for Edge images]
* xref:../microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc#microshift-creating-ostree-iso_microshift-embed-in-rpm-ostree[Creating the {op-system-ostree} image]
* xref:../microshift_updating/microshift-update-rpms-ostree.adoc#microshift-update-rpms-ostree[Applying updates on an OSTree system]
* xref:../microshift_install_rpm/microshift-install-rpm.adoc#microshift-install-system-requirements_microshift-install-rpm[System requirements for installing {microshift-short}]
* link:https://console.redhat.com/openshift/install/pull-secret[Red Hat Hybrid Cloud Console pull secret]
* xref:../microshift_networking/microshift-firewall.adoc#microshift-firewall-req-settings_microshift-firewall[Required firewall settings]
* xref:../microshift_install_kickstarts/microshift-rhel-kickstarts.adoc#microshift-rhel-kickstarts[Using Kickstart files for embedding {microshift-short} in {op-system-base} installation]
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/automatically_installing_rhel/creating-kickstart-files_rhel-installer[Creating Kickstart files]
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/automatically_installing_rhel/kickstart-script-file-format-reference_rhel-installer#kickstart-file-format_kickstart-script-file-format-reference[A.1. Kickstart file format]
* link:https://access.redhat.com/solutions/60959[How to embed a Kickstart file into an ISO image]
* link:https://console.redhat.com/openshift/install/pull-secret[Red Hat Hybrid Cloud Console pull secret]
* xref:../microshift_install_rpm/microshift-access-node.adoc#microshift-access-node[Accessing the {microshift-short} node with oc]

//Add modules about using the VM and getting the ISO up and running, then starting MicroShift...

include::modules/microshift-accessing.adoc[leveloffset=+1]

include::modules/microshift-accessing-node-locally.adoc[leveloffset=+2]

include::modules/microshift-accessing-node-open-firewall.adoc[leveloffset=+2]

include::modules/microshift-accessing-node-remotely.adoc[leveloffset=+2]
7 changes: 2 additions & 5 deletions microshift_updating/microshift-update-rpms-manually.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@ include::_attributes/attributes-microshift.adoc[]
toc::[]

[role="_abstract"]
Updating {product-title} for non-image-based {op-system-base-full} systems requires updating the RPMs. For patch releases, such as {product-version}.1 to {product-version}.2, simply update the RPMs. For minor-version release updates, add the step of enabling the update repository by using your subscription manager.
You can update {microshift-short} or {op-system-bundle} manually using RPMs.

[NOTE]
====
You can back up application data as needed and move the data copy to a secure location when using any update type.
====
include::modules/microshift-updates-rpms-con.adoc[leveloffset=+1]

include::modules/microshift-updating-rpms-z.adoc[leveloffset=+1]

Expand Down
2 changes: 1 addition & 1 deletion microshift_updating/microshift-update-rpms-ostree.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ include::_attributes/attributes-microshift.adoc[]
toc::[]

[role="_abstract"]
You can update {microshift-short} on {op-system-ostree-first} by embedding the new version of {microshift-short} on a new operating system image.
You can update {microshift-short} on {op-system-ostree-first} {rhel-major} by embedding the new version of {microshift-short} on a new operating system image.

include::modules/microshift-updates-rpms-ostree-con.adoc[leveloffset=+1]

Expand Down
13 changes: 13 additions & 0 deletions modules/microshift-about-offline-deployment-rhel-edge.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Module included in the following assemblies:
//
// microshift_running_applications/embed-microshift-offline-deploy.adoc
// microshift_install_rpm_ostree/microshift-embed-rpm-ostree-offline-use.adoc

:_mod-docs-content-type: CONCEPT
[id="microshift-about-offline-deployment-rhel-edge_{context}"]
= About offline deployments with {op-system-ostree}

[role="_abstract"]
Embedding {microshift-short} containers in an `rpm-ostree` commit means that you can run a node in disconnected or offline environments.

You can embed {product-title} containers in a {op-system-ostree-first} image so that container engines do not need to pull images over a network from a container registry. Workloads can start immediately without network connectivity.
1 change: 1 addition & 0 deletions modules/microshift-accessing-node-locally.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
[id="accessing-microshift-node-locally_{context}"]
= Accessing the {microshift-short} node locally

[role="_abstract"]
Use the following procedure to access the {microshift-short} node locally by using a `kubeconfig` file.

.Prerequisites
Expand Down
5 changes: 3 additions & 2 deletions modules/microshift-accessing-node-open-firewall.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
[id="microshift-accessing-node-open-firewall_{context}"]
= Opening the firewall for remote access to the {microshift-short} node

Use the following procedure to open the firewall so that a remote user can access the {microshift-short} service. You must complete this procedure before a workstation user can access the node remotely.
[role="_abstract"]
You must open the firewall before a workstation user can access the {microshift-short} node remotely.

For this procedure, `user@microshift` is the user on the {microshift-short} host machine and is responsible for setting up that machine so that it can be accessed by a remote user on a separate workstation.

Expand All @@ -32,4 +33,4 @@ For this procedure, `user@microshift` is the user on the {microshift-short} host
+
--
include::snippets/microshift-healthy-pods-snip.adoc[leveloffset=+2]
--
--
13 changes: 8 additions & 5 deletions modules/microshift-accessing-node-remotely.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
[id="accessing-microshift-node-remotely_{context}"]
= Accessing the {microshift-short} node remotely

Use the following procedure to access the {microshift-short} service from a remote location by using a `kubeconfig` file.
[role="_abstract"]
Access the {microshift-short} service from a remote location by using a `kubeconfig` file.

The `user@workstation` login is used to access the host machine remotely. The `<user>` value in the procedure is the name of the user that `user@workstation` logs in with to the {microshift-short} host.

Expand All @@ -31,17 +32,19 @@ The `user@workstation` login is used to access the host machine remotely. The `<
+
[source,terminal,subs="+quotes"]
----
[user@workstation]$ MICROSHIFT_MACHINE=_<microshift_hostname>_ # <1>
[user@workstation]$ MICROSHIFT_MACHINE=_<microshift_hostname>_
----
<1> Replace the value, _<{microshift-short}_hostname>_, with the either the name or the IP address of the host running {microshift}.
+
Replace the value, _<{microshift-short}_hostname>_, with the either the name or the IP address of the host running {microshift}.

. As `user@workstation`, copy the generated `kubeconfig` file that contains the hostname or IP address you want to connect to from the {op-system-base} machine running {microshift-short} to your local machine by running the following command:
+
[source,terminal,subs="+quotes"]
----
[user@workstation]$ ssh _<user>_@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config # <1>
[user@workstation]$ ssh _<user>_@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config #
----
<1> Replace _<user>_ with your SSH login credentials.
+
Replace _<user>_ with your SSH login credentials.

. As `user@workstation`, update the permissions on your `~/.kube/config` file by running the following command:
+
Expand Down
1 change: 1 addition & 0 deletions modules/microshift-accessing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[id="accessing-microshift-node_{context}"]
= How to access the {microshift-short} node

[role="_abstract"]
Access the {microshift-short} service by using the {oc-first}.

* You can access the node from either the same machine running the {microshift-short} service or from a remote location.
Expand Down
31 changes: 19 additions & 12 deletions modules/microshift-adding-other-packages-to-blueprint.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[id="microshift-adding-other-services-to-blueprint_{context}"]
= Adding other packages to a blueprint

[role="_abstract"]
Add the references for optional RPM packages to your `ostree` blueprint to enable them.

.Prerequisites
Expand All @@ -16,28 +17,34 @@ Add the references for optional RPM packages to your `ostree` blueprint to enabl

. Edit your `ostree` blueprint by running the following command:
+
[source,terminal]
[subs="+quotes"]
[source,terminal,subs="+quotes"]
----
$ vi __<microshift_blueprint.toml>__ <1>
$ vi __<microshift_blueprint.toml>__
----
<1> Replace `_<microshift_blueprint.toml>_` with the name of the blueprint file used for the {microshift-short} service.
+
Replace `_<microshift_blueprint.toml>_` with the name of the blueprint file used for the {microshift-short} service.

. Add the following example text to your blueprint:
+
[source,text]
[subs="+quotes"]
[source,text,subs="+quotes"]
----
[[packages]] <1>
name = "__<microshift-additional-package-name>__" <2>
[[packages]]
name = "__<microshift-additional-package-name>__"
version = "*"
----
<1> Include one stanza for each additional service that you want to add.
<2> Replace `_<microshift-additional-package-name>_` with the name the RPM for the service you want to include. For example, `microshift-olm`.
+
* `[[packages]] name =` Include one stanza for each additional service that you want to add. For example, replace `_<microshift-additional-package-name>_` in with the name the RPM for the service you want to include such as `microshift-olm`. Add another stanza as needed.

.Next steps
. Add custom certificate authorities to the blueprint as needed.
. After you are done adding to your blueprint, you can apply the manifests to an active cluster by building a new `ostree` system and deploying it on the client:

. Add custom certificate authorities to the blueprint as needed. For more information, see the following links:

* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/securing_networks/using-shared-system-certificates_securing-networks[Using Shared System Certificates ({op-system-base} 9)]
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_a_customized_rhel_system_image/creating-system-images-with-composer-command-line-interface_composing-a-customized-rhel-system-image#image-customizations_creating-system-images-with-composer-command-line-interface[Supported image customizations ({op-system-base} 9)]
* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/creating-and-managing-ostree-image-updates_composing-installing-managing-rhel-for-edge-images[Creating and managing OSTree image updates]

. After you finish adding to your blueprint, you can apply the manifests to an active node by building a new {op-system-ostree} system and deploying it on the client:

** Create the ISO.
** Add the blueprint and build the ISO.
** Download the ISO and prepare it for use.
Expand Down
14 changes: 13 additions & 1 deletion modules/microshift-adding-repos-to-image-builder.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@
[id="adding-microshift-repos-image-builder_{context}"]
= Adding {microshift-short} repositories to image builder

[role="_abstract"]
Use the following procedure to add the {microshift-short} repositories to image builder on your build host.

include::snippets/microshift-rhel10-bootc-not-osbuild.adoc[leveloffset=1]

.Prerequisites

* Your build host meets the image builder system requirements.
Expand Down Expand Up @@ -78,4 +81,13 @@ appstream
baseos
fast-datapath
{rpm-repo-version}
----
----

.Next steps

* Create the blueprint. For more information, see the following links:

** link:https://osbuild.org/docs/user-guide/blueprint-reference[Blueprint Reference]
** link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/composing-a-rhel-for-edge-image-using-image-builder-command-line_composing-installing-managing-rhel-for-edge-images[Creating a {op-system-ostree} Container blueprint using image builder CLI]
** link:https://osbuild.org/docs/on-premises/commandline/building-ostree-images[Building OSTree image]
** link:https://podman.io/docs/installation[Installing Podman]
15 changes: 8 additions & 7 deletions modules/microshift-adding-service-to-blueprint.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[id="adding-microshift-service-to-blueprint_{context}"]
= Adding the {microshift-short} service to a blueprint

[role="_abstract"]
Adding the {microshift-short} RPM package to an image builder blueprint enables the build of a {op-system-ostree} image with {microshift-short} embedded.

.Procedure
Expand All @@ -22,21 +23,21 @@ version = "0.0.1"
modules = []
groups = []

[[packages]] <1>
[[packages]]
name = "microshift"
version = "{ocp-version}.1"
...
...

[customizations.services] <2>
[customizations.services]
enabled = ["microshift"]

[customizations.firewall]
ports = ["ssh"]
...
...

[[containers]] <3>
[[containers]]
source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f41e79c17e8b41f1b0a5a32c3e2dd7cd15b8274554d3f1ba12b2598a347475f4"

[[containers]]
Expand All @@ -45,9 +46,9 @@ source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dbc65f1fba7d92b3
EOF
----
<1> References for all non-optional {microshift-short} RPM packages using the same version compatible with the `microshift-release-info` RPM.
<2> References for automatically enabling {microshift-short} on system startup and applying default networking settings.
<3> References for all non-optional {microshift-short} container images necessary for an offline deployment. The SHA depends on the release you are using.
* `[[packages]] name = "microshift"`: references for all non-optional {microshift-short} RPM packages using the same version compatible with the `microshift-release-info` RPM.
* `[customizations.services] enabled = ["microshift"]`: references for automatically enabling {microshift-short} on system startup and applying default networking settings.
* `[[containers]] source = "quay.io/openshift-release-dev/...`: references for all non-optional {microshift-short} container images necessary for an offline deployment. The SHA depends on the release you are using.

. Add the blueprint to the image builder by running the following command:
+
Expand Down Expand Up @@ -78,4 +79,4 @@ blueprint: microshift_blueprint v0.0.1
[source,terminal,subs="+quotes"]
----
$ sudo composer-cli blueprints depsolve microshift_blueprint
----
----
9 changes: 6 additions & 3 deletions modules/microshift-ca-adding-bundle-ostree.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
//
//* microshift_install_rpm_ostree/microshift-embed-in-rpm-ostree.adoc


:_mod-docs-content-type: PROCEDURE
[id="microshift-ca-adding-bundle-ostree_{context}"]
= Adding a certificate authority bundle to an rpm-ostree image
You can include additional trusted certificate authorities (CAs) to the {op-system-ostree-first} `rpm-ostree` image by adding them to the blueprint that you use to create the image. Using the following procedure sets up additional CAs to be trusted by the operating system when pulling images from an image registry.
= Adding a certificate authority bundle to a blueprint

[role="_abstract"]
You can include additional trusted certificate authorities (CAs) to the {op-system-ostree-first} `rpm-ostree` image by adding them to the blueprint that you use to create the image.

Using the following procedure sets up additional CAs to be trusted by the operating system when pulling images from an image registry.

[NOTE]
====
Expand Down
Loading