agents.volumes 参数应该如何在 Datadog Helm Chart 中工作
How does the agents.volumes parameter supposed to work in Datadog Helm Chart
我正在尝试将文件路径挂载到我的 datadog 代理容器中,该容器正通过 Datadog Helm Chart.
配置到 kubernetes 集群中
我正在使用 agents.volumes
值传入。文档将其描述为“指定要安装在 dd-agent 容器中的附加卷”。
基于 Datadog/helm-charts repo 中的语法 - 我正在使用:
agents:
volumes:
- hostPath:
path: /var/log/cloud-init.log
name: cloud-init
但是当我将该更改应用于我的集群时,我没有看到任何证据表明此路径已安装在我的代理容器上的任何位置。我没有看到任何关于将卷从我的主机容器装入 datadog 代理容器的很好的解释。
我看到该值仅用于在 DaemonSet pod 定义上声明卷,而不用于挂载它们。
agents.volumes
用于在代理上定义自定义卷,但这用于 DaemonSet 定义,特别是 spec.template.spec.volumes
look here.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: {{ template "datadog.fullname" . }}
namespace: {{ .Release.Namespace }}
...
spec:
...
spec:
...
volumes:
...
{{- if .Values.agents.volumes }}
{{ toYaml .Values.agents.volumes | indent 6 }}
{{- end }}
要实际使用这些卷,您必须定义变量 agents.volumeMounts
which is used here。
{{- define "container-agent" -}}
- name: agent
image: "{{ include "image-path" (dict "root" .Values "image" .Values.agents.image) }}"
...
volumeMounts:
...
{{- if .Values.agents.volumeMounts }}
{{ toYaml .Values.agents.volumeMounts | indent 4 }}
{{- end }}
...
{{- end -}}
所以您很可能想这样定义您的价值观:
agents:
volumes:
- hostPath:
path: /var/log/cloud-init.log
name: cloud-init
volumeMounts:
- name: cloud-init
mountPath: /some/path
readOnly: true
我正在尝试将文件路径挂载到我的 datadog 代理容器中,该容器正通过 Datadog Helm Chart.
配置到 kubernetes 集群中我正在使用 agents.volumes
值传入。文档将其描述为“指定要安装在 dd-agent 容器中的附加卷”。
基于 Datadog/helm-charts repo 中的语法 - 我正在使用:
agents:
volumes:
- hostPath:
path: /var/log/cloud-init.log
name: cloud-init
但是当我将该更改应用于我的集群时,我没有看到任何证据表明此路径已安装在我的代理容器上的任何位置。我没有看到任何关于将卷从我的主机容器装入 datadog 代理容器的很好的解释。
我看到该值仅用于在 DaemonSet pod 定义上声明卷,而不用于挂载它们。
agents.volumes
用于在代理上定义自定义卷,但这用于 DaemonSet 定义,特别是 spec.template.spec.volumes
look here.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: {{ template "datadog.fullname" . }}
namespace: {{ .Release.Namespace }}
...
spec:
...
spec:
...
volumes:
...
{{- if .Values.agents.volumes }}
{{ toYaml .Values.agents.volumes | indent 6 }}
{{- end }}
要实际使用这些卷,您必须定义变量 agents.volumeMounts
which is used here。
{{- define "container-agent" -}}
- name: agent
image: "{{ include "image-path" (dict "root" .Values "image" .Values.agents.image) }}"
...
volumeMounts:
...
{{- if .Values.agents.volumeMounts }}
{{ toYaml .Values.agents.volumeMounts | indent 4 }}
{{- end }}
...
{{- end -}}
所以您很可能想这样定义您的价值观:
agents:
volumes:
- hostPath:
path: /var/log/cloud-init.log
name: cloud-init
volumeMounts:
- name: cloud-init
mountPath: /some/path
readOnly: true