다음을 통해 공유


Windows 개발자 컴퓨터에서 WSL2를 통해 Linux Service Fabric 클러스터 설정

이 문서는 Windows 개발 컴퓨터에서 WSL2를 통해 로컬 Linux Service Fabric 클러스터를 설정하는 방법을 다룹니다. 로컬 Linux 클러스터를 설정하는 경우 Linux 클러스터를 대상으로 하지만 Windows 컴퓨터에서 개발되는 애플리케이션을 빠르게 테스트하는 데 유용합니다.

필수 조건

Linux 기반 Service Fabric 클러스터는 Windows에서 직접 실행되지 않지만 플랫폼 간 프로토타이핑을 사용하도록 설정하기 위해 Windows용 WSL2(Linux용 Windows 하위 시스템)를 통해 Linux 배포 내부에 Service Fabric 클러스터를 배포하는 방법을 제공했습니다.

시작하기 전에 다음 항목이 필요합니다.

  • WSL2 Windows에서 설정하고 WSL 2를 기본 버전으로 설정
  • WSL2를 설정하는 동안 Microsoft Store에서 Ubuntu 18.04 Linux 배포 설정

Windows 컴퓨터에 WSL2를 설치하려면 WSL 설명서의 단계를 따릅니다. 설치 후 Ubuntu-18.04가 설치되었는지 확인하세요. 기본 배포로 설정하고 실행 중이어야 합니다.

Linux 배포 내에서 Service Fabric SDK 설정

Service Fabric 설정은 표준 Linux OS에서 수행되는 방식으로 WSL2 Linux 배포에서 수행할 수 없습니다. PID1로 사용되는 systemd는 VM 내에서 실행되고 있지 않으며 PID1로 사용되는 systemd는 SF SDK가 성공적으로 작동하기 위한 필수 조건이기 때문입니다. systemd를 PID1로 사용하도록 설정하려면 systemd-genie가 해결 방법으로 사용됩니다. systemd-genie에 대한 자세한 내용은 systemd genie 설정에서 찾을 수 있습니다. 스크립트 설치 및 수동 설치 단계에서는 systemd-genie 및 Service Fabric SDK 설치를 모두 다룹니다.

스크립트 설치

편의를 위해 sfctl CLI와 함께 Service Fabric 공통 SDK를 설치하기 위한 스크립트가 제공됩니다. 스크립트를 실행하면 설치된 모든 소프트웨어에 대한 라이선스에 동의하는 것으로 가정합니다. 또는 관련 라이선스와 설치중인 구성요소를 제공하는 다음 섹션에서 수동 설치 단계를 실행할 수 있습니다.

스크립트가 성공적으로 실행된 후에 로컬 클러스터 설정으로 건너뛰어도 됩니다.

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

수동 설치

Service Fabric 런타임 및 일반 SDK의 수동 설치는 이 가이드의 뒷부분을 수행합니다.

  1. 터미널을 엽니다.

  2. WSL2 Linux 배포판에 로그인

  3. systemd-genie 설정에 언급된 대로 systemd-genie를 설정합니다(systemd-genie가 이미 설정되어 있는 경우 다음 단계로 이동할 수 있음).

  4. genie -s를 사용하여 genie 네임스페이스에 입력

  5. genie 네임스페이스 내에서 SF SDK는 Linux 로컬 클러스터 설정의 스크립트 설치 또는 수동 설치 단계에 설명된 대로 설치할 수도 있습니다.

  6. /etc/sudoers에 항목(예: <USERNAME\> ALL = (ALL) NOPASSWD:ALL)을 만들어 현재 사용자에게 sudo 권한을 제공합니다.

로컬 클러스터를 설정합니다.

