diff --git a/Program.cs b/Program.cs index ee587d2..861e0d9 100644 --- a/Program.cs +++ b/Program.cs @@ -10,6 +10,8 @@ using YarpGateway.LoadBalancing; using YarpGateway.Middleware; using YarpGateway.Services; using StackExchange.Redis; +using Fengling.ServiceDiscovery.Extensions; +using Fengling.ServiceDiscovery.Kubernetes.Extensions; var builder = WebApplication.CreateBuilder(args); @@ -64,6 +66,15 @@ builder.Services.AddSingleton(sp => sp.GetRequiredService< builder.Services.AddHostedService(); +// 添加 Kubernetes 服务发现 +builder.Services.AddKubernetesServiceDiscovery(options => +{ + options.LabelSelector = "app.kubernetes.io/managed-by=yarp"; + options.UseInClusterConfig = false; // 本地调试设为 false,生产环境设为 true +}); + +builder.Services.AddServiceDiscovery(); + var corsSettings = builder.Configuration.GetSection("Cors"); builder.Services.AddCors(options => { diff --git a/YarpGateway.csproj b/YarpGateway.csproj index 7008f5f..1a9cef7 100644 --- a/YarpGateway.csproj +++ b/YarpGateway.csproj @@ -25,3 +25,5 @@ + +