c# - 从 Consul 注销 kubernetes pod
问题描述
我正在使用 aIHostedService
在 k8s 集群中注册我的 pod。一切运行良好,但当我需要更新或扩展我的部署时,我会在 Consul 中找到僵尸吊舱。
我IHostedService
的实现StopAsync
如下:
public async Task StopAsync(CancellationToken cancellationToken)
{
_cts.Cancel();
_logger.LogInformation("De-registering from Consul");
try
{
await _consulClient.Agent.ServiceDeregister(_registrationId, cancellationToken);
}
catch (Exception ex)
{
_logger.LogError(ex, $"De-registration failed");
}
}
我也尝试注入IHostApplicationLifetime
并注册一个,ApplicationStopping
但它是相同的交易 - 这些函数永远不会被调用,除非我物理按下 ctrl +c 这显然不会在 k8s 中发生
每个人都如何注销他们的 pod?
我正在使用 netcore 3.1
解决方案
推荐阅读
- c - 查找固定长度的重复传感器模式
- asp.net - 从存储过程返回值到文本框
- xpath - XPath to identify the elements from the list having none of the child elements with a particular value
- curl - 如何卷曲 Pod k8S
- javascript - 插入/删除深色主题样式表切换按钮
- .htaccess - htaccess 301 使用查询字符串进行永久重定向
- ubuntu - Tomcat8 的 SAML2
- android - 无法为 Honeywell 开发配置 Android Studio
- vba - 如何在 MS Access 中仅为这条记录设置 visible = true?
- r - 为什么这个表达式的长度是 11?