Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable system-probe on GKE Autopilot #1453

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion charts/datadog/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Datadog changelog

## 3.71.0

* Enable `system-probe` container on GKE Autopilot

## 3.70.7

* Set default `Agent` and `Cluster-Agent` version to `7.56.2`.
Expand Down Expand Up @@ -46,7 +50,7 @@

## 3.69.0

* Add support OTel Agent container. OTel Agent is Datadog's distribution of OTel collector.
* Add support OTel Agent container. OTel Agent is Datadog's distribution of OTel collector.

## 3.68.2

Expand Down
2 changes: 1 addition & 1 deletion charts/datadog/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: datadog
version: 3.70.7
version: 3.71.0
appVersion: "7"
description: Datadog Agent
keywords:
Expand Down
2 changes: 1 addition & 1 deletion charts/datadog/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Datadog

![Version: 3.70.7](https://img.shields.io/badge/Version-3.70.7-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
![Version: 3.71.0](https://img.shields.io/badge/Version-3.71.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)

[Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/).

Expand Down
18 changes: 0 additions & 18 deletions charts/datadog/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -333,14 +333,6 @@ On GKE Autopilot, only one "datadog" Helm chart release is allowed by Kubernetes
* The serviceAccountName must be "datadog-agent".
* All ConfigMap names mounted must be hardcode.

{{- if eq (include "system-probe-feature" .) "true" }}

#####################################################################
#### WARNING: System Probe is not supported on GKE Autopilot ####
#####################################################################
{{- fail "On GKE Autopilot environments, System Probe is not supported. The option 'datadog.securityAgent.runtime.enabled' must be set 'false'" }}
brycekahle marked this conversation as resolved.
Show resolved Hide resolved

{{- end }}

{{- if and .Values.providers.gke.cos .Values.datadog.systemProbe.enableDefaultKernelHeadersPaths }}
#################################################################################
Expand Down Expand Up @@ -398,16 +390,6 @@ The option is overriden to avoid mounting volumes that are not allowed which wou

{{- end }}

{{- if .Values.datadog.networkMonitoring.enabled }}

#######################################################################################
#### WARNING: Network Performance Monitoring is not supported on GKE Autopilot ####
#######################################################################################

{{- fail "On GKE Autopilot environments, Network Performance Monitoring is not supported. The option 'datadog.networkMonitoring.enabled' must be set to 'false'" }}

{{- end }}

{{- end }}

{{- if and (.Values.datadog.dogstatsd.useSocketVolume) (eq .Values.targetSystem "windows") }}
Expand Down
4 changes: 3 additions & 1 deletion charts/datadog/templates/_container-system-probe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
image: "{{ include "image-path" (dict "root" .Values "image" .Values.agents.image) }}"
imagePullPolicy: {{ .Values.agents.image.pullPolicy }}
{{ include "generate-security-context" (dict "securityContext" .Values.agents.containers.systemProbe.securityContext "targetSystem" .Values.targetSystem "seccomp" .Values.datadog.systemProbe.seccomp "kubeversion" .Capabilities.KubeVersion.Version) | indent 2 }}
command: ["/opt/datadog-agent/embedded/bin/system-probe", "--config=/etc/datadog-agent/system-probe.yaml"]
command: ["system-probe", "--config=/etc/datadog-agent/system-probe.yaml"]
{{- if .Values.agents.containers.systemProbe.ports }}
ports:
{{ toYaml .Values.agents.containers.systemProbe.ports | indent 2 }}
Expand All @@ -30,9 +30,11 @@
resources:
{{ toYaml .Values.agents.containers.systemProbe.resources | indent 4 }}
volumeMounts:
{{- if (not .Values.providers.gke.autopilot) }}
- name: auth-token
mountPath: {{ template "datadog.confPath" . }}/auth
readOnly: true
{{- end }}
- name: logdatadog
mountPath: {{ template "datadog.logDirectoryPath" . }}
readOnly: false # Need RW to write logs
Expand Down
2 changes: 1 addition & 1 deletion charts/datadog/templates/_daemonset-volumes-linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
- hostPath:
path: /sys/fs/cgroup
name: cgroups
{{- if and (not .Values.providers.gke.autopilot) (or .Values.datadog.systemProbe.osReleasePath .Values.datadog.osReleasePath .Values.datadog.sbom.host.enabled) }}
{{- if (or .Values.datadog.systemProbe.osReleasePath .Values.datadog.osReleasePath .Values.datadog.sbom.host.enabled) }}
- hostPath:
path: {{ .Values.datadog.systemProbe.osReleasePath | default .Values.datadog.osReleasePath }}
name: os-release-file
Expand Down
3 changes: 1 addition & 2 deletions charts/datadog/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ false
Return true if the system-probe container should be created.
*/}}
{{- define "should-enable-system-probe" -}}
{{- if and (not .Values.providers.gke.autopilot) (eq (include "system-probe-feature" .) "true") (eq .Values.targetSystem "linux") -}}
{{- if and (eq (include "system-probe-feature" .) "true") (eq .Values.targetSystem "linux") -}}
true
{{- else -}}
false
Expand Down Expand Up @@ -938,7 +938,6 @@ Create RBACs for custom resources
false
{{- end -}}
{{- end -}}

{{/*
Return true if any process-related check is enabled
*/}}
Expand Down
3 changes: 3 additions & 0 deletions charts/datadog/templates/daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ spec:
{{- if and .Values.agents.podSecurity.apparmor.enabled .Values.datadog.sbom.containerImage.uncompressedLayersSupport }}
container.apparmor.security.beta.kubernetes.io/agent: unconfined
{{- end }}
{{- if .Values.providers.gke.autopilot }}
autopilot.gke.io/no-connect: "false"
{{- end }}
{{- if .Values.agents.podAnnotations }}
{{ tpl (toYaml .Values.agents.podAnnotations) . | indent 8 }}
{{- end }}
Expand Down
Loading