Hosten von Orleans in Azure App Service mithilfe eines Linux-ContainersC#

Ein Treffpunkt für C#-Programmierer
Guest
 Hosten von Orleans in Azure App Service mithilfe eines Linux-Containers

Post by Guest »

Ich habe das folgende Setup mit Orleans, um Clustering zu ermöglichen. Wenn ich Docker lokal verwende, kann ich mit dem folgenden Code zwei Instanzen hochfahren, und beide Instanzen treten dem Cluster erfolgreich bei.

Code: Select all

builder.Host.UseOrleans((context, siloBuilder) =>
{
siloBuilder.Services.AddSerializer(serializerBuilder => { serializerBuilder.ConfigureSerializer(); });

siloBuilder
.ConfigureEndpoints(11111, 30000, listenOnAnyHostAddress: true)
.UseAzureStorageClustering(opt =>
{
opt.TableName = "linuxOrleansSiloInstances";
opt.TableServiceClient =
new TableServiceClient(settings.TableStorageConfig.ConnectionString);
})
.Configure(options =>
{
options.ClusterId = settings.ClusterConfiguration.ClusterId;
options.ServiceId = settings.ClusterConfiguration.ServiceId;
});
});
Ich möchte es in einem Azure App Service in einem Linux-Container hosten. Die erste Instanz startet ordnungsgemäß, aber die folgenden Fehler werden mir angezeigt, wenn die zweite Instanz versucht, dem Cluster beizutreten.

Code: Select all

Exception while sending message: Orleans.Runtime.Messaging.ConnectionFailedException: Unable to connect to endpoint S169.254.129.15:11111:94653375. See InnerException
---> Orleans.Networking.Shared.SocketConnectionException: Unable to connect to 169.254.129.15:11111. Error: ConnectionRefused
at Orleans.Networking.Shared.SocketConnectionFactory.ConnectAsync(EndPoint endpoint, CancellationToken cancellationToken) in /_/src/Orleans.Core/Networking/Shared/SocketConnectionFactory.cs:line 65
Hier ist mein teilweises Dockerfile-Setup, das versucht, die Ports 11111 und 30000 freizugeben:

Code: Select all

FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
WORKDIR /app

EXPOSE 5000
EXPOSE 11111
EXPOSE 30000

# Build stage uses the .NET SDK for build
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src

...
Die einzige Dokumentation, die ich finden konnte, war hier https://learn.microsoft.com/en-us/dotne ... #configure -host-networking, in dem Folgendes erwähnt wird:
Stellen Sie bei der Bereitstellung unter Linux sicher, dass Ihre Hosts alle IP-Adressen überwachen, wie im Abschnitt „Hostnetzwerk konfigurieren“ beschrieben.Gemäß Soweit ich weiß, habe ich dies bereits im Codebeispiel oben konfiguriert.
Irgendwelche Ideen, wie das behoben werden kann?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post