Repository Mirror#
A DNF/Yum repository mirror hosts rpm packages from which the cluster’s systems retrieve and installs OS and application updates from. Having a local repository mirror has multiple benefits and faciliates scheduled patching in addition to reducing network traffic to the internet. A DNF/Yum repository mirror can also be the only system in the cluster that needs an output bound internet connection.
The repository mirror has been configured to mirror all of the repositories used in these guides. All nodes in the cluster will need to be individually configured based on their role.
Operating Systems#
These guides are compatible with AlmaLinux 8 and Rocky Linux 8. Other solutions are available for Red Hat Enterprise Linux.
Access Controls#
The node hosting the repository mirror should only be accessed directly using SSH by system administrators. Standard cluster user accounts should not be able to SSH into the repository mirror node.
Hostnames#
These guides use the following example Hostnames and FQDN for the node hosting the repository mirror. FQDNs can be provided by utilizing a DNS server or installing a hosts file on the system itself.
Note
An example /etc/hosts
file has been provided: hosts
Server#
The repository mirror is deployed on the following node:
Hostname |
FQDN |
Function |
Type |
IPv4 Address |
---|---|---|---|---|
mirror |
mirror.engwsc.example.com |
Repository Mirror |
VM Guest |
192.168.1.88 |
Clients#
The nodes utilizing the repository mirror for updates are the following:
Hostname |
FQDN |
Function |
Type |
IPv4 Address |
---|---|---|---|---|
nfs01 |
nfs01.engwsc.example.com |
NFS Storage |
Bare-Metal |
192.168.1.50 |
vmm01 |
vmm01.engwsc.example.com |
VM Manager 1 |
Bare-Metal |
192.168.1.51 |
vmm02 |
vmm02.engwsc.example.com |
VM Manager 2 |
Bare-Metal |
192.168.1.52 |
user01 |
user01.engwsc.example.com |
User Node 1 |
Bare-Metal |
192.168.1.60 |
user02 |
user02.engwsc.example.com |
User Node 2 |
Bare-Metal |
192.168.1.61 |
user03 |
user03.engwsc.example.com |
User Node 3 |
Bare-Metal |
192.168.1.62 |
user04 |
user04.engwsc.example.com |
User Node 4 |
Bare-Metal |
192.168.1.63 |
comp01 |
comp01.engwsc.example.com |
Compute Node 1 |
Bare-Metal |
192.168.1.64 |
comp02 |
comp02.engwsc.example.com |
Compute Node 2 |
Bare-Metal |
192.168.1.65 |
comp03 |
comp03.engwsc.example.com |
Compute Node 3 |
Bare-Metal |
192.168.1.66 |
comp04 |
comp04.engwsc.example.com |
Compute Node 4 |
Bare-Metal |
192.168.1.67 |
idm |
idm.engwsc.example.com |
Identity Management |
VM Guest |
192.168.1.80 |
gitlab |
gitlab.engwsc.example.com |
GitLab CE |
VM Guest |
192.168.1.81 |
slurm |
slurm.engwsc.example.com |
Slurm Controller |
VM Guest |
192.168.1.82 |
graylog |
graylog.engwsc.example.com |
Graylog Open |
VM Guest |
192.168.1.83 |
ansible |
ansible.engwsc.example.com |
Ansible Control Node |
VM Guest |
192.168.1.84 |
influxdb |
influxdb.engwsc.example.com |
InfluxDB |
VM Guest |
192.168.1.85 |
grafana |
grafana.engwsc.example.com |
Grafana |
VM Guest |
192.168.1.86 |
docker |
docker.engwsc.example.com |
Docker Host |
VM Guest |
192.168.1.87 |
Each client may have a different set of repositories enabled depending on the nodes configuration. The following is a list of repositories that should be enabled for each node:
Hostname |
Repositories |
---|---|
nfs01 |
baseos, appstream, extras, influxdb |
vmm01 |
baseos, appstream, extras, influxdb |
vmm02 |
baseos, appstream, extras, influxdb |
user01 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
user01 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
user03 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
user04 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
comp01 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
comp02 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
comp03 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
comp04 |
baseos, appstream, extras, epel, epel-modular, powertools, influxdb |
idm |
baseos, appstream, extras, influxdb |
gitlab |
baseos, appstream, extras, gitlab_gitlab-ce, influxdb |
slurm |
baseos, appstream, extras, powertools, influxdb |
graylog |
baseos, appstream, extras, epel, mongodb-org-6.0, elasticsearch-7.x, graylog, influxdb |
ansible |
baseos, appstream, extras, powertools, epel, epel-modular, influxdb |
influxdb |
baseos, appstream, extras, influxdb |
grafana |
baseos, appstream, extras, grafana, influxdb |
docker |
baseos, appstream, extras, influxdb |
Guides#
The following guides are required to deploy the repository mirror:
The following guides are required to configure systems to utilzie the repository mirror: