Microsoft Desired State Configuration v3 개요

Microsoft의 DSC(Desired State Configuration)는 선언적 구성 플랫폼입니다. DSC를 사용하면 판독기가 주제 전문가가 아니더라도 명확하게 이해할 수 있는 형식을 사용하여 컴퓨터의 상태를 설명합니다. 명령적 도구와 달리 DSC를 사용하면 애플리케이션 환경의 정의가 전달 방법을 구현하는 스크립트 논리와 별개입니다.

DSCv3 명령줄 애플리케이션은 소프트웨어 구성 요소의 관리를 선언적이고 멱등적으로 추상화합니다. DSCv3은 외부 종속성 없이 Linux, macOS 및 Windows에서 실행됩니다.

DSCv3을 사용하면 다음을 수행할 수 있습니다.

  • DSC 리소스를 작성하여 모든 언어로 시스템을 관리합니다.
  • 개별 리소스를 호출합니다.
  • 시스템의 원하는 상태를 정의하는 구성 문서를 만듭니다.

구성 문서

DSC 구성 문서는 리소스 인스턴스를 정의하는 선언적 YAML 파일입니다. 일반적으로 구성 문서는 적용할 상태를 정의합니다.

예제 시나리오에는 애플리케이션 환경 또는 운영/보안 표준에 대한 요구 사항이 포함됩니다.

DSC 리소스

DSC 리소스는 특정 시스템 또는 애플리케이션 구성 요소의 상태를 관리하는 방법을 정의합니다. 리소스는 구성 요소의 관리 가능한 설정에 대한 스키마를 설명합니다. 모든 리소스를 가져오기테스트 작업과 함께 사용하여 리소스 instance 현재 상태를 검색하고 원하는 상태인지 여부를 확인할 수 있습니다. 대부분의 리소스는 Set 작업을 사용하여 원하는 상태를 적용할 수도 있습니다.

예제 시나리오에는 파일 내용을 업데이트하는 방법, 컴퓨터의 상태를 변경하는 유틸리티를 실행하는 방법 또는 애플리케이션 설정을 구성하는 방법이 포함됩니다.

PowerShell DSC의 차이점

DSCv3는 PSDesiredStateConfiguration 모듈 을 활용하여 기존 PowerShell 기반 리소스와의 호환성을 지원합니다.

DSCv3는 다음과 같은 몇 가지 중요한 방법으로 PSDSC(PowerShell Desired State Configuration)와 다릅니다.

  • DSCv3은 PowerShell에 의존하지 않습니다. PowerShell을 설치하지 않고 DSCv3을 사용하고 bash, python, C#, Go 또는 기타 언어로 작성된 리소스를 관리할 수 있습니다.
  • DSCv3에는 로컬 구성 관리자가 포함되지 않습니다. DSCv3은 명령으로 호출됩니다. 서비스로 실행되지 않습니다.
  • PowerShell이 아닌 리소스는 MOF 파일이 아닌 JSON 파일로 스키마를 정의합니다.
  • 구성 문서는 PowerShell 스크립트 파일이 아닌 JSON 또는 YAML 파일에 정의됩니다.

중요한 것은 DSCv3이 DSC 플랫폼에 대한 주요 변경 사항을 나타내지만 DSCv3은 현재 존재하는 스크립트 기반 및 클래스 기반 DSC 리소스를 포함하여 PSDSC 리소스를 호출할 수 있다는 점입니다. 구성 문서는 호환되지 않지만 게시된 모든 PSDSC 리소스는 호환됩니다. DSCv3에서 PSDSC 리소스를 Windows PowerShell PowerShell과 함께 사용할 수 있습니다.

설치

DSCv3을 설치하려면 다음을 수행합니다.

  1. PowerShell/DSC 리포지토리에서 최신 릴리스를 다운로드합니다.
  2. 릴리스 보관 파일을 확장합니다.
  3. 확장된 보관 내용이 포함된 폴더를 에 PATH추가합니다.

PowerShell 갤러리 버전 3 베타를 설치 PSDesiredStateConfiguration 하려면 다음을 수행합니다.

# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease

DSCv3과 통합

DSCv3는 리소스 정의 및 호출에 대한 문제를 추상화하는 플랫폼 도구입니다. Azure Machine Configuration, Azure Automanaged VM 및 WinGet과 같은 상위 주문 도구는 오케스트레이션 에이전트로서 DSCv3의 초기 파트너입니다.

DSCv3는 JSON 스키마를 사용하여 DSCv3에서 반환하는 리소스, 구성 문서 및 출력의 구조를 정의합니다. 이러한 스키마를 사용하면 DSCv3와 인터페이스하는 방법을 표준화하고 문서화하므로 다른 도구와 DSCv3을 더 쉽게 통합할 수 있습니다.

참고 항목