.net - 在C#客户端中识别kubernetes部署规范中的错误字段

标签 .net kubernetes

我正在尝试使用Kubernetes的C#客户端定义部署规范。我的规范字段的值是由其他一些应用程序产生的。这样,部署有时会失败,并且我收到Unprocessable entity(Microsoft.Rest.HttpOperationException)错误。但是,实际上很难确定哪个字段导致了Unprocessable实体错误。

有人可以告诉我如何识别错误的字段吗?

这是跟踪:

Microsoft.Rest.HttpOperationException: Operation returned an invalid status code 'UnprocessableEntity'
   at k8s.Kubernetes.CreateNamespacedDeploymentWithHttpMessagesAsync(V1Deployment body, String namespaceParameter, String dryRun, String fieldManager, String pretty, Dictionary`2 customHeaders, CancellationToken cancellationToken)
   at k8s.KubernetesExtensions.CreateNamespacedDeploymentAsync(IKubernetes operations, V1Deployment body, String namespaceParameter, String dryRun, String fieldManager, String pretty, CancellationToken cancellationToken)
   at k8s.KubernetesExtensions.CreateNamespacedDeployment(IKubernetes operations, V1Deployment body, String namespaceParameter, String dryRun, String fieldManager, String pretty)

最佳答案

所有Kubernetes请求都通过 kube-apiserver 进行。部署规范需要符合API规范here记录。

您可以先查看kube-apiserver日志。如果您具有有效的部署,则也可以向后工作(是否有部署YAML list 文件?)。例如,您可以尝试从部署的YAML list 中删除一些字段,然后运行kubectl apply -f deployment.yaml以查看是否可以重现该错误。

关于.net - 在C#客户端中识别kubernetes部署规范中的错误字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56640917/

相关文章:

java - 如何从任何地方访问安装在 Kubernetes 上的服务?

c# - 为什么不能捕获内部异常?

PHP 中的 .Net int() 等效项

c# - 为什么在 WinForms 中可以跨线程添加控件,而在 WPF 中不能?

azure - aks 报告 "Insufficient pods"

kubernetes - 如何定义一些具有特定端口的 Kubernetes Ingress 路由

kubernetes 配置映射数据值外化

c# - StructureMap 创建实例

c# - 另一个程序集中的 MVVM 行为

kubernetes - 如何使用网络策略停止所有外部流量并仅允许 namespace 内的内部Pod网络调用?