Install Containerized SUSE Manager Proxy

Only SUSE Linux Enterprise Server 15 SP3 and newer are supported to be used as container host for SUSE Manager Proxy containers.

The container host must be connected to the manager as a Salt client. Connecting the container host as a traditional client will not work because required packages will not be available.

1. Container Host Requirements

Table 1. Proxy Container Host Hardware Requirements
Hardware Details Recommendation

CPU

Minimum 2 dedicated 64-bit CPU cores

RAM

Test Server

Minimum 2 GB

Production Server

Minimum 8 GB

Disk Space

Minimum 100 GB

Table 2. Proxy Container Host Software Requirements
Software Details Remark

Connection method

Salt

Host must be configured as a Salt client

To ensure that the SUSE Manager domain name can be resolved by its clients, both container proxy and client machines must be connected to a working DNS server. You also need to ensure that reverse lookups are correctly configured.

2. Install Container Services on the host system

Container host to be used as a base for SUSE Manager Proxy containers needs to be first registered as a Salt client to the SUSE Manager Server.

For more information about registering Salt client to the SUSE Manager Server, see Client Registration.

Containers Module is required to be available for container host.

SUSE Manager Proxy containers are using podman and systemd to run and manage all proxy containers.

First step is to install container control files provided by package uyuni-proxy-systemd-services.

Procedure: Installation Of Container Services For SUSE Manager Proxy
  1. Assign Containers Module software channel to the container host in the SUSE Manager.

    For more information about assigning software channels to the system, see Channel Management.

  2. Log in as root on the container host.

  3. Manually install SUSE Manager Proxy service package:

    zypper install uyuni-proxy-systemd-services

3. Customize SUSE Manager Proxy configuration

SUSE Manager Proxy containers require some volumes to be mounted for long term storage. Those volumes are automatically created by podman and can be listed using the podman volume ls command. By default, podman stores the files of the volumes in /var/lib/containers/storage/volumes. The needed volume are named:

  • uyuni-proxy-squid-cache

  • uyuni-proxy-rhn-cache

  • uyuni-proxy-tftpboot

To override the default volume settings, create the volumes prior to the first start of the pod using the podman volume create command.

In the /etc/sysconfig/uyuni-proxy-systemd-services.config file it is possible to add custom arguments passed to podman container pod:

  • EXTRA_POD_ARGS=''

In this file it is possible to modify the tag to use for the container images:

  • TAG=latest

Do not change the TAG value without knowing what you are doing or having been instructed to do it.

3.1. Using a custom container image for a service

By default, the SUSE Manager Proxy suite is set to use the same image version and registry path for each of its services. However, it is possible to override the default values for a specific service. The uyuni-proxy CLI bundled with the package, has an update image command with the following parameters:

  • -s for the service name

  • -t for the version tag

  • -r for the registry path

For example, use it like this:

uyuni-proxy update image -s httpd -t 0.1.0 -r registry.opensuse.org/uyuni

It would adjust a configuration file for the httpd service, taking registry.opensuse.org/uyuni as the registry and 0.1.0 as the version tag and then restart it.

To reset the values to defaults, run the proxy reset command, specifying the service with the -s parameter. For example, use it like this:

uyuni-proxy reset -s httpd

This command would reset the configuration of the httpd service to the global defaults and then restart it.

For more information, see the uyuni-proxy --help.

4. Allow network access for provided services on container host firewall

SUSE Manager Proxy containers work as so called node-port service. This means proxy container pod shares container host network TCP and UDP port space. For this reason container host firewall must be configured to accept incoming traffic on ports used by SUSE Manager Proxy containers. Those ports are:

  • 69/UDP - TFTP

  • 80/TCP - HTTP

  • 443/TCP - HTTPS

  • 4505/TCP - Salt

  • 4506/TCP - Salt

  • 8022/TCP - SSH

Continue with setting up the installed SUSE Manager Proxy as a containers at Containerized SUSE Manager Proxy Setup.