我正在尝试使用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/