Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Inkluderar: Värdintegrering ingår Endast värdintegrering –  integrering ingår inte
Med AspireKubernetes värdintegreringen kan du generera Kubernetes distributionsmanifest från din Aspire programmodell. Med den här integreringen kan du definiera programmets infrastruktur och distributionskonfiguration med hjälp av den välbekanta Aspire AppHost och sedan publicera den som Kubernetes YAML-manifest för distribution till alla Kubernetes kluster.
Integrering av värdtjänster
För att komma igång med värdintegreringen AspireKubernetes installera 📦Aspire.Hosting.Kubernetes NuGet-paketet i AppHost-projektet.
dotnet add package Aspire.Hosting.Kubernetes
Mer information finns i dotnet lägg till paket eller Hantera paketberoenden i .NET applikationer.
Lägg till Kubernetes miljö
När du har installerat paketet lägger du till en Kubernetes miljö i ditt AppHost-projekt med hjälp av AddKubernetesEnvironment metoden:
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();
Tips/Råd
Med variabeln k8s tilldelad kan du skicka den till API:et WithComputeEnvironment för att skilja beräkningsresurser från lösningar som definierar mer än en. Annars krävs inte variabeln k8s .
Konfigurera Kubernetes miljöegenskaper
Du kan anpassa Kubernetes miljön med hjälp av WithProperties metoden:
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();
Med hjälp av WithProperties-metoden kan du konfigurera olika aspekter av Kubernetes-distributionen, inklusive Helm-chartnamnet som ska användas för att generera Kubernetes-resurserna.
Generera Kubernetes manifest
Om du vill generera Kubernetes manifest från ditt Aspire program använder du aspire publish kommandot:
aspire publish -o k8s-artifacts
För mer information, se aspire publish kommandoreferens.
Det här kommandot genererar en fullständig uppsättning Kubernetes YAML-manifest i den angivna utdatakatalogen (k8s-artifacts i det här exemplet). Bland de genererade artefakterna finns:
- Distributioner eller StatefulSets för dina programtjänster.
- Tjänster för nätverksanslutning.
- ConfigMaps för programkonfiguration.
- Hemligheter för känsliga data.
- Helm-diagram för enklare distributionshantering.
Resurser som stöds
Värdintegreringen Kubernetes stöder konvertering av olika Aspire resurser till deras Kubernetes motsvarigheter:
- Projektresurser → distributioner eller StatefulSets.
- Containerresurser → Deployments eller StatefulSets.
- Anslutningssträngar → ConfigMaps och Secrets.
- Miljövariabler → ConfigMaps och Hemligheter.
- Ändpunkter → Tjänster och ingresskonfiguration.
- Volymer → PersistentVolumes och PersistentVolumeClaims.
Distributionsöverväganden
När du distribuerar till Kubernetesbör du tänka på följande:
Containeravbildningar
Se till att dina programprojekt är konfigurerade för att skapa containeravbildningar. Utgivaren Kubernetes refererar till containeravbildningarna för dina projekt. Om du inte har angett anpassade containeravbildningar använder integreringen parameteriserade Helm-värden som du kan åsidosätta under distributionen.
Resursnamn
Resursnamn i Kubernetes måste följa DNS-namngivningskonventioner. Integreringen konverterar Aspire automatiskt resursnamn till giltiga Kubernetes resursnamn genom att:
- Konverterar till gemener.
- Ersätter ogiltiga tecken med bindestreck.
- Se till att namnen inte börjar eller slutar med bindestreck.
Miljöspecifik konfiguration
Använd externa parametrar för att konfigurera miljöspecifika värden som ska skilja sig mellan utvecklings- och produktionsmiljöer.