From ebd1dc3264c0ee0629a9e1462eb6b02e303c107d Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 15 Feb 2026 10:39:50 +0800 Subject: [PATCH] feat(gateway): integrate Kubernetes service discovery in YarpGateway Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- Program.cs | 11 +++++++++++ YarpGateway.csproj | 2 ++ 2 files changed, 13 insertions(+) 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 @@ + +