mirror of
https://github.com/ClusterCockpit/cc-docker.git
synced 2026-09-02 04:47:15 +02:00
Add Keycloak realm import and LDAP role groups
- Auto-import the clustercockpit realm on Keycloak start - Rewrite the generated LDAP directory with cc-* role groups and dev users - Move config.json to the main/nats/auth schema; cc-backend now on :8088 - Add resetDev.sh to tear down containers, volumes and generated data - Bump cc-metric-store build image to golang 1.26.4 - Ignore all of data/ (generated by dataGenerationScript.sh) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-20
@@ -4,15 +4,11 @@
|
||||
|
||||
Use [Docker](https://www.docker.com/) to explore the various components of [Slurm](https://www.schedmd.com/index.php)
|
||||
|
||||
This work represents a small exploratory Slurm cluster using CentOS 7 based Docker images. The intent was to learn the basics of Slurm prior to extending the concept to a more distributed environment.
|
||||
This work represents a small exploratory Slurm cluster using AlmaLinux 9 based Docker images.
|
||||
|
||||
Images include:
|
||||
|
||||
- [Slurm 19.05.1](https://slurm.schedmd.com) - installed from [rpm packages](packages)
|
||||
- [OpenMPI 3.0.1](https://www.open-mpi.org/doc/current/) - installed from [rpm packages](packages)
|
||||
- [Lmod 7.7](http://lmod.readthedocs.io/en/latest/index.html) - installed from [distribution files](https://sourceforge.net/projects/lmod/files/)
|
||||
- [Lmod module packages for CentOS 7](https://github.com/scidas/lmod-modules-centos) - Organized for Slurm-in-Docker use
|
||||
- [Using Lmod with Slurm-in-Docker](using-lmod-with-slurm-in-docker.md) documentation
|
||||
- [Slurm 24.05.3](https://slurm.schedmd.com) - built from source RPMs inside the container
|
||||
|
||||
## Contents
|
||||
|
||||
@@ -63,33 +59,24 @@ TODO: Have software check validity of custom configuration files.
|
||||
|
||||
## Build
|
||||
|
||||
Build the slurm RPM files by following the instructions in the [packages](packages) directory.
|
||||
|
||||
**Create the base Slurm image**:
|
||||
|
||||
Copy the `packages/centos-7/rpms` directory to the `base` directory
|
||||
|
||||
```
|
||||
cd base/
|
||||
cp -r ../packages/centos-7/rpms .
|
||||
make
|
||||
```
|
||||
|
||||
Build the base image
|
||||
|
||||
```
|
||||
docker build -t scidas/slurm.base:19.05.1 .
|
||||
```
|
||||
This builds `clustercockpit/slurm.base:24.05.3` from AlmaLinux 9, compiling Slurm RPMs from source with JWT and slurmrestd support.
|
||||
|
||||
Verify image build
|
||||
|
||||
```console
|
||||
$ docker images
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
scidas/slurm.base 19.05.1 1600621cb483 Less than a second ago 819MB
|
||||
...
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
clustercockpit/slurm.base 24.05.3 ...
|
||||
```
|
||||
|
||||
All images defined in `docker-compose.yml` will be built from the `scidas/slurm.base:19.05.1` base image
|
||||
All images defined in `docker-compose.yml` are built from the `clustercockpit/slurm.base:24.05.3` base image
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
FROM rockylinux:8
|
||||
FROM almalinux:9
|
||||
LABEL org.opencontainers.image.authors="jan.eitzinger@fau.de"
|
||||
|
||||
ENV SLURM_VERSION=24.05.3
|
||||
ENV HTTP_PARSER_VERSION=2.8.0
|
||||
|
||||
RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||
RUN ARCH=$(uname -m) && yum install -y https://rpmfind.net/linux/almalinux/8.10/PowerTools/$ARCH/os/Packages/http-parser-devel-2.8.0-9.el8.$ARCH.rpm
|
||||
RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
|
||||
RUN groupadd -g 981 munge \
|
||||
&& useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u 981 -g munge -s /sbin/nologin munge \
|
||||
@@ -18,11 +16,11 @@ RUN yum install -y munge munge-libs rng-tools \
|
||||
python3 gcc openssl openssl-devel \
|
||||
openssh-server openssh-clients dbus-devel \
|
||||
pam-devel numactl numactl-devel hwloc sudo \
|
||||
lua readline-devel ncurses-devel man2html \
|
||||
autoconf automake json-c-devel libjwt-devel \
|
||||
lua readline-devel ncurses-devel \
|
||||
autoconf automake libjwt-devel \
|
||||
libibmad libibumad rpm-build perl-ExtUtils-MakeMaker.noarch rpm-build make wget
|
||||
|
||||
RUN dnf --enablerepo=powertools install -y munge-devel rrdtool-devel lua-devel hwloc-devel mariadb-server mariadb-devel
|
||||
RUN dnf --enablerepo=crb install -y munge-devel rrdtool-devel lua-devel hwloc-devel mariadb-server mariadb-devel http-parser-devel json-c-devel
|
||||
|
||||
RUN mkdir -p /usr/local/slurm-tmp \
|
||||
&& cd /usr/local/slurm-tmp \
|
||||
|
||||
Reference in New Issue
Block a user