Przykłady manifestu wielokontenerowej aplikacji i usługi
Poniżej przedstawiono przykłady manifestów aplikacji i usługi dla aplikacji usługi Service Fabric z wieloma kontenerami. Celem tych przykładów jest pokazanie, jakie ustawienia są dostępne i jak ich używać. Te manifesty aplikacji i usługi są oparte na przykładowych manifestach kontenera systemu Windows Server 2016.
Poniżej przedstawiono następujące funkcje:
Manifest | Funkcje |
---|---|
Manifest aplikacji | zastępowanie zmiennych środowiskowych, konfigurowanie mapowania port-host kontenera, konfigurowanie uwierzytelniania rejestru kontenerów, zarządzanie zasobami, ustawianie trybu izolacji, określanie obrazów kontenerów specyficznych dla kompilacji systemu operacyjnego |
Manifest usługi FrontEndService | ustawianie zmiennych środowiskowych, konfigurowanie punktu końcowego, przekazywanie poleceń do kontenera, importowanie certyfikatu do kontenera |
Manifest usługi BackEndService | ustawianie zmiennych środowiskowych, konfigurowanie punktu końcowego, konfigurowanie sterownika woluminu |
Zobacz Elementy manifestu aplikacji, elementy manifestu usługi FrontEndService i elementy manifestu usługi BackEndService, aby uzyskać więcej informacji na temat określonych elementów XML.
Manifest aplikacji
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="Container.ApplicationType"
ApplicationTypeVersion="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<Parameters>
<Parameter Name="BackEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="FrontEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="CpuCores" DefaultValue="2" />
<Parameter Name="BlockIOWeight" DefaultValue="200" />
<Parameter Name="MaximumIOBandwidth" DefaultValue="1024" />
<Parameter Name="MemoryReservationInMB" DefaultValue="1024" />
<Parameter Name="MemorySwapInMB" DefaultValue="4084"/>
<Parameter Name="MaximumIOps" DefaultValue="20"/>
<Parameter Name="MemoryFront" DefaultValue="4084" />
<Parameter Name="MemoryBack" DefaultValue="2048" />
<Parameter Name="CertThumbprint" DefaultValue=""/>
</Parameters>
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion
should match the Name and Version attributes of the ServiceManifest element defined in the
ServiceManifest.xml file. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="BackEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- Policies to be applied to the imported service manifest. -->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryFront]"/>
<!-- Set resource governance at the code package level. -->
<ResourceGovernancePolicy CodePackageRef="Code" CpuPercent="10" MemoryInMB="[MemoryFront]" BlockIOWeight="[BlockIOWeight]" MaximumIOBandwidth="[MaximumIOBandwidth]" MaximumIOps="[MaximumIOps]" MemoryReservationInMB="[MemoryReservationInMB]" MemorySwapInMB="[MemorySwapInMB]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- This binds the port the container is listening on (8905 in this sample) to an endpoint resource named "BackEndServiceTypeEndpoint", which is defined in the service manifest. -->
<PortBinding ContainerPort="8905" EndpointRef="BackEndServiceTypeEndpoint"/>
<!-- Configure the Azure Files volume plugin. Bind the source folder on the host VM or a remote share to the destination folder within the running container. -->
<Volume Source="azfiles" Destination="c:\VolumeTest\Data" Driver="sfazurefile">
<!-- Driver options to be passed to driver. The Azure Files volume plugin supports the following driver options:
shareName (the Azure Files file share that provides the volume for the container), storageAccountName (the Azure storage account
that contains the Azure Files file share), storageAccountKey (Access key for the Azure storage account that contains the Azure Files file share).
These three driver options are required. -->
<DriverOption Name="shareName" Value="" />
<DriverOption Name="storageAccountName" Value="MY-STORAGE-ACCOUNT-NAME" />
<DriverOption Name="storageAccountKey" Value="MY-STORAGE-ACCOUNT-KEY" />
</Volume>
<!-- Windows Server containers may not be compatible across different versions of the OS. You can specify multiple OS images per container and tag
them with the build versions of the OS. Get the build version of the OS by running "winver" at a Windows command prompt. -->
<ImageOverrides>
<!-- If the underlying OS is build version 16299 (Windows Server version 1709), Service Fabric picks the container image tagged with Os="16299". -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_1709" Os="16299" />
<!-- An untagged container image is assumed to work across all versions of the OS and overrides the image specified in the service manifest. -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_default" />
</ImageOverrides>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<!-- Policies to be applied to the imported service manifest. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="FrontEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- This enables you to provide different values for environment variables when creating a FrontEndService
Theses environment variables are declared in the FrontEndServiceType service manifest-->
<EnvironmentOverrides CodePackageRef="Code">
<EnvironmentVariable Name="BackendServiceName" Value="Container.Application/BackEndService"/>
<EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentOverrides>
<!-- This policy maps the port of the container (80) to the endpoint declared in the service,
FrontEndServiceTypeEndpoint which is exposed as port 80 on the host-->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryBack]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- Binds an endpoint resource (declared in the service manifest) to the exposed container port. -->
<PortBinding ContainerPort="80" EndpointRef="FrontEndServiceTypeEndpoint"/>
<!-- Import a certificate into the container. The certificate must be installed in the LocalMachine store of all the cluster nodes.
When the application starts, the runtime reads the certificate and generates a PFX file and password (on Windows) or a PEM file (on Linux).
The PFX file and password are accessible in the container using the Certificates_ServicePackageName_CodePackageName_CertName_PFX and
Certificates_ServicePackageName_CodePackageName_CertName_Password environment variables. The PEM file is accessible in the container using the
Certificates_ServicePackageName_CodePackageName_CertName_PEM and Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey environment variables.-->
<CertificateRef Name="MyCert1" X509StoreName="My" X509FindValue="[CertThumbprint]" />
<!-- If the certificate is already in PFX or PEM form, you can create a data package inside your application and reference that certificate here. -->
<CertificateRef Name="MyCert2" DataPackageRef="Data" DataPackageVersion="1.0.0" RelativePath="MyCert2.PFX" Password="ENCRYPTED-PASSWORD" IsPasswordEncrypted="true"/>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<DefaultServices>
<!-- The section below creates instances of service types, when an instance of this
application type is created. You can also create one or more instances of service type using the
ServiceFabric PowerShell module.
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
<Service Name="FrontEndService" >
<StatelessService ServiceTypeName="FrontEndServiceType" InstanceCount="[FrontEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
<Service Name="BackEndService" ServicePackageActivationMode="ExclusiveProcess">
<StatelessService ServiceTypeName="BackEndServiceType" InstanceCount="[BackEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
</DefaultServices>
</ApplicationManifest>
Manifest usługi FrontEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="FrontEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="FrontEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricfrontendservice:v1</ImageName>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container or exe. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="BackendServiceName" Value=""/>
<EnvironmentVariable Name="HttpGatewayPort" Value=""/>
<EnvironmentVariable Name="IsContainer" Value=""/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<!-- Data package is the contents of the Data directory under PackageRoot that contains an
independently-updateable and versioned static data that's consumed by the process at runtime. -->
<DataPackage Name="Data" Version="1.0.0"/>
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme and port 80 -->
<Endpoint Name="FrontEndServiceTypeEndpoint" UriScheme="http" Port="80"/>
</Endpoints>
</Resources>
</ServiceManifest>
Manifest usługi BackEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="BackEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="BackEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricbackendservice:v1</ImageName>
<!-- Pass comma delimited commands to your container. -->
<Commands> dotnet, myproc.dll, 5 </Commands>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the host port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme. In this case since no port is specified, one is created and assigned dynamically
to the service. This dynamically assigned host port is mapped to the container port (8905 in this sample),
which was specified in the application manifest.-->
<Endpoint Name="BackEndServiceTypeEndpoint" UriScheme="http" />
</Endpoints>
</Resources>
</ServiceManifest>
Elementy manifestu aplikacji
ApplicationManifest, element
Deklaratywnie opisuje typ i wersję aplikacji. Do tworzenia typu aplikacji odwołuje się co najmniej jeden manifest usługi składowej. Ustawienia konfiguracji usług składowych można zastąpić przy użyciu sparametryzowanych ustawień aplikacji. Domyślne usługi, szablony usług, jednostki, zasady, konfiguracja diagnostyki i certyfikaty można również zadeklarować na poziomie aplikacji. Aby uzyskać więcej informacji, zobacz ApplicationManifest, element
Parameters, element
Deklaruje parametry używane w tym manifeście aplikacji. Wartość tych parametrów można podać, gdy aplikacja jest tworzone i może służyć do zastępowania ustawień konfiguracji aplikacji lub usługi. Aby uzyskać więcej informacji, zobacz Parameters, element
Parameter — Element
Parametr aplikacji do użycia w tym manifeście. Wartość parametru można zmienić podczas tworzenia wystąpienia aplikacji lub, jeśli nie podano wartości domyślnej. Aby uzyskać więcej informacji, zobacz Element parametru
ServiceManifestImport, element
Importuje manifest usługi utworzony przez dewelopera usługi. Manifest usługi musi zostać zaimportowany dla każdej usługi składowej w aplikacji. Przesłonięcia konfiguracji i zasady można zadeklarować dla manifestu usługi. Aby uzyskać więcej informacji, zobacz ServiceManifestImport, element
ServiceManifestRef, element
Importuje manifest usługi według odwołania. Obecnie plik manifestu usługi (ServiceManifest.xml) musi znajdować się w pakiecie kompilacji. Aby uzyskać więcej informacji, zobacz ServiceManifestRef, element
Policies, element
Opisuje zasady (powiązanie punktu końcowego, udostępnianie pakietów, uruchamianie jako i dostęp zabezpieczeń) do zastosowania w zaimportowanym manifeście usługi. Aby uzyskać więcej informacji, zobacz Policies, element
ServicePackageResourceGovernancePolicy, element
Definiuje zasady ładu zasobów, które są stosowane na poziomie całego pakietu usług. Aby uzyskać więcej informacji, zobacz ServicePackageResourceGovernancePolicy, element
ResourceGovernancePolicy, element
Określa limity zasobów dla pakietu kodu. Aby uzyskać więcej informacji, zobacz ResourceGovernancePolicy, element
ContainerHostPolicies, element
Określa zasady aktywowania hostów kontenerów. Aby uzyskać więcej informacji, zobacz ContainerHostPolicies, element
RepositoryCredentials, element
Poświadczenia repozytorium obrazów kontenera do ściągania obrazów. Aby uzyskać więcej informacji, zobacz RepositoryCredentials, element
PortBinding, element
Określa, który zasób punktu końcowego ma być powiązany z uwidoczniony port kontenera. Aby uzyskać więcej informacji, zobacz PortBinding, element
Volume, element
Określa wolumin, który ma być powiązany z kontenerem. Aby uzyskać więcej informacji, zobacz Volume, element
DriverOption, element
Opcje sterowników, które mają być przekazywane do sterownika. Aby uzyskać więcej informacji, zobacz DriverOption, element
ImageOverrides, element
Kontenery systemu Windows Server mogą nie być zgodne w różnych wersjach systemu operacyjnego. Można określić wiele obrazów systemu operacyjnego na kontener i oznaczyć je za pomocą wersji kompilacji systemu operacyjnego. Pobierz wersję kompilacji systemu operacyjnego, uruchamiając polecenie "winver" w wierszu polecenia systemu Windows. Jeśli podstawowy system operacyjny jest kompilacją w wersji 16299 (Windows Server w wersji 1709), usługa Service Fabric wybiera obraz kontenera oznaczony tagiem Os="16299". Zakłada się, że obraz kontenera bez tagów działa we wszystkich wersjach systemu operacyjnego i zastępuje obraz określony w manifeście usługi. Aby uzyskać więcej informacji, zobacz ImageOverrides, element
Image, element
Obraz kontenera odpowiadający numerowi wersji kompilacji systemu operacyjnego do uruchomienia. Jeśli atrybut systemu operacyjnego nie zostanie określony, przyjmuje się, że obraz kontenera działa we wszystkich wersjach systemu operacyjnego i zastępuje obraz określony w manifeście usługi. Aby uzyskać więcej informacji, zobacz Image, element
EnvironmentOverrides, element
Aby uzyskać więcej informacji, zobacz EnvironmentOverrides, element
EnvironmentVariable, element
Zmienna środowiskowa. Aby uzyskać więcej informacji, zobacz EnvironmentVariable, element
CertificateRef, element
Określa informacje o certyfikacie X509, który ma być uwidoczniony w środowisku kontenera. Certyfikat należy zainstalować w magazynie LocalMachine wszystkich węzłów klastra. Po uruchomieniu aplikacji środowisko uruchomieniowe odczytuje certyfikat i generuje plik PFX i hasło (w systemie Windows) lub plik PEM (w systemie Linux). Plik PFX i hasło są dostępne w kontenerze przy użyciu zmiennych środowiskowych Certificates_ServicePackageName_CodePackageName_CertName_PFX i Certificates_ServicePackageName_CodePackageName_CertName_Password. Plik PEM jest dostępny w kontenerze przy użyciu zmiennych środowiskowych Certificates_ServicePackageName_CodePackageName_CertName_PEM i Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey. Aby uzyskać więcej informacji, zobacz CertificateRef, element
DefaultServices, element
Deklaruje wystąpienia usługi, które są tworzone automatycznie za każdym razem, gdy aplikacja zostanie utworzona wystąpienie względem tego typu aplikacji. Aby uzyskać więcej informacji, zobacz DefaultServices, element
Service, element
Deklaruje usługę, która ma zostać utworzona automatycznie po utworzeniu wystąpienia aplikacji. Aby uzyskać więcej informacji, zobacz Service, element
StatelessService, element
Definiuje usługę bezstanową. Aby uzyskać więcej informacji, zobacz StatelessService, element
Elementy manifestu usługi FrontEndService
ServiceManifest, element
Deklaratywnie opisuje typ i wersję usługi. Zawiera on listę niezależnie uaktualnianego kodu, konfiguracji i pakietów danych, które razem tworzą pakiet usługi w celu obsługi co najmniej jednego typu usługi. Określono również zasoby, ustawienia diagnostyczne i metadane usługi, takie jak typ usługi, właściwości kondycji i metryki równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz ServiceManifest, element
ServiceTypes, element
Definiuje typy usług obsługiwane przez pakiet CodePackage w tym manifeście. Po utworzeniu wystąpienia usługi względem jednego z tych typów usług wszystkie pakiety kodu zadeklarowane w tym manifeście są aktywowane przez uruchomienie punktów wejścia. Typy usług są deklarowane na poziomie manifestu, a nie na poziomie pakietu kodu. Aby uzyskać więcej informacji, zobacz ServiceTypes, element
StatelessServiceType, element
Opisuje typ usługi bezstanowej. Aby uzyskać więcej informacji, zobacz StatelessServiceType, element
CodePackage, element
Opisuje pakiet kodu obsługujący zdefiniowany typ usługi. Po utworzeniu wystąpienia usługi względem jednego z tych typów usług wszystkie pakiety kodu zadeklarowane w tym manifeście są aktywowane przez uruchomienie punktów wejścia. Oczekuje się, że wynikowe procesy będą rejestrować obsługiwane typy usług w czasie wykonywania. Gdy istnieje wiele pakietów kodu, wszystkie są aktywowane za każdym razem, gdy system szuka dowolnego z zadeklarowanych typów usług. Aby uzyskać więcej informacji, zobacz CodePackage, element
EntryPoint, element
Plik wykonywalny określony przez program EntryPoint jest zazwyczaj długotrwałym hostem usługi. Obecność oddzielnego punktu wejścia konfiguracji pozwala uniknąć konieczności uruchamiania hosta usługi z wysokimi uprawnieniami przez dłuższy czas. Plik wykonywalny określony przez program EntryPoint jest uruchamiany po pomyślnym zakończeniu instalacjiEntryPoint. Wynikowy proces jest monitorowany i uruchamiany ponownie (począwszy od instalatoraEntryPoint), jeśli kiedykolwiek zakończy się lub ulegnie awarii. Aby uzyskać więcej informacji, zobacz EntryPoint, element
ContainerHost, element
Aby uzyskać więcej informacji, zobacz ContainerHost, element
ImageName, element
Repozytorium i obraz w usłudze https://hub.docker.com Azure Container Registry. Aby uzyskać więcej informacji, zobacz ImageName, element
EnvironmentVariables, element
Przekaż zmienne środowiskowe do kontenera lub pliku exe. Aby uzyskać więcej informacji, zobacz EnvironmentVariables, element
EnvironmentVariable, element
Zmienna środowiskowa. Aby uzyskać więcej informacji, zobacz EnvironmentVariable, element
ConfigPackage, element
Deklaruje folder o nazwie według atrybutu Name, który zawiera plik Settings.xml. Ten plik zawiera sekcje ustawień pary klucz-wartość zdefiniowanych przez użytkownika, które proces może odczytywać w czasie wykonywania. Jeśli podczas uaktualniania zmieniono tylko wersję pakietu ConfigPackage, uruchomiony proces nie zostanie uruchomiony ponownie. Zamiast tego wywołanie zwrotne powiadamia proces, że ustawienia konfiguracji zostały zmienione, aby można było je ponownie załadować dynamicznie. Aby uzyskać więcej informacji, zobacz ConfigPackage, element
DataPackage, element
Deklaruje folder o nazwie według atrybutu Name, który zawiera pliki danych statycznych. Usługa Service Fabric będzie odtwarzać wszystkie pliki EXEs i DLLHOSTs określone w hostach i pakietach pomocy technicznej po uaktualnieniu dowolnego z pakietów danych wymienionych w manifeście usługi. Aby uzyskać więcej informacji, zobacz DataPackage, element
Resources, element
Opisuje zasoby używane przez tę usługę, które można zadeklarować bez modyfikowania skompilowanego kodu i zmieniane podczas wdrażania usługi. Dostęp do tych zasobów jest kontrolowany za pośrednictwem sekcji Podmioty zabezpieczeń i zasady manifestu aplikacji. Aby uzyskać więcej informacji, zobacz Resources, element
Endpoints, element
Definiuje punkty końcowe dla usługi. Aby uzyskać więcej informacji, zobacz Endpoints, element
Element punktu końcowego
Aby uzyskać więcej informacji, zobacz Element punktu końcowego
Elementy manifestu usługi BackEndService
ServiceManifest, element
Deklaratywnie opisuje typ i wersję usługi. Zawiera on listę niezależnie uaktualnianego kodu, konfiguracji i pakietów danych, które razem tworzą pakiet usługi w celu obsługi co najmniej jednego typu usługi. Określono również zasoby, ustawienia diagnostyczne i metadane usługi, takie jak typ usługi, właściwości kondycji i metryki równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz ServiceManifest, element
ServiceTypes, element
Definiuje typy usług obsługiwane przez pakiet CodePackage w tym manifeście. Po utworzeniu wystąpienia usługi względem jednego z tych typów usług wszystkie pakiety kodu zadeklarowane w tym manifeście są aktywowane przez uruchomienie punktów wejścia. Typy usług są deklarowane na poziomie manifestu, a nie na poziomie pakietu kodu. Aby uzyskać więcej informacji, zobacz ServiceTypes, element
StatelessServiceType, element
Opisuje typ usługi bezstanowej. Aby uzyskać więcej informacji, zobacz StatelessServiceType, element
CodePackage, element
Opisuje pakiet kodu obsługujący zdefiniowany typ usługi. Po utworzeniu wystąpienia usługi względem jednego z tych typów usług wszystkie pakiety kodu zadeklarowane w tym manifeście są aktywowane przez uruchomienie punktów wejścia. Oczekuje się, że wynikowe procesy będą rejestrować obsługiwane typy usług w czasie wykonywania. Gdy istnieje wiele pakietów kodu, wszystkie są aktywowane za każdym razem, gdy system szuka dowolnego z zadeklarowanych typów usług. Aby uzyskać więcej informacji, zobacz CodePackage, element
EntryPoint, element
Plik wykonywalny określony przez program EntryPoint jest zazwyczaj długotrwałym hostem usługi. Obecność oddzielnego punktu wejścia konfiguracji pozwala uniknąć konieczności uruchamiania hosta usługi z wysokimi uprawnieniami przez dłuższy czas. Plik wykonywalny określony przez program EntryPoint jest uruchamiany po pomyślnym zakończeniu instalacjiEntryPoint. Wynikowy proces jest monitorowany i uruchamiany ponownie (począwszy od instalatoraEntryPoint), jeśli kiedykolwiek zakończy się lub ulegnie awarii. Aby uzyskać więcej informacji, zobacz EntryPoint, element
ContainerHost, element
Aby uzyskać więcej informacji, zobacz ContainerHost, element
ImageName, element
Repozytorium i obraz w usłudze https://hub.docker.com Azure Container Registry. Aby uzyskać więcej informacji, zobacz ImageName, element
Commands, element
Przekaż rozdzielaną przecinkami listę poleceń do kontenera. Aby uzyskać więcej informacji, zobacz Commands, element
EnvironmentVariables, element
Przekaż zmienne środowiskowe do kontenera lub pliku exe. Aby uzyskać więcej informacji, zobacz EnvironmentVariables, element
EnvironmentVariable, element
Zmienna środowiskowa. Aby uzyskać więcej informacji, zobacz EnvironmentVariable, element
ConfigPackage, element
Deklaruje folder o nazwie według atrybutu Name, który zawiera plik Settings.xml. Ten plik zawiera sekcje ustawień pary klucz-wartość zdefiniowanych przez użytkownika, które proces może odczytywać w czasie wykonywania. Jeśli podczas uaktualniania zmieniono tylko wersję pakietu ConfigPackage, uruchomiony proces nie zostanie uruchomiony ponownie. Zamiast tego wywołanie zwrotne powiadamia proces, że ustawienia konfiguracji zostały zmienione, aby można było je ponownie załadować dynamicznie. Aby uzyskać więcej informacji, zobacz ConfigPackage, element
Resources, element
Opisuje zasoby używane przez tę usługę, które można zadeklarować bez modyfikowania skompilowanego kodu i zmieniane podczas wdrażania usługi. Dostęp do tych zasobów jest kontrolowany za pośrednictwem sekcji Podmioty zabezpieczeń i zasady manifestu aplikacji. Aby uzyskać więcej informacji, zobacz Resources, element
Endpoints, element
Definiuje punkty końcowe dla usługi. Aby uzyskać więcej informacji, zobacz Endpoints, element
Element punktu końcowego
Aby uzyskać więcej informacji, zobacz Element punktu końcowego