Я пытаюсь запустить узел Microsoft Orleans Silo в кластере Azure Kubernetes.Моя конфигурация в коде выглядит следующим образом:
var builder = new SiloHostBuilder()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = appSettings.OrleansSettings.ClusterId;
options.ServiceId = appSettings.OrleansSettings.ServiceId;
})
.Configure<ClusterMembershipOptions>(opt =>
{
opt.ValidateInitialConnectivity = false;
})
.UseKubeMembership(opt =>
{
opt.CanCreateResources = true;
opt.DropResourcesOnInit = true;
})
.ConfigureEndpoints
(
siloPort: appSettings.OrleansSettings.SiloPort,
gatewayPort: appSettings.OrleansSettings.GatewayPort,
addressFamily: System.Net.Sockets.AddressFamily.InterNetwork,
listenOnAnyHostAddress: true
)
.Configure<ProcessExitHandlingOptions>(o =>
{
o.FastKillOnProcessExit = true;
});
И у меня это есть в appsettings.json
"AppSettings": {
"OrleansSettings": {
"ClusterId": "OrleansCluster",
"ServiceId": "OrleansService",
"SiloPort": 11111,
"GatewayPort": 30000
}
Сборщик строится правильно, но при запуске метода StartAsync:
var host = builder.Build();
await host.StartAsync();
Я получаю эту ошибку:
Couldn't start silohost. Error: Orleans.Runtime.OrleansLifecycleCanceledException: Lifecycle start canceled due to errors at stage 8000 ---> System.TimeoutException: Starting MembershipOracle failed due to timeout 00:05:00
И я не знаю, в чем проблема.