gpt4 book ai didi

asp.net-core - Kubernetes 客户端库 AuthenticationException

转载 作者:行者123 更新时间:2023-12-04 22:37:36 26 4
gpt4 key购买 nike

我一直在使用 Kubernetes .net 客户端库版本来从容器内访问 Kubernetes api。今天我从客户端库版本 1.6.11 更新到 4.0.21 但这破坏了客户端身份验证的某些部分。
这是我得到的异常(exception):

HttpRequestException. The SSL connection could not be established, see inner exception.
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
(rest of the stack trace ommited)
除了内部异常(exception):
AuthenticationException. The remote certificate is invalid because of errors in the certificate chain: PartialChain.
at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
我使用默认的 inClusterConfiguration 来创建 Kubernetes 客户端的实例:
KubernetesClientConfiguration config = KubernetesClientConfiguration.InClusterConfig();
Kubernetes client = new Kubernetes(config);
在验证我仍然可以使用与存储在 /var/run/secrets/kubernetes.io/serviceaccount/ 中的 pod 服务帐户关联的 token 通过 curl 与 API 通信之后.
我对 SSL 不是很熟悉,但经过一番挣扎后,我通过将 ca.cert 文件从 serviceaccount 目录复制到 /usr/local/share/ca-certificates/ 找到了解决方法。并运行 update-ca-certificates但我确实想知道现在需要执行此操作的情况发生了什么变化。
有什么方法可以配置客户端,以便自动完成或以其他方式解决?

最佳答案

我从客户的 Github 中找到了 this issue这表明比我发现的更好的解决方法。

KubernetesClientConfiguration config = KubernetesClientConfiguration.InClusterConfig();
config.TcpKeepAlive = false;

Kubernetes client = new Kubernetes(config);

关于asp.net-core - Kubernetes 客户端库 AuthenticationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66818791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com