학습 목표
- deepops가 무엇인지 이해하고 설명할 수 있다.
- deepops를 이용해서 기본적인 환경을 구성할 수 있다.
deepops 개요
- https://github.com/NVIDIA/deepops
- GPU 인프라 및 자동화 도구
deepops를 이용한 기본적인 환경 구성
Install a supported operating system on all nodes.
- Set up your provisioning machine.
1 2
# Install software prerequisites and copy default configuration ./scripts/setup.sh
- Create and edit the Ansible inventory.
1 2 3 4
# Edit inventory # Add Slurm controller/login host to `slurm-master` group # Add Slurm worker/compute hosts to the `slurm-node` groups vi config/inventory
- [all] 하위에 ansible을 이용할 모든 노드 기재
- [slurm-master] 하위에 master 노드 기재
- [slurm-node] 하위에 worker 노드 기재
- [all:vars] 하위 #SSH User에 ansible_user 변경
- (optional) Modify
config/group_vars/*.yml
to set configuration parameters1 2
vi config/group_vars/slurm_cluster.yml # 전체 파일을 살펴보며 설정 정보 수정
- Verify the configuration.
1
ansible all -m raw -a "hostname" -k
- (optional) Modify
playbooks/*.yml
to set configuration tasks1 2
vi playbooks/slurm-cluster.yml # 전체 파일을 살펴보며 설정 정보 수정
- Install Slurm.
1 2 3 4
# NOTE: If SSH requires a password, add: `-k` # NOTE: If sudo on remote machine requires a password, add: `-K` # NOTE: If SSH user is different than current user, add: `-u ubuntu` ansible-playbook --ask-become-pass -k -l slurm-cluster playbooks/slurm-cluster.yml
참고
- Slurm Deployment Guide https://github.com/NVIDIA/deepops/tree/master/docs/slurm-cluster