Deploy on openSUSE Leap Micro 5.5

1. Deployment preparations

In this section, you will gain expertise in setting up and deploying a SUSE Manager Server. The process encompasses the installation of Podman, Uyuni container utilities, deployment, and then initiating interaction with the container through mgrctl.

This section assumes you have already configured an openSUSE Leap Micro 5.5 host server, whether it is running on a physical machine or within a virtual environment.

2. Container Host general requirements

For general requirements, see General requirements.

An openSUSE Leap Micro 5.5 server should be installed from installation media. This procedure is described below.

3. Container Host Requirements

For CPU, RAM, and storage requirements, see Hardware requirements.

To guarantee that clients can resolve the FQDN domain name, both the containerized server and the host machines must be linked to a functional DNS server. Additionally, it is essential to ensure correct configuration of reverse lookups.

4. Installing Uyuni tools for use with containers

Procedure: Installing Uyuni Tools on openSUSE Leap Micro 5.5
  1. On your local host open a terminal window or start up a virtual machine running openSUSE Leap Micro 5.5.

  2. Login.

  3. Enter the transactional-update shell:

    transactional-update shell
  4. Add the following repository to your openSUSE Leap Micro 5.5 server:

    zypper ar https://download.opensuse.org/repositories/systemsmanagement:/Uyuni:/Stable:/ContainerUtils/openSUSE_Leap_Micro_5.5/systemsmanagement:Uyuni:Stable:ContainerUtils.repo
  5. Refresh the repository list and accept the key:

    zypper ref
  6. Install the container tools:

    zypper in mgradm mgrctl mgradm-bash-completion mgrctl-bash-completion netavark
  7. Exit the transactional shell:

    transactional update # exit
  8. Reboot the host.

For more information on the Uyuni Container Utilities, see Uyuni Container Utilities.

5. Configure Custom Persistent Storage

This step is optional. However, if custom persistent storage is required for your infrastructure, use the mgr-storage-server tool.

  • For more information, see mgr-storage-server --help. This tool simplifies creating the container storage and database volumes.

Use the command in the following manner:

+

mgr-storage-server <storage-disk-device> [<database-disk-device>]

For example:

mgr-storage-server /dev/nvme1n1 /dev/nvme2n1

+

This command will create the persistent storage volumes at /var/lib/containers/storage/volumes.

For more information, see List of persistent storage volumes.

6. Deploying an Uyuni container with Podman

6.1. mgradm overview

SUSE Manager is deployed as a container using the mgradm tool. There are two methods of deploying a SUSE Manager server as a container. In this section we will focus on basic container deployment.

For information on using a custom configuration file to deploy, see Custom YAML Configuration and Deployment with mgradm.

For additional information, you can explore further by running mgradm --help from the command line.

Procedure: Deploying an Uyuni container with Podman
  1. From the terminal run the following command as the sudo user or as root.

    sudo mgradm install podman

    You must deploy the container as sudo or root. The following error will be displayed at the terminal if you miss this step.

    INF Setting up uyuni network
    9:58AM INF Enabling system service
    9:58AM FTL Failed to open /etc/systemd/system/uyuni-server.service for writing error="open /etc/systemd/system/uyuni-server.service: permission denied"
  2. Wait for deployment to complete.

  3. Open a browser and proceed to your servers FQDN.

In this section you learned how to deploy an SUSE Manager Server container.

6.2. Persistent volumes

Many users will want to specify locations for their persistent volumes.

If you are just testing out SUSE Manager you do not need to specify these volumes. mgradm will setup the correct volumes by default.

Specifying volume locations will generally be used for larger production deployments.

By default podman stores its volumes in /var/lib/containers/storage/volumes/.

You can provide custom storage for the volumes by mounting disks on this path or the expected volume path inside it such as: /var/lib/containers/storage/volumes/var-spacewalk. This is especially important for the database and package mirrors.

For a list of all persistent volumes in the container, see * List of persistent storage volumes * Troubleshooting Container with Full Disk Event