From 6cdcfe95e1a91bd27984ec967d2ba9d39d52df11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CShauna=20Diaz=E2=80=9D?= Date: Fri, 16 Aug 2024 12:40:19 -0400 Subject: [PATCH] OSDOCS-11158: adds image mode to MicroShift install --- _topic_maps/_topic_map_ms.yml | 7 ++ microshift_install_bootc/_attributes | 1 + microshift_install_bootc/images | 1 + .../microshift-install-rhel-image-mode.adoc | 43 +++++++ microshift_install_bootc/modules | 1 + microshift_install_bootc/snippets | 1 + ...t-install-rhel-image-mode-build-image.adoc | 110 ++++++++++++++++++ ...icroshift-install-rhel-image-mode-cni.adoc | 63 ++++++++++ ...croshift-install-rhel-image-mode-conc.adoc | 39 +++++++ ...oshift-install-rhel-image-mode-csi-vg.adoc | 41 +++++++ ...install-rhel-image-mode-csi-vgcleanup.adoc | 32 +++++ ...ft-install-rhel-image-mode-csi-vgloop.adoc | 55 +++++++++ ...install-rhel-image-mode-publish-image.adoc | 43 +++++++ ...install-rhel-image-mode-run-container.adoc | 66 +++++++++++ 14 files changed, 503 insertions(+) create mode 120000 microshift_install_bootc/_attributes create mode 120000 microshift_install_bootc/images create mode 100644 microshift_install_bootc/microshift-install-rhel-image-mode.adoc create mode 120000 microshift_install_bootc/modules create mode 120000 microshift_install_bootc/snippets create mode 100644 modules/microshift-install-rhel-image-mode-build-image.adoc create mode 100644 modules/microshift-install-rhel-image-mode-cni.adoc create mode 100644 modules/microshift-install-rhel-image-mode-conc.adoc create mode 100644 modules/microshift-install-rhel-image-mode-csi-vg.adoc create mode 100644 modules/microshift-install-rhel-image-mode-csi-vgcleanup.adoc create mode 100644 modules/microshift-install-rhel-image-mode-csi-vgloop.adoc create mode 100644 modules/microshift-install-rhel-image-mode-publish-image.adoc create mode 100644 modules/microshift-install-rhel-image-mode-run-container.adoc diff --git a/_topic_maps/_topic_map_ms.yml b/_topic_maps/_topic_map_ms.yml index dfb1bd2e7e..0cf3dbdb48 100644 --- a/_topic_maps/_topic_map_ms.yml +++ b/_topic_maps/_topic_map_ms.yml @@ -55,6 +55,13 @@ Topics: - Name: Troubleshooting installation issues File: microshift-installing-troubleshooting --- +Name: Installing with RHEL image mode +Dir: microshift_install_bootc +Distros: microshift +Topics: +- Name: Installing with RHEL image mode + File: microshift-install-rhel-image-mode +--- Name: Updating Dir: microshift_updating Distros: microshift diff --git a/microshift_install_bootc/_attributes b/microshift_install_bootc/_attributes new file mode 120000 index 0000000000..f27fd275ea --- /dev/null +++ b/microshift_install_bootc/_attributes @@ -0,0 +1 @@ +../_attributes/ \ No newline at end of file diff --git a/microshift_install_bootc/images b/microshift_install_bootc/images new file mode 120000 index 0000000000..e4c5bd02a1 --- /dev/null +++ b/microshift_install_bootc/images @@ -0,0 +1 @@ +../images/ \ No newline at end of file diff --git a/microshift_install_bootc/microshift-install-rhel-image-mode.adoc b/microshift_install_bootc/microshift-install-rhel-image-mode.adoc new file mode 100644 index 0000000000..9a30c3f3d3 --- /dev/null +++ b/microshift_install_bootc/microshift-install-rhel-image-mode.adoc @@ -0,0 +1,43 @@ +:_mod-docs-content-type: ASSEMBLY +[id="microshift-install-rhel-image-mode"] += Using image mode for RHEL with {microshift-short} +include::_attributes/attributes-microshift.adoc[] +:context: microshift-install-rhel-image-mode + +toc::[] + +You can embed {microshift-short} into an operating system image using image mode for {op-system-base-full}. + +:FeatureName: Image mode for {op-system} + +include::snippets/technology-preview.adoc[] + +include::modules/microshift-install-rhel-image-mode-conc.adoc[leveloffset=+1] + +include::modules/microshift-install-rhel-image-mode-build-image.adoc[leveloffset=+1] + +include::modules/microshift-install-rhel-image-mode-publish-image.adoc[leveloffset=+1] + +[id="microshift-install-rhel-image-mode-configure-nw-s_{context}"] +== Configuring networking and storage to run {microshift-short} in a bootc container + +include::modules/microshift-install-rhel-image-mode-cni.adoc[leveloffset=+2] + +include::modules/microshift-install-rhel-image-mode-csi-vg.adoc[leveloffset=+2] + +//additional resources for storage module +[id="_additional-resources_{context}"] +.Additional resources +* xref:../microshift_storage/microshift-storage-plugin-overview.adoc#microshift-storage-plugin-overview[Dynamic storage using the LVMS plugin] + +include::modules/microshift-install-rhel-image-mode-csi-vgloop.adoc[leveloffset=+2] + +include::modules/microshift-install-rhel-image-mode-run-container.adoc[leveloffset=+1] + +include::modules/microshift-install-rhel-image-mode-csi-vgcleanup.adoc[leveloffset=+1] + +[id="_additional-resources_microshift-install-rhel-image-mode_{context}"] +== Additional resources +* link:https://developers.redhat.com/products/rhel-image-mode/getting-started[Image mode for Red Hat Enterprise Linux learning exercises] + +* link:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_image_mode_for_rhel_to_build_deploy_and_manage_operating_systems/index[Using image mode for RHEL to build, deploy, and manage operating systems] \ No newline at end of file diff --git a/microshift_install_bootc/modules b/microshift_install_bootc/modules new file mode 120000 index 0000000000..43aab75b53 --- /dev/null +++ b/microshift_install_bootc/modules @@ -0,0 +1 @@ +../modules/ \ No newline at end of file diff --git a/microshift_install_bootc/snippets b/microshift_install_bootc/snippets new file mode 120000 index 0000000000..9d58b92e50 --- /dev/null +++ b/microshift_install_bootc/snippets @@ -0,0 +1 @@ +../snippets/ \ No newline at end of file diff --git a/modules/microshift-install-rhel-image-mode-build-image.adoc b/modules/microshift-install-rhel-image-mode-build-image.adoc new file mode 100644 index 0000000000..121d8718bd --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-build-image.adoc @@ -0,0 +1,110 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-build-image_{context}"] += Building the bootc image + +Build your {op-system-base-full} that contains {microshift-short} as a bootable container image by using a Containerfile. + +[IMPORTANT] +==== +Image mode for {op-system} is Technology Preview. Using a bootc image in production environments is not supported. +==== + +.Prerequisites +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. +* The `rhocp` and `fast-datapath` repositories are accessible in the host subscription. The repositories do not necessarily need to be enabled on the host. +* You have a remote registry such as link:https://quay.io[Red Hat quay] for storing and accessing bootc images. + +.Procedure + +. Create a Containerfile that includes the following instructions: ++ +.Example Containerfile for {op-system} image mode +[source,text] +---- +FROM registry.redhat.io/rhel9/rhel-bootc:9.4 + +ARG USHIFT_VER=4.16 +RUN dnf config-manager \ + --set-enabled rhocp-${USHIFT_VER}-for-rhel-9-$(uname -m)-rpms \ + --set-enabled fast-datapath-for-rhel-9-$(uname -m)-rpms +RUN dnf install -y firewalld microshift && \ + systemctl enable microshift && \ + dnf clean all + +# Create a default 'redhat' user with the specified password. +# Add it to the 'wheel' group to allow for running sudo commands. +ARG USER_PASSWD +RUN if [ -z "${USER_PASSWD}" ] ; then \ + echo USER_PASSWD is a mandatory build argument && exit 1 ; \ + fi +RUN useradd -m -d /var/home/redhat -G wheel redhat && \ + echo "redhat:${USER_PASSWD}" | chpasswd + +# Mandatory firewall configuration +RUN firewall-offline-cmd --zone=public --add-port=22/tcp && \ + firewall-offline-cmd --zone=trusted --add-source=10.42.0.0/16 && \ + firewall-offline-cmd --zone=trusted --add-source=169.254.169.1 + +# Create a systemd unit to recursively make the root filesystem subtree +# shared as required by OVN images +RUN cat > /etc/systemd/system/microshift-make-rshared.service <<'EOF' +[Unit] +Description=Make root filesystem shared +Before=microshift.service +ConditionVirtualization=container +[Service] +Type=oneshot +ExecStart=/usr/bin/mount --make-rshared / +[Install] +WantedBy=multi-user.target +EOF +RUN systemctl enable microshift-make-rshared.service +---- ++ +[IMPORTANT] +==== +Podman uses the host subscription information and repositories inside the container when building the container image. If the `rhocp` and `fast-datapath` repositories are not available on the host, the build fails. +==== + +. Create a local bootc image by running the following image build command: ++ +[source,terminal] +---- +PULL_SECRET=~/.pull-secret.json +USER_PASSWD= # <1> +IMAGE_NAME=microshift-4.16-bootc + +$ sudo podman build --authfile "${PULL_SECRET}" -t "${IMAGE_NAME}" \ + --build-arg USER_PASSWD="${USER_PASSWD}" \ + -f Containerfile +---- +<1> Replace __ with your password. ++ +[NOTE] +==== +How secrets are used during the image build: + +* The podman `--authfile` argument is required to pull the base `rhel-bootc:9.4` image from the `registry.redhat.io` registry. +* The build `USER_PASSWD` argument is used to set a password for the `redhat` user. +==== + +.Verification + +. Verify that the local {microshift} bootc image was created by running the following command: ++ +[source,terminal] +---- +$ sudo podman images "${IMAGE_NAME}" +---- ++ +.Example output +[source,text] +---- +REPOSITORY TAG IMAGE ID CREATED SIZE +localhost/microshift-4.16-bootc latest 193425283c00 2 minutes ago 2.31 GB +---- diff --git a/modules/microshift-install-rhel-image-mode-cni.adoc b/modules/microshift-install-rhel-image-mode-cni.adoc new file mode 100644 index 0000000000..62d9abbadd --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-cni.adoc @@ -0,0 +1,63 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-run-image-cni_{context}"] += Configuring the {microshift-short} bootc image for the CNI + +Configure a workaround for a kernel mismatch to enable the {microshift-short} OVN-Kubernetes (OVN-K) Container Network Interface (CNI). + +[IMPORTANT] +==== +The {microshift-short} OVN-K CNI requires the `openvswitch` kernel module to be available in the bootc image. A bootc image is started as a container that uses the host kernel. The host kernel might be different from the one used for building the image, resulting in a mismatch. A kernel version mismatch with the modules present in the `/lib/modules` directory means that the `openvswitch` module cannot be loaded in the container and the container fails to run. You can work around this problem by pre-loading the `openvswitch` module on the host. +==== + +.Prerequisites + +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. + +.Procedure + +. Check if the `openvswitch` module is available for the current host kernel version by running the following command: ++ +[source,terminal] +---- +$ find /lib/modules/$(uname -r) -name "openvswitch*" +---- ++ +.Example output +[source,terminal] +---- +/lib/modules/5.14.0-427.28.1.el9_4.x86_64/kernel/net/openvswitch +/lib/modules/5.14.0-427.28.1.el9_4.x86_64/kernel/net/openvswitch/openvswitch.ko.xz +---- + +. Set the `IMAGE_NAME` environment variable by running the following command: ++ +[source,termimal] +---- +$ IMAGE_NAME=microshift-4.16-bootc +---- + +. Check the version of the kernel-core `package` used in the bootc image by running the following command: ++ +[source,terminal] +---- +$ sudo podman inspect "${IMAGE_NAME}" | grep kernel-core +---- ++ +.Example output +[source,terminal] +---- +"created_by": "kernel-core-5.14.0-427.26.1.el9_4.x86_64" # <1> +---- +<1> The kernel version does not match the output of the `/lib/modules` directory. ++ +. Preinstall the `openvswitch` module on the host as a workaround by running the following command: ++ +[source,terminal] +---- +$ sudo modprobe openvswitch +---- diff --git a/modules/microshift-install-rhel-image-mode-conc.adoc b/modules/microshift-install-rhel-image-mode-conc.adoc new file mode 100644 index 0000000000..8d6c5fd0a4 --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-conc.adoc @@ -0,0 +1,39 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: CONCEPT +[id="microshift-rhel-image-mode-conc_{context}"] += Image mode for {op-system-base-full} + +Image mode for {op-system-base-full} is a Technology Preview deployment method that uses a container-native approach to build, deploy, and manage the operating system as a bootc image. By using bootc, you can build, deploy, and manage the operating system as if it is any other container. + +* This container image uses standard OCI or Docker containers as a transport and delivery format for base operating system updates. +* A bootc image includes a Linux kernel that is used to start the operating system. +* By using bootc containers, developers, operations administrators, and solution providers can all use the same container-native tools and techniques. + +Image mode splits the creation and installation of software changes into two steps: one on a build system and one on a running target system. + +* In the build-system step, a Podman build inspects the RPM files available for installation, determines any dependencies, and creates an ordered list of chained steps to complete, with the end result being a new operating system available to install. + +* In the running-target-system step, a bootc update downloads, unpacks, and makes the new operating system bootable alongside the currently running system. Local configuration changes are carried forward to the new operating system, but do not take effect until the system is rebooted and the new operating system image replaces the running image. + +[id="microshift-install-rhel-image-mode-conc_{context}"] +== Using image mode for {op-system} with {microshift-short} + +To use image mode for {op-system}, ensure that the following resources are available: + +* A {op-system} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images. +* A remote registry for storing and accessing bootc images. +* You can use image mode for RHEL with a {microshift-short} cluster on AArch64 or x86_64 system architectures. + +The workflow for using image mode with {microshift-short} includes the following steps: + +. Build the {microshift-short} bootc image. +. Publish the image. +. Run the image. This step includes configuring {microshift-short} networking and storage. + +[IMPORTANT] +==== +The `rpm-ostree` file system is not supported in image mode and must not be used to make changes to deployments that use image mode. +==== diff --git a/modules/microshift-install-rhel-image-mode-csi-vg.adoc b/modules/microshift-install-rhel-image-mode-csi-vg.adoc new file mode 100644 index 0000000000..7068d3b50f --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-csi-vg.adoc @@ -0,0 +1,41 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-csi-vg_{context}"] += Checking the host configuration for the {microshift-short} CSI + +If the host is already configured to have a volume group with free space, this configuration is inherited by the container. It can be used by the {microshift-short} Logical Volume Manager (LVM) Container Storage Interface (CSI) to allocate storage. + +.Prerequisites + +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. + +.Procedure + +. Determine if the volume group exists and it has the necessary free space by running the following command: ++ +[source,terminal] +---- +$ sudo vgs +---- ++ +.Example output for existing volume group +[source,terminal] +---- + VG #PV #LV #SN Attr VSize VFree # <1> + rhel 1 1 0 wz--n- <91.02g <2.02g +---- +<1> If no free volume group is present, the output is either empty or the `VFree` value is 0. ++ +[NOTE] +==== +If the host has a volume group with the available needed storage, you can run your container now. You do not need to configure the {microshift-short} CSI further. +==== ++ +[IMPORTANT] +==== +If you do not have a volume group, you must set one up for the LVM CSI to allocate storage in bootc {microshift-short} containers. See the additional resources for more information. +==== diff --git a/modules/microshift-install-rhel-image-mode-csi-vgcleanup.adoc b/modules/microshift-install-rhel-image-mode-csi-vgcleanup.adoc new file mode 100644 index 0000000000..b9c9342079 --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-csi-vgcleanup.adoc @@ -0,0 +1,32 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-csi-vgcleanup_{context}"] += Cleaning up container storage for the bootc image and the {microshift-short} CSI + +You can remove an additional LVM volume group loop device that was shared with the container and used by the {microshift-short} Logical Volume Manager (LVM) Container Storage Interface (CSI). + +.Prerequisites + +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. + +.Procedure + +. Clean up the loop device and additional volume group by using the following commands: ++ +.. Detach the loop device by entering the following command: ++ +[source,terminal] +---- +$ sudo losetup -d "${VGLOOP}" +---- + +.. Delete the LVM volume group file by entering the following command: ++ +[source,terminal] +---- +$ sudo rm -f "${VGFILE}" +---- diff --git a/modules/microshift-install-rhel-image-mode-csi-vgloop.adoc b/modules/microshift-install-rhel-image-mode-csi-vgloop.adoc new file mode 100644 index 0000000000..67d1c56bfb --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-csi-vgloop.adoc @@ -0,0 +1,55 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-csi_{context}"] += Configuring container storage for the bootc image and the {microshift-short} CSI + +Use this procedure when a volume group with the necessary storage is not available on the host. Create and allocate an additional LVM volume group loop device to be shared with the container and used by the {microshift-short} Logical Volume Manager (LVM) Container Storage Interface (CSI). + +[NOTE] +==== +If you found a volume group with adequate space when you checked the host configuration for the {microshift-short} CSI, you do not need to complete this step. Proceed to running your bootc image. +==== + +.Prerequisites + +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. + +.Procedure + +. Create a file to be used for LVM partitioning by running the following command: ++ +[source,terminal] +---- +VGFILE=/var/lib/microshift-lvm-storage.img + +sudo losetup -f "${VGFILE}" +---- + +. Resize the file to your specified size by running the following command: ++ +[source,terminal] +---- +VGSIZE=1G # <1> + +$ sudo truncate --size="${VGSIZE}" "${VGFILE}" +---- +<1> Specify the size for the file. + +. Query the loop device name by running the following command: ++ +[source,terminal] +---- +$ VGLOOP=$(losetup -j ${VGFILE} | cut -d: -f1) +---- + +. Create a free volume group on the loop device by running the following command: ++ +[source,terminal] +---- +$ sudo vgcreate -f -y "${VGLOOP}" # <1> +---- +<1> Replace __ with the name of the volume group you are creating. \ No newline at end of file diff --git a/modules/microshift-install-rhel-image-mode-publish-image.adoc b/modules/microshift-install-rhel-image-mode-publish-image.adoc new file mode 100644 index 0000000000..6ee77a1ec9 --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-publish-image.adoc @@ -0,0 +1,43 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-publish-image_{context}"] += Publishing the bootc image to the remote registry + +Publish your bootc image to the remote registry so that the image can be used for running the container on another host, or for when you want to install a new operating system with the bootc image layer. + +.Prerequisites + +* You are logged in to the {op-system} 9.4 host where the image was built using the user credentials that have `sudo` permissions. +* You have a remote registry such as link:https://quay.io[Red Hat quay] for storing and accessing bootc images. +* You created the Containerfile and built the image. + +.Procedure + +. Log in to your remote registry by running the following command: ++ +[source,terminal] +---- +REGISTRY_URL=quay.io + +$ sudo podman login "${REGISTRY_URL}" # <1> +---- +<1> Replace _REGISTRY_URL_ with the URL for your registry. + +. Publish the image by running the following command: ++ +[source,terminal] +---- +REGISTRY_IMG=/"${IMAGE_NAME}" # <1> <2> +IMAGE_NAME= # <3> + +$ sudo podman push localhost/"${IMAGE_NAME}" "${REGISTRY_URL}/${REGISTRY_IMG}" +---- +<1> Replace __ with your remote registry organization name and path. +<2> Replace __ with the name of the image you want to publish. + +.Verification + +. Run the container using the image you pushed to your registry as described in the "Running the {microshift-short} bootc container" section. diff --git a/modules/microshift-install-rhel-image-mode-run-container.adoc b/modules/microshift-install-rhel-image-mode-run-container.adoc new file mode 100644 index 0000000000..6dc3b28344 --- /dev/null +++ b/modules/microshift-install-rhel-image-mode-run-container.adoc @@ -0,0 +1,66 @@ +// Module included in the following assemblies: +// +// microshift_install_bootc/microshift-install-rhel-image-mode.adoc + +:_mod-docs-content-type: PROCEDURE +[id="microshift-rhel-image-mode-run-container_{context}"] += Running the {microshift-short} bootc container + +Run your {microshift-short} bootc container to explore its reduced complexity and experiment with new capabilities and dependencies. + +.Prerequisites + +* A {op-system-base-full} 9.4 host with an active Red Hat subscription for building {microshift-short} bootc images and running containers. +* You are logged into the {op-system} 9.4 host using the user credentials that have `sudo` permissions. +* You have a pull secret file for downloading the required {microshift-short} container images. + +.Procedure + +. Run the container for the {microshift-short} service by entering the following command: ++ +[source,terminal] +---- +PULL_SECRET=~/.pull-secret.json +IMAGE_NAME=microshift-4.16-bootc + +$ sudo podman run --rm -it --privileged \ + -v "${PULL_SECRET}":/etc/crio/openshift-pull-secret:ro \ + -v /var/lib/containers/storage:/var/lib/containers/storage \ + --name "${IMAGE_NAME}" \ + "${IMAGE_NAME}" +---- ++ +[NOTE] +==== +The `systemd-modules-load` service fails to start in the container if the host kernel version is different from the bootc image kernel version. This failure can be safely ignored as all the necessary kernel modules have been loaded by the host. +==== + +. A login prompt is presented in the terminal after {microshift-short} has started. + +. Log into the running container using the your user credentials. + +. Verify that all the {microshift-short} pods are up and running without errors by running the following command: ++ +[source,terminal] +---- +$ watch sudo oc get pods -A \ + --kubeconfig /var/lib/microshift/resources/kubeadmin/kubeconfig +---- ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME READY STATUS RESTARTS AGE +kube-system csi-snapshot-controller-7cfb9df49c-kc9dx 1/1 Running 0 31s +kube-system csi-snapshot-webhook-5c6b978878-jzk5r 1/1 Running 0 28s +openshift-dns dns-default-rpnlt 2/2 Running 0 14s +openshift-dns node-resolver-rxvdk 1/1 Running 0 31s +openshift-ingress router-default-69cd7b5545-7zcw7 1/1 Running 0 29s +openshift-ovn-kubernetes ovnkube-master-c7hlh 4/4 Running 1 (16s ago) 31s +openshift-ovn-kubernetes ovnkube-node-mkpht 1/1 Running 1 (17s ago) 31s +openshift-service-ca service-ca-5d5d96459d-5pd5s 1/1 Running 0 28s +openshift-storage topolvm-controller-677cbfcdb9-28dqr 5/5 Running 0 31s +openshift-storage topolvm-node-6fzbl 3/3 Running 0 14s +---- + +. Now you can use your {microshift-short} running in the container the same way you can use any other {microshift-short} cluster.