feat(gateway): integrate Kubernetes service discovery in YarpGateway
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
71a15fd9fb
commit
ebd1dc3264
11
Program.cs
11
Program.cs
@ -10,6 +10,8 @@ using YarpGateway.LoadBalancing;
|
|||||||
using YarpGateway.Middleware;
|
using YarpGateway.Middleware;
|
||||||
using YarpGateway.Services;
|
using YarpGateway.Services;
|
||||||
using StackExchange.Redis;
|
using StackExchange.Redis;
|
||||||
|
using Fengling.ServiceDiscovery.Extensions;
|
||||||
|
using Fengling.ServiceDiscovery.Kubernetes.Extensions;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
@ -64,6 +66,15 @@ builder.Services.AddSingleton<IProxyConfigProvider>(sp => sp.GetRequiredService<
|
|||||||
|
|
||||||
builder.Services.AddHostedService<PgSqlConfigChangeListener>();
|
builder.Services.AddHostedService<PgSqlConfigChangeListener>();
|
||||||
|
|
||||||
|
// 添加 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");
|
var corsSettings = builder.Configuration.GetSection("Cors");
|
||||||
builder.Services.AddCors(options =>
|
builder.Services.AddCors(options =>
|
||||||
{
|
{
|
||||||
|
|||||||
@ -25,3 +25,5 @@
|
|||||||
<ProjectReference Include="..\Fengling.ServiceDiscovery\Fengling.ServiceDiscovery.Kubernetes\Fengling.ServiceDiscovery.Kubernetes.csproj" />
|
<ProjectReference Include="..\Fengling.ServiceDiscovery\Fengling.ServiceDiscovery.Kubernetes\Fengling.ServiceDiscovery.Kubernetes.csproj" />
|
||||||
<ProjectReference Include="..\Fengling.ServiceDiscovery\Fengling.ServiceDiscovery.Static\Fengling.ServiceDiscovery.Static.csproj" />
|
<ProjectReference Include="..\Fengling.ServiceDiscovery\Fengling.ServiceDiscovery.Static\Fengling.ServiceDiscovery.Static.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user