Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Inclusief: Alleen hostingintegratie —
Client integratie niet inbegrepen
Met de AspireKubernetes hostingintegratie kunt u implementatiemanifesten genereren Kubernetes op basis van uw Aspire toepassingsmodel. Met deze integratie kunt u de infrastructuur en implementatieconfiguratie van uw toepassing definiëren met behulp van de vertrouwde Aspire AppHost en deze vervolgens publiceren als Kubernetes YAML-manifesten voor implementatie naar elk Kubernetes cluster.
Hostingintegratie
Als u aan de slag wilt met de AspireKubernetes hostingintegratie, installeert u het 📦Aspire.Hosting.Kubernetes NuGet-pakket in het project AppHost.
dotnet add package Aspire.Hosting.Kubernetes
Zie dotnet-pakket toevoegen of pakketafhankelijkheden beheren in .NET toepassingen voor meer informatie.
Omgeving toevoegen Kubernetes
Voeg na de installatie van het pakket een Kubernetes omgeving toe aan uw AppHost-project met behulp van de AddKubernetesEnvironment methode:
var builder = DistributedApplication.CreateBuilder(args);
// Add Kubernetes environment
var k8s = builder.AddKubernetesEnvironment("k8s");
// Add your application resources
var cache = builder.AddRedis("cache");
var apiService = builder.AddProject<Projects.ApiService>("apiservice")
.WithReference(cache);
builder.AddProject<Projects.Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithReference(cache)
.WithReference(apiService);
builder.Build().Run();
Aanbeveling
Als de k8s variabele is toegewezen, kunt u deze doorgeven aan de WithComputeEnvironment API om rekenresources niet eenduidig te maken voor oplossingen die meer dan één definiëren. Anders is de k8s variabele niet vereist.
Omgevingseigenschappen configureren Kubernetes
U kunt de Kubernetes omgeving aanpassen met behulp van de WithProperties methode:
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject<Projects.MyApi>("api");
builder.AddKubernetesEnvironment("k8s")
.WithProperties(k8s =>
{
k8s.HelmChartName = "my-aspire-app";
});
builder.Build().Run();
Met WithProperties de methode kunt u verschillende aspecten van de Kubernetes implementatie configureren, inclusief de Helm-grafieknaam die wordt gebruikt voor het genereren van de Kubernetes resources.
Manifesten genereren Kubernetes
Om Kubernetes manifesten te genereren vanuit uw Aspire applicatie, gebruikt u de aspire publish opdracht.
aspire publish -o k8s-artifacts
Zie aspire publish command reference voor meer informatie.
Met deze opdracht wordt een volledige set Kubernetes YAML-manifesten gegenereerd in de opgegeven uitvoermap (k8s-artifacts in dit voorbeeld). De gegenereerde artefacten zijn onder andere:
- Deployments of StatefulSets voor uw applicatieservices.
- Services voor netwerkconnectiviteit.
- ConfigMaps voor toepassingsconfiguratie .
- Geheimen voor gevoelige gegevens.
- Helm-grafieken voor eenvoudiger implementatiebeheer.
Ondersteunde middelen
De Kubernetes hostingintegratie ondersteunt het converteren van verschillende Aspire resources naar hun Kubernetes equivalenten:
- Projectbronnen → Deployments of StatefulSets.
- Containerbronnen → Implementaties of StatefulSets.
- Connection strings → ConfigMaps and Secrets.
- Omgevingsvariabelen → ConfigMaps en Geheimen.
- Eindpunten → Services en de configuratie voor inkomend verkeer.
- Volumes → PersistentVolumes en PersistentVolumeClaims.
Overwegingen bij de implementatie
Houd bij de Kubernetesimplementatie rekening met het volgende:
Containerafbeeldingen
Zorg ervoor dat uw toepassingsprojecten zijn geconfigureerd voor het bouwen van containerinstallatiekopieën. De Kubernetes uitgever verwijst naar de containerafbeeldingen voor uw projecten. Als u geen aangepaste containerinstallatiekopieën hebt opgegeven, gebruikt de integratie geparameteriseerde Helm-waarden die u tijdens de implementatie kunt overschrijven.
Resourcenamen
Resourcenamen in Kubernetes moeten de DNS-naamconventies volgen. De integratie converteert Aspire resourcenamen automatisch naar geldige Kubernetes resourcenamen door:
- Converteren naar kleine letters.
- Ongeldige tekens vervangen door afbreekstreepjes.
- Ervoor zorgen dat namen niet beginnen of eindigen met afbreekstreepjes.
Omgevingsspecifieke configuratie
Gebruik externe parameters om omgevingsspecifieke waarden te configureren die moeten verschillen tussen ontwikkel- en productieomgevingen.