호스트 창에서 관리하려면 WSL2 VM 내부의 Service Fabric을 사용하는 것이 좋습니다.

  1. Windows 호스트에 Service Fabric SDK(버전 6.0 이상) 설치

  2. Windows에서는 SF SDK의 일부로 제공되는 ServiceFabricLocalClusterManager 도구를 사용하여 클러스터를 관리할 수 있습니다.

  3. Linux 로컬 클러스터 관리 옵션은 다음과 같은 경우에만 사용하도록 설정됩니다. a. WSL2 VM이 실행 중인 경우, b. Systemd-genie, servicefabricruntime 및 servicefabricsdkcommon 패키지가 VM 내부에 올바르게 설치된 경우, c. Systemd-genie가 실행 상태인 경우. 이 도구에서 Linux 로컬 클러스터를 설정하거나 전환할 수 있습니다.

  4. Linux 클러스터를 설정하는 또 다른 방법은 SF SDK의 일부로 제공되는 클러스터 설정 스크립트를 사용하여 배포하는 것입니다.

  5. 웹 브라우저를 열고 Service Fabric Explorer http://localhost:19080으로 이동합니다. 클러스터를 시작하는 경우 Service Fabric Explorer 대시보드가 표시됩니다. 클러스터를 설정하는 데 몇 분 정도 걸릴 수 있습니다. 브라우저에서 URL을 열지 못하거나 Service Fabric Explorer에 클러스터가 표시되지 않으면 몇 분 정도 기다렸다가 다시 시도합니다. SF SDK에서 제공하는 ServiceFabricExplorer에서도 클러스터를 볼 수 있습니다.

  6. 클러스터가 실행 중이면 PowerShell 및 Visual Studio에서 로컬 클러스터에 연결할 수 있습니다.

사용자 지정 ServiceFabric 및 ServieFabricSdkCommon Debian 패키지를 사용한 수동 설치

사용자 지정 또는 다운로드한 데비안 패키지에서 Service Fabric을 수동으로 설치하려면 이 가이드의 나머지 부분을 따릅니다.

  1. 터미널을 엽니다.

  2. WSL2 Linux 배포판에 로그인

  3. 클론 설정 파일

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. 파일을 실행 가능하게 만들기
sudo chmod +x SetupServiceFabric.sh
  1. 로컬 데비안 패키지 경로로 설정 스크립트를 실행합니다. 제공된 경로가 유효한지 확인합니다. 예제는 아래와 같습니다.
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

알려진 제한 사항

다음은 Linux 배포판 내에서 실행되는 로컬 클러스터의 알려진 제한 사항입니다.

  • 현재 Ubuntu-18.04 배포만 지원됩니다.
  • 로컬 클러스터 관리자 및 Visual Studio를 원활하게 사용하려면 Windows 호스트의 PowerShell 스크립트 또는 LocalClusterManager에서 클러스터를 관리하는 것이 좋습니다.

질문과 대답

  1. SF 로컬 클러스터 설정이 지원되는 Linux 배포판은 무엇인가요?
    현재 Linux 로컬 클러스터에는 Ubuntu-18.04만 지원됩니다.

  2. Windows 및 Linux SF 클러스터를 WSL2 설정과 병렬로 실행할 수 있나요?
    아니요, 호스트 또는 게스트 VM에서 한 번에 하나의 로컬 클러스터만 실행할 수 있습니다.

  3. 하나의 노드 Linux 로컬 클러스터를 배포하는 방법은 무엇인가요?
    1노드 또는 5노드 Linux 로컬 클러스터는 메뉴 옵션의 로컬 클러스터 관리자에서 배포할 수 있습니다. 설정 스크립트에서 배포하는 동안 기본적으로 5개의 노드 클러스터가 배포되며 1개의 노드 클러스터에 대해 CreateOneNodeCluster를 전달해야 합니다.

  4. PowerShell 및 Visual Studio에서 Linux 로컬 클러스터에 연결하는 방법은 무엇인가요?
    Linux 로컬 클러스터가 실행 중이면 connect-servicefabriccluster cmdlet이 이 클러스터에 자동으로 연결해야 합니다. 유사한 Visual Studio는 이 로컬 클러스터를 자동으로 검색합니다. 이 클러스터는 PowerShell 또는 Visual Studio에서 클러스터 엔드포인트를 제공하여 연결할 수도 있습니다.

  5. Linux 로컬 클러스터의 SF 클러스터 데이터는 어디에 있나요?
    Ubuntu-18.04 배포판을 사용하는 경우 SF 데이터는 Windows 호스트의 \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster에 있습니다.

다음 단계