문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
코스 개요
선언형 시스템의 독립성
- 명령형 방식의 구성 관리가 어떻게 변동과 감사 실패를 초래하는지 살펴봅니다.
- Nix 저장소, 파생 함수 및 순수 함수 기반 시스템 구축 방법을 학습합니다.
- 불변성과 원자적 업데이트 측면에서 NixOS와 일반 배포판 간의 차이점을 비교합니다.
설치 및 기본 개념
- 수동 또는 자동 파티셔닝 방식으로 ISO 이미지를 활용해 NixOS를 설치하는 방법을 배웁니다.
- Nix 언어의 집합, 함수 및 임포트 기능에 익숙해집니다.
- configuration.nix 구조와 모듈 시스템에 대해 학습합니다.
- nix search 명령과 매뉴얼 페이지를 이용해 패키지 및 옵션 정보를 찾아봅니다.
패키지 및 서비스 관리
- nix-env를 사용해 시스템 전체 또는 개별 사용자용으로 패키지를 설치합니다.
- systemd 서비스를 선언형 방식으로 활성화합니다.
- 패키지 커스터마이징 및 오버레이 기능을 적용하는 방법도 익힙니다.
- 불필요한 패키지를 정리하고 저장소 효율성을 높이는 방법도 다룹니다.
재현 가능한 개발 환경 조성
- nix-shell과 shell.nix를 활용해 임시적 개발 환경을 구성합니다.
- Nix Flakes를 이용해 잠금 파일 기반의 환경 일관성을 확보합니다.
- 팀원 간 적응을 돕기 위해 devenv와 devshell 도구도 활용해 봅니다.
- Direnv와 통합하여 자동으로 개발 환경을 전환하는 방법도 배웁니다.
원격 시스템 배포
- NixOps와 Colmena를 이용해 다수의 머신에 대한 관리 작업을 수행합니다.
- 원격 빌드 및 바이너리 캐시 설정 방법도 익힙니다.
- agenix 및 sops-nix를 사용한 기밀 정보 보안 처리 기술도 배웁니다.
- NixOS 가상머신과 컨테이너로 배포 테스트를 실행하는 방법도 학습합니다.
시스템 업데이트 및 롤백 기법
- nixos-rebuild 스위치, 테스트 및 부팅 모드 활용 방법을 알아봅니다.
- 업데이트 실패 시에도 원자적으로 이전 상태로 복구하는 기술을 익힙니다.
- 재현 가능한 업데이트를 위해 채널 관리 및 고정 방식도 숙지합니다.
- 긴급 상황 발생 시의 복구 절차와 부트로더 설정 방법도 다룹니다.
고급 응용 기술
- NixOS 기반 컨테이너 및 경량 가상화 활용 방법을 알아봅니다.
- 크로스 컴파일 및 ARM 아키텍처용 빌드 기법도 살펴봅니다.
- 맞춤형 ISO 이미지와 네트워크 부팅 이미지 제작 방법도 배웁니다.
- Hydra를 활용한 Nix 패키지 지속적 통합 방식에 대해서도 학습합니다.
요건
- 고급 수준의 리눅스 시스템 관리 및 셸 스크립팅 경험이 필요합니다.
- 함수형 프로그래밍 개념에 대한 기본적인 이해가 요구됩니다.
- Git와 버전 관리 기반의 설정 작업 흐름에 익숙해야 합니다.
대상 참가자
- 재현 가능하고 선언형인 시스템 구축을 원하는 인프라 엔지니어입니다.
- Ansible, Puppet 또는 Chef 대신 Nix를 도입하려는 DevOps 팀원들입니다.
- 정확히 동일한 환경으로 배포가 가능해야 하는 조직의 구성원입니다.
21 시간