연락처 정보

코스 개요

선언형 시스템의 독립성

  • 명령형 방식의 구성 관리가 어떻게 변동과 감사 실패를 초래하는지 살펴봅니다.
  • 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 시간

참가자 수


참가자별 가격

예정된 코스

관련 카테고리