Kubernetes-Helm 创建的自定义 JSON 文件在 curling/browsing 时被截断

Custom JSON file created by Kubernetes-Helm gets cut off when curling/browsing to it

我是整个 Kubernetes-Helm 的新手,请耐心等待,我会尽可能清楚地说明我的问题

所以我有这样的 ConfigMap.yaml 文件:

apiVersion: v1
kind: ConfigMap
metadata:
  name: envread-settings
  namespace: {{ .Values.environment.namespace }}
data:
  appsettings.environment.json: |-
    {
      "featureBranch": {{ .Values.component.vars.featureId | quote }},
      "BFFServiceUrl": {{ .Values.environment.BFFServiceUrl | quote }}
    }
---

值在哪里:

这会在我指定的卷路径中创建一个 appsettings.environment.json 文件。我需要动态创建这个 json 文件,因为我需要在其中插入上述变量(遗憾的是我的应用程序不能使用环境变量)。

当我 ssh 进入终端并且 vim 那个文件上的一切看起来都很漂亮即:

{
   "featureBranch": "123",
   "BFFServiceUrl": "api.dev.integration/bff-service"
}

但是当我卷曲这个文件时,我得到:

{
   "featureBranch": "123",

当我直接浏览到这个文件时也是如此(我是 运行 一个使用 ASP.NET Core 3.1 的 Angular SPA 应用程序)。

我在 yaml 文件中做错了什么吗?

编辑 我是 运行 的 curl 命令是: curl https://api.integrations.portal/assets/appsettings.json。 在请求和响应之间有一个 NGINX Ingress 运行。

我以前也遇到过类似的问题。就我而言,curl returned 错误代码 18。您可以通过 运行 您的 curl 然后 echo $? 为自己 check this。正如我提到的,我有错误代码 18,这意味着:

CURLE_PARTIAL_FILE (18) A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.

Here 你会发现 link 对 curl 可能 return 的任何错误的描述。以防您遇到另一个错误。

这似乎是服务器端问题。您可以尝试通过使用 --http1.0 选项强制 HTTP 1.0 连接(以避免可能导致此问题的分块传输)来解决这个问题。

此外,如果您有一个使用 Nginx 的反向代理或负载平衡器,并且您的 /var(或发生 Nginx 日志记录的分区)已满,Nginx 的服务器响应可能会被切断。

您还可以阅读this question