Opslagplaatsreferenties configureren voor uw toepassing om containerinstallatiekopieën te downloaden
Configureer containerregisterverificatie door toe te voegen aan RepositoryCredentials
de ContainerHostPolicies
sectie van uw toepassingsmanifest. Voeg het account en wachtwoord voor uw containerregister toe (myregistry.azurecr.io in het onderstaande voorbeeld), zodat de service de containerinstallatiekopieën uit de opslagplaats kan downloaden.
<ServiceManifestImport>
...
<Policies>
<ContainerHostPolicies CodePackageRef="Code">
<RepositoryCredentials AccountName="myregistry" Password="=P==/==/=8=/=+u4lyOB=+=nWzEeRfF=" PasswordEncrypted="false"/>
<PortBinding ContainerPort="80" EndpointRef="Guest1TypeEndpoint"/>
</ContainerHostPolicies>
</Policies>
...
</ServiceManifestImport>
Het wordt aanbevolen het wachtwoord van de opslagplaats te versleutelen met behulp van een coderingscertificaat dat is geïmplementeerd op alle knooppunten van het cluster. Wanneer Service Fabric het servicepakket naar het cluster implementeert, wordt het versleutelingscertificaat gebruikt om de versleutelde tekst te ontsleutelen. De cmdlet Invoke-ServiceFabricEncryptText wordt gebruikt om de gecodeerde tekst voor het wachtwoord te maken, die wordt toegevoegd aan het bestand ApplicationManifest.xml. Zie Geheimbeheer voor meer informatie over certificaten en versleutelingssemantiek.
Referenties voor het hele cluster configureren
Met Service Fabric kunt u referenties voor het hele cluster configureren die door toepassingen kunnen worden gebruikt als standaardreferenties voor opslagplaatsen.
Deze functie kan worden in- of uitgeschakeld door het UseDefaultRepositoryCredentials
kenmerk toe te voegen aan ContainerHostPolicies
in ApplicationManifest.xml met de true
waarde of false
.
<ServiceManifestImport>
...
<Policies>
<ContainerHostPolicies CodePackageRef="Code" UseDefaultRepositoryCredentials="true">
<PortBinding ContainerPort="80" EndpointRef="Guest1TypeEndpoint"/>
</ContainerHostPolicies>
</Policies>
...
</ServiceManifestImport>
Service Fabric gebruikt vervolgens de standaardreferenties voor de opslagplaats die kunnen worden opgegeven in clustermanifest in de Hosting
sectie . Als UseDefaultRepositoryCredentials
is true
, leest Service Fabric de volgende waarden uit het ClusterManifest:
- DefaultContainerRepositoryAccountName (tekenreeks)
- DefaultContainerRepositoryPassword (tekenreeks)
- IsDefaultContainerRepositoryPasswordEncrypted (bool)
- DefaultContainerRepositoryPasswordType (tekenreeks)
Hier volgt een voorbeeld van wat kan worden toegevoegd in de Hosting
sectie in het bestand ClusterManifestTemplate.json. De Hosting
sectie kan worden toegevoegd bij het maken van het cluster of later in een configuratie-upgrade. Zie Azure Service Fabric-clusterinstellingen wijzigen en Azure Service Fabric-toepassingsgeheimen beheren voor meer informatie
"fabricSettings": [
...,
{
"name": "Hosting",
"parameters": [
{
"name": "EndpointProviderEnabled",
"value": "true"
},
{
"name": "DefaultContainerRepositoryAccountName",
"value": "someusername"
},
{
"name": "DefaultContainerRepositoryPassword",
"value": "somepassword"
},
{
"name": "IsDefaultContainerRepositoryPasswordEncrypted",
"value": "false"
},
{
"name": "DefaultContainerRepositoryPasswordType",
"value": "PlainText"
}
]
},
]
Tokens gebruiken als registerreferenties
Service Fabric ondersteunt het gebruik van tokens als referenties om installatiekopieën voor uw containers te downloaden. Deze functie maakt gebruik van de beheerde identiteit van de onderliggende virtuele-machineschaalset om te verifiëren bij het register, waardoor gebruikersreferenties niet meer hoeven te worden beheerd. Zie Beheerde identiteiten voor Azure-resources voor meer informatie. Voor het gebruik van deze functie zijn de volgende stappen vereist:
Zorg ervoor dat door het systeem toegewezen beheerde identiteit is ingeschakeld voor de VM.
Notitie
Sla deze stap over voor door de gebruiker toegewezen beheerde identiteit. De resterende stappen hieronder werken hetzelfde, zolang de schaalset maar is gekoppeld aan één door de gebruiker toegewezen beheerde identiteit.
Verleng machtigingen aan de virtuele-machineschaalset om installatiekopieën uit het register op te halen/te lezen. Voeg op de blade Access Control (IAM) van uw Azure Container Registry in de Azure Portal een roltoewijzing toe voor uw virtuele machine:
Wijzig vervolgens het toepassingsmanifest. Voeg in de
ContainerHostPolicies
sectie het kenmerk‘UseTokenAuthenticationCredentials=”true”
toe.<ServiceManifestImport> <ServiceManifestRef ServiceManifestName="NodeServicePackage" ServiceManifestVersion="1.0"/> <Policies> <ContainerHostPolicies CodePackageRef="NodeService.Code" Isolation="process" UseTokenAuthenticationCredentials="true"> <PortBinding ContainerPort="8905" EndpointRef="Endpoint1"/> </ContainerHostPolicies> <ResourceGovernancePolicy CodePackageRef="NodeService.Code" MemoryInMB="256"/> </Policies> </ServiceManifestImport>
Notitie
De vlag
UseDefaultRepositoryCredentials
die is ingesteld op true terwijlUseTokenAuthenticationCredentials
true is, veroorzaakt een fout tijdens de implementatie.
Volgende stappen
- Meer informatie over containerregisterverificatie.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor