New-ServiceFabricServiceFromTemplate

애플리케이션 매니페스트가 서비스 템플릿 섹션을 정의한 경우 이 명령을 사용하여 템플릿에서 채워진 서비스 설명 매개 변수를 사용하여 새 서비스를 만들 수 있습니다.

Syntax

New-ServiceFabricServiceFromTemplate
   [-ApplicationName] <Uri>
   [-ServiceName] <Uri>
   [-ServiceTypeName] <String>
   [-Force]
   [-ServicePackageActivationMode <ServicePackageActivationMode>]
   [-ServiceDnsName <String>]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

Description

New-ServiceFabricService 에는 생성되는 서비스를 설명하는 몇 가지 필수 매개 변수가 있습니다. 애플리케이션 매니페스트의 서비스 템플릿을 사용하여 서비스 유형별로 서비스 설명 매개 변수를 지정할 수 있습니다. 서비스 템플릿 섹션의 서비스 설명 스키마는 기본 서비스에 대한 서비스 설명 스키마 와 동일합니다. 이렇게 하면 New-ServiceFabricService에 필수인 매개 변수를 지정하지 않고 특정 서비스 유형의 새 서비스를 만들 수 있습니다.

서비스 템플릿을 사용하여 만든 서비스는 New-ServiceFabricService를 사용하여 만든 서비스와 동일하게 작동합니다. 동일한 워크플로를 사용하여 업그레이드, 업데이트 및 제거할 수 있습니다.

Service Fabric 클러스터에서 작업을 수행하기 전에 Connect-ServiceFabricCluster cmdlet을 사용하여 클러스터에 대한 연결을 설정합니다.

예제

예제 1: 서비스 템플릿에서 서비스 만들기

다음과 같은 애플리케이션 및 서비스 매니페스트가 제공됩니다.

<?xml version="1.0" encoding="utf-8" ?>
<ApplicationManifest
      ApplicationTypeName="MyApplicationType"
      ApplicationTypeVersion="AppManifestVersion1"
      xmlns="http://schemas.microsoft.com/2011/01/fabric"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Description>An example application manifest</Description>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="MyServiceManifest" ServiceManifestVersion="SvcManifestVersion1"/>
  </ServiceManifestImport>
  <ServiceTemplates>
     <StatelessService ServiceTypeName="MyServiceType" InstanceCount="-1">
         <SingletonPartition/>
     </StatelessService>
  </ServiceTemplates>
</ApplicationManifest>

<?xml version="1.0" encoding="utf-8" ?>
<ServiceManifest Name="MyServiceManifest" Version="SvcManifestVersion1" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Description>An example service manifest</Description>
  <ServiceTypes>
    <StatelessServiceType ServiceTypeName="MyServiceType" />
  </ServiceTypes>
  <CodePackage Name="MyCode" Version="CodeVersion1">
    <EntryPoint>
      <ExeHost>
        <Program>MyServiceHost.exe</Program>
      </ExeHost>
    </EntryPoint>
  </CodePackage>
</ServiceManifest>

다음 명령은 애플리케이션 매니페스트에 정의된 서비스 유형 MyServiceType 에 대한 서비스 템플릿을 사용하여 Service Fabric 서비스를 만듭니다.

PS C:> New-ServiceFabricServiceFromTemplate -ApplicationName fabric:/myapp -ServiceName fabric:/myapp/myservice1 -ServiceTypeName MyServiceType

동일한 서비스 템플릿을 사용하여 여러 서비스 인스턴스를 만들 수 있습니다. 다음 명령을 추가로 실행한 후에는 MyServiceType 형식의 두 개의 단일 상태 비정상 서비스가 있습니다.

PS C:> New-ServiceFabricServiceFromTemplate -ApplicationName fabric:/myapp -ServiceName fabric:/myapp/myservice2 -ServiceTypeName MyServiceType

매개 변수

-ApplicationName

서비스를 만들 Service Fabric 애플리케이션의 URI(Uniform Resource Identifier)를 지정합니다.

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

사용자 확인을 요청하지 않고 명령을 강제 실행합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceDnsName

{{ServiceDnsName 설명 채우기}}

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceName

Service Fabric 서비스의 URI를 지정합니다.

Type:Uri
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ServicePackageActivationMode

서비스에 사용할 [호스팅 모델][1]을 제어합니다. 유효한 값은 SharedProcessExclusiveProcess입니다. 기본값은 SharedProcess입니다.

SharedProcess 활성화 모드를 사용하면 지정된 ServiceType의 서로 다른 서비스의 복제본(또는 인스턴스)이 동일한 ServiceHost를 공유합니다. ExclusiveProcess 활성화 모드를 사용하면 서비스의 각 복제본 또는 인스턴스에 고유한 전용 ServiceHost가 있습니다. 자세한 내용은 [Service Fabric 호스팅 모델][1]을 참조하세요.

Type:ServicePackageActivationMode
Accepted values:SharedProcess, ExclusiveProcess
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceTypeName

애플리케이션 매니페스트에 정의된 서비스 템플릿이 있는 Service Fabric 서비스 유형의 이름을 지정합니다.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSec

작업의 제한 시간(초)을 지정합니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

출력

System.Object