소스 검색

preparation

Signed-off-by: Jean-Michel Batto <jean-michel.batto@eldarsoft.com>
Jean-Michel Batto 4 주 전
부모
커밋
0c2806d1b4

+ 247 - 0
PPCS-CM3-2025/docker-compose.yml

@@ -0,0 +1,247 @@
+# docker swarm init, then you have to do // note version_mpinet is the name of the overlay
+# on veut --driver=bridge 
+# NAT simple, non multinoeud (pas d'overlay)
+# docker network create --attachable yml_mpinet
+# Dec, 12, 2025 - Jean-Michel Batto
+
+services:
+  mysql:
+    image: mariadb:10.10
+    hostname: mysql
+    container_name: mysql
+    environment:
+      MARIADB_ROOT_PASSWORD: password
+      MARIADB_DATABASE: slurm_acct_db
+      MARIADB_USER: slurm
+      MARIADB_PASSWORD: password
+    volumes:
+      - var_lib_mysql:/var/lib/mysql
+    ports:
+      - "3306:3306"
+    networks:
+      - mpinet
+  slurmdbd:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    container_name: slurmdbd
+    hostname: slurmdbd
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - var_log_slurm:/var/log/slurm
+    environment:
+      - SLURMPARAM=slurmdbd
+    expose:
+      - "6819"
+    healthcheck:
+      test: ["CMD-SHELL", "netstat -tuln | grep 6819 || /bin/bash -c 'echo \"/usr/sbin/slurmdbd -Dvvv\" | grep slurmdbd'"]
+      interval: 10s
+      timeout: 5s
+      retries: 10
+      start_period: 20s
+    depends_on:
+      - mysql
+    shm_size: "512m"
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+    networks:
+      - mpinet
+  slurmctld:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    container_name: slurmctld
+    hostname: slurmctld
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - slurm_jobdir:/data
+      - var_log_slurm:/var/log/slurm
+      - usrlocalvarmpi-foo:/usr/local/var/mpishare
+    environment:
+      - SLURMPARAM=slurmctld
+    expose:
+      - "6817"
+    depends_on:
+      slurmdbd:
+        condition: service_healthy
+    shm_size: "512m"
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+    networks:
+      - mpinet
+  c1:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    hostname: c1
+    container_name: c1
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - slurm_jobdir:/data
+      - var_log_slurm:/var/log/slurm
+      - usrlocalvarmpi-foo:/usr/local/var/mpishare
+    environment:
+      - SLURMPARAM=slurmd
+    expose:
+      - "6818"
+    depends_on:
+      - "slurmctld"
+    shm_size: "512m"
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+    networks:
+      - mpinet
+  c2:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    hostname: c2
+    container_name: c2
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - slurm_jobdir:/data
+      - var_log_slurm:/var/log/slurm
+      - usrlocalvarmpi-foo:/usr/local/var/mpishare
+    environment:
+      - SLURMPARAM=slurmd
+    expose:
+      - "6818"
+    depends_on:
+      - "slurmctld"
+    shm_size: "512m"
+    networks:
+      - mpinet
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+  c3:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    hostname: c3
+    container_name: c3
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - slurm_jobdir:/data
+      - var_log_slurm:/var/log/slurm
+      - usrlocalvarmpi-foo:/usr/local/var/mpishare
+    environment:
+      - SLURMPARAM=slurmd
+    expose:
+      - "6818"
+    depends_on:
+      - "slurmctld"
+    shm_size: "512m"
+    networks:
+      - mpinet
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+  c4:
+    image: jmbatto/m2chps-mpi41-slurm:latest
+    hostname: c4
+    container_name: c4
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock
+      - etc_munge:/etc/munge
+      #      - etc_slurm:/etc/slurm
+      - slurm_jobdir:/data
+      - var_log_slurm:/var/log/slurm
+      - usrlocalvarmpi-foo:/usr/local/var/mpishare
+    environment:
+      - SLURMPARAM=slurmd
+    expose:
+      - "6818"
+    depends_on:
+      - "slurmctld"
+    shm_size: "512m"
+    networks:
+      - mpinet
+    secrets:
+      - source: "id_rsa"
+        target: "/home/mpiuser/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/mpiuser/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/mpiuser/.ssh-source/authorized_keys"
+  vscode:
+    image: codercom/code-server:latest
+    container_name: vscode
+    hostname: vscode
+    ports: 
+      - "8081:8080" 
+    deploy:
+      mode: replicated
+      replicas: 1
+      resources:
+       limits:
+         memory: 512M
+    restart: always
+    volumes:
+        - /var/run/docker.sock:/var/run/docker.sock
+        - usrlocalvarmpi-foo:/usr/local/var/mpishare
+        - usrlocalvarmpi-foo:/home/coder
+    environment:
+        - PASSWORD=1234
+        - DOCKER_USER=mpiuser
+        - CODER_ACCESS_URL="http://localhost:8081"
+    user: "1001:1001"
+    networks:
+        - mpinet
+    secrets:
+      - source: "id_rsa"
+        target: "/home/coder/.ssh-source/id_rsa"
+      - source: "id_rsa_mpi_pub"
+        target: "/home/coder/.ssh-source/id_rsa.pub"
+      - source: "authorized_keys"
+        target: "/home/coder/.ssh-source/authorized_keys"
+      - source: "certif.sh"
+        target: "/home/coder/.ssh-source/certif.sh"
+      - source: "install_clang_format_go.sh"
+        target: "/home/coder/.ssh-source/install_clang_format_go.sh"
+secrets:
+  id_rsa_mpi_pub:
+    file: ssh/id_rsa.mpi.pub
+  id_rsa:
+    file: ssh/id_rsa.mpi
+  authorized_keys:
+    file: ssh/id_rsa.mpi.pub
+  certif.sh:
+    file: ssh/certif.sh
+  install_clang_format_go.sh:
+    file: ssh/install_clang_format_go.sh 
+networks:
+  mpinet:
+    external: true
+    name: yml_mpinet
+    driver: overlay
+volumes:
+  etc_munge:
+  #  etc_slurm:
+  slurm_jobdir:
+  var_lib_mysql:
+  var_log_slurm:
+  usrlocalvarmpi-foo:

+ 8 - 0
PPCS-CM3-2025/ssh/certif.sh

@@ -0,0 +1,8 @@
+#/bin/sh
+mkdir /home/coder/.ssh
+chmod 700 /home/coder/.ssh
+cp -R /home/coder/.ssh-source/* /home/coder/.ssh \
+        && chmod 700 /home/coder/.ssh/authorized_keys \
+        && chmod 700 /home/coder/.ssh/id_rsa \
+        && chown -R 1001:1001 /home/coder/.ssh
+exit 0

+ 27 - 0
PPCS-CM3-2025/ssh/id_rsa.mpi

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA7PWLZmgdJ508dD15T6+xqGDvL9Ehzo9SgsnN6xJ+qpUvvOi4
+1axW0AqR4MnPTg/uuvk+x4tUpuufOW4w22UTGjsdvmIVWa9ujLtcRiN3YPY+SU+Y
+O5FfqKg7r/hBn+/GMcSoffwSs7vVgmhBBnp/mJh2O1cOAFZEe98/47mbg3/kHBAk
+36NOQktaU3l48B38EhBTnjWfcEGm1HcTRPFxXV5Wiko6ZhKFEuHcTVKng4ROtUqE
+mgHyI0aB7TAxg4na0ejItsYWEPWGeDOw6ms/4MwylxNosWzHFPW9p4zgLCLNr+b6
+bDDfYKjXZflAuTQtQhLmJUwD9uuYLAijpSE2fQIDAQABAoIBADgcgRET8Gt0CV/B
+OtvKz/f+VEVvcWD3gWNlJDTZIVOFllNWjIZUlA4ZoqenQkbK8Q4nfV1FOht4yjCQ
+TlN1oMtiWk297i5Zo4UBzPzy4w774I39oh/g8dT/WXr2/5s+7SDV38xNh6Q2A34o
+79T35wUcfUrZ93/O7dKjb/6d8hx2FMha0wVKqY4lmG1lQE3bbx3kakec0PdvU5kO
+YHKlpqj3pMR7CpMa+4yL/iXFwWYmnK+uu+zw7JR7PwvH1CzrnvW438wjQ1QmYbSx
+mHHOE89X67Lsl5hn81qYWBhpwAlBwi1qscsE0cV9GcFyKqWFqZsj5coM9u3CRfvy
+lrWe1OUCgYEA+LBUFEd3Hxs4sFiYElJ8R9SAs1udaqPvAl01hTEijJLfYlMMVs/y
+rgNN7j22zjDak2f8QdyMJZX7EZdRmdYcHO0csYOwbYvalzcnwk+U3mxmdD3r4xSo
+DSvkJ70fogAqUlcVIg2re6fCmZVJQTvMQYTVEM8zQomJRt/Lb2esSfsCgYEA8+zv
+44aToe8uqiDs4w8guRW7LCDkTw4z4IVo9JUibIaPjaAs5bZEBXSB43EEywXCR75H
+fML0rU1PVvKh1rqcvZdVzm+XMWVr3asPk0sapaiHaTcmyZvJRDxxqbLFp0zRP1T6
+cCtXNFdHWU4KiuKrUi6cDyOKchpfkSZa4seiT+cCgYB+n4FgBfdQPlMB70oW4irn
+g/q32CjxuGCk6oKqu5bkzo+xB6obtavSEFqouIGQwO056tNVUY+GP7Rjg5GH663K
+yKw4cl3tmS0Gm43B8TVSfw03mKO3rrfWZQe5eCFYIg9qd26KNT2gK435FzsCXQkm
+PxUhhu6JrW/ZR2/U3Iur6wKBgADrWLAb1ryagSuE+j+U1AO+kDkHWrTtkcZ72jxp
+v3p3O11GSEUJXdJDcSXhTCpTuDq6/dv7hB6PFwh126RKicKxKlKf2wsFndV1Cpb8
+hnovW2tLGOtTmfuW2rrQAKyzvmolsNfxYd/BoHQ2thV16z1hDZeFA8WQUeHjKh6G
+sBbrAoGATdtQlaUxx4izua6k02ihkxx/cRYwDl2N8UDvDBHokS7vJFMX8b8NpsGg
+zMElnqSpu/pe/0UG7N2MtPF6uyMcX8AZzzcsRkiMkDvWJzYt8Jpf+Eyd/uryF+Yv
+yrXaOEY83tm6x/fny5ZaZmk8lNth7bfWywuTMkZLX3fYpWtIeE4=
+-----END RSA PRIVATE KEY-----

+ 1 - 0
PPCS-CM3-2025/ssh/id_rsa.mpi.pub

@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs9YtmaB0nnTx0PXlPr7GoYO8v0SHOj1KCyc3rEn6qlS+86LjVrFbQCpHgyc9OD+66+T7Hi1Sm6585bjDbZRMaOx2+YhVZr26Mu1xGI3dg9j5JT5g7kV+oqDuv+EGf78YxxKh9/BKzu9WCaEEGen+YmHY7Vw4AVkR73z/juZuDf+QcECTfo05CS1pTeXjwHfwSEFOeNZ9wQabUdxNE8XFdXlaKSjpmEoUS4dxNUqeDhE61SoSaAfIjRoHtMDGDidrR6Mi2xhYQ9YZ4M7Dqaz/gzDKXE2ixbMcU9b2njOAsIs2v5vpsMN9gqNdl+UC5NC1CEuYlTAP265gsCKOlITZ9 oweidner@peahi

+ 10 - 0
PPCS-CM3-2025/ssh/install_clang_format_go.sh

@@ -0,0 +1,10 @@
+#/bin/sh
+## script pour installer golang et clang-format
+sudo apt update
+sudo apt-get install clang-format -y
+sudo wget https://golang.org/dl/go1.25.5.linux-amd64.tar.gz
+sudo tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz
+sudo rm ./go1.25.5.linux-amd64.tar.gz
+cd ~
+echo "export PATH=/usr/local/go/bin:${PATH}" | sudo tee -a $HOME/.profile
+exit 0

BIN
cours4-PPCS-JMB-20252026 - preparation.pdf