Compare commits

...
13 Commits
Author SHA1 Message Date
pi-ux-ce d5eddaf2c2 The k8s-state deployment is the better home for httpcheck 2026-08-04 14:49:35 +01:00
pi-ux-ce 9b986a4953 try to setup httpcheck on the nod instead but no success 2026-08-04 14:39:09 +01:00
pi-ux-ce 1a2a820273 trying otel logs 2026-08-03 17:03:27 +01:00
pi-ux-ce af850e4bd5 tryign to add http plugin 2026-08-03 16:12:30 +01:00
pi-ux-ce dddb91e2a7 adding plugins 2026-08-03 15:48:24 +01:00
pi-ux-ce 9a125bb29d switching to new room 2026-08-03 15:15:07 +01:00
pi-ux-ce 1420a0b354 switching to new room 2026-08-03 15:12:10 +01:00
pi-ux-ce 3ae6d51fb2 add the storageClassName 2026-08-03 10:02:52 +01:00
pi-ux-ce f6a5dffe3c update proper commands 2026-08-03 09:58:50 +01:00
pi-ux-ce 7ea3134ff8 update readme 2026-07-30 10:15:21 +01:00
pi-ux-ce e130feda8c removing old files and try with the helm template 2026-07-30 10:11:09 +01:00
pi-ux-ce eed6e01cee try using the helm template but not working for now 2026-07-30 09:57:36 +01:00
pi-ux-ce 99059ae603 add before changes 2026-07-30 09:52:59 +01:00
3 changed files with 355 additions and 198 deletions
+49
View File
@@ -1,5 +1,54 @@
# netdata_kube # netdata_kube
If you plan to connect the node to Netdata Cloud, you can find the command with the right parameters by clicking the "Add Nodes" button in your Space's Nodes tab.
File generated using the following command
```
helm repo add netdata https://netdata.github.io/helmchart/ && helm repo update
helm template -n netdata netdata netdata/netdata \
--set image.tag=edge \
--set parent.claiming.enabled="true" \
--set parent.claiming.token=CIlCwV6GawNWIfhrqMVmPAJixo_BSaGvwVbHKFOCQCHbYG5J8Ac0FDxKrObJ727F1dndg8J-v6apUhzGho6RIOlkrqJ_F7DKodjLqbsSWb7Ta-GSHkkuHcTXidxKxEo5RK0jiqU \
--set parent.claiming.rooms=e15a4f12-89d7-4d5b-b588-6658fa835473 \
--set child.claiming.enabled="true" \
--set child.claiming.token=CIlCwV6GawNWIfhrqMVmPAJixo_BSaGvwVbHKFOCQCHbYG5J8Ac0FDxKrObJ727F1dndg8J-v6apUhzGho6RIOlkrqJ_F7DKodjLqbsSWb7Ta-GSHkkuHcTXidxKxEo5RK0jiqU \
--set child.claiming.rooms=e15a4f12-89d7-4d5b-b588-6658fa835473 > /opt/kubernetes/netdata_kube/netdata_helm.yml
```
I had to manually add a namespace block
```
---
apiVersion: v1
kind: Namespace
metadata:
name: netdata
```
Also modify the PersistentVolumeClaim
```
spec:
storageClassName: nfs-storage-intelligent
```
example :
```
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: paperless-media
spec:
storageClassName: nfs-storage-intelligent
accessModes:
- ReadWriteMany
resources:
requests:
storage: 20Gi
```
## Getting started ## Getting started
-85
View File
@@ -1,85 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: netdata
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: netdata-sa-clusteradmin
namespace: netdata
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: netdata-crb-clusteradmin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: netdata-sa-clusteradmin
namespace: netdata
---
apiVersion: v1
kind: Service
metadata:
name: netdata-agent
namespace: netdata
spec:
# type: NodePort
selector:
app: netdata-agent
ports:
- name: http
protocol: TCP
port: 19999
# targetPort: 80
# nodePort: 30999
---
apiVersion: v1
kind: Service
metadata:
name: netdata-agent-headless
namespace: netdata
spec:
clusterIP: None
selector:
app: netdata-agent
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: netdata-agent
namespace: netdata
spec:
selector:
matchLabels:
app: netdata-agent
template:
metadata:
labels:
app: netdata-agent
spec:
serviceAccountName: netdata-sa-clusteradmin
containers:
- name: netdata-agent
image: netdata/netdata
imagePullPolicy: Always
env:
- name: LOG_LEVEL
value: DEBUG
- name: AGENT_CLUSTER_ADDR
value: "netdata-agent-headless"
- name: KUBERNETES_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
resources:
limits:
cpu: 200m
memory: 200Mi
ports:
- containerPort: 19999
protocol: TCP
+306 -113
View File
@@ -1,11 +1,16 @@
--- ---
apiVersion: v1
kind: Namespace
metadata:
name: netdata
---
# Source: netdata/templates/serviceaccount.yaml # Source: netdata/templates/serviceaccount.yaml
kind: ServiceAccount kind: ServiceAccount
apiVersion: v1 apiVersion: v1
metadata: metadata:
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
name: netdata name: netdata
@@ -19,7 +24,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
data: data:
@@ -32,21 +37,58 @@ data:
update_every: 1 update_every: 1
autodetection_retry: 0 autodetection_retry: 0
jobs: jobs:
- url: http://127.0.0.1:10255/metrics - name: local
- url: https://localhost:10250/metrics url: http://127.0.0.1:10255/metrics
- name: local
url: https://localhost:10250/metrics
tls_skip_verify: yes tls_skip_verify: yes
kubeproxy: | kubeproxy: |
update_every: 1 update_every: 1
autodetection_retry: 0 autodetection_retry: 0
jobs: jobs:
- url: http://127.0.0.1:10249/metrics - name: local
url: http://127.0.0.1:10249/metrics
dnsquery: |
update_every: 3600
autodetection_retry: 0
jobs:
- name: job1
record_types:
- A
- AAAA
domains:
- google.com
- github.com
- gitea.tryton.geeraert.eu
servers:
- 8.8.8.8
- 8.8.4.4
x509check: |
jobs:
- name: my_site_cert
source: https://gitea.tryton.geeraert.eu:443
web_log: |
jobs:
- name: django_testing
path: /host/var/log/pods/django-testing_django-testing-7f89d9ffc5-mcm9g_ad5b3bbf-33ca-410f-aa0e-457664c6345b/django-testing/0.log
log_type: auto
- name: nginx
path: /host/var/log/pods/reverse-proxy_reverse-proxy-67c767c86f-pxvdz_af6033a7-dfcb-4430-a67b-ee75ea424cf7/reverse-proxy/0.log
log_type: auto
netdata: | netdata: |
[db] [db]
mode = ram mode = ram
[web]
bind to = localhost:19999
[health] [health]
enabled = no enabled = no
[ml] [ml]
enabled = no enabled = no
[plugins]
otel = yes
[plugin:otel]
command options = --otel-endpoint 0.0.0.0:4317 --otel-logs-journal-dir /var/log/netdata/otel/v1
stream: | stream: |
[stream] [stream]
enabled = yes enabled = yes
@@ -56,6 +98,103 @@ data:
buffer size bytes = 1048576 buffer size bytes = 1048576
reconnect delay seconds = 5 reconnect delay seconds = 5
initial clock resync iterations = 60 initial clock resync iterations = 60
otel: |
# OpenTelemetry Plugin Configuration
# This file configures the OpenTelemetry metrics and logs ingestion for Netdata
#
# To customize, run: edit-config otel.yaml
# Only include the fields you want to change — missing fields keep their defaults.
endpoint:
# gRPC endpoint to listen on for OpenTelemetry data
path: "127.0.0.1:4317"
# Path to TLS certificate file (enables TLS when provided)
tls_cert_path: null
# Path to TLS private key file (required when TLS certificate is provided)
tls_key_path: null
# Path to TLS CA certificate file for client authentication (optional)
tls_ca_cert_path: null
metrics:
# Directory with configuration files for mapping OTEL metrics to Netdata charts
chart_configs_dir: /etc/netdata/otel.d/v1/metrics
# Collection interval in seconds (1–3600). Defines the Netdata chart update frequency.
interval_secs: 10
# Grace period in seconds. After the last data point, the plugin waits this long
# before gap-filling. When interval_secs is overridden, this auto-derives as
# 5 * interval_secs unless explicitly set.
grace_period_secs: 60
# Expiry duration in seconds. Charts with no data for this long are removed.
expiry_duration_secs: 900
# Maximum number of new charts that can be created per gRPC request.
# Limits cardinality explosion from high-cardinality label combinations.
max_new_charts_per_request: 100
# Directory where OpenTelemetry logs and traces are stored.
# Must be an absolute path.
base_dir: /var/log/netdata/otel/v2
remote_storage:
# Upload data to remote object storage, in addition to keeping it on local
# disk. One backend is shared by logs and traces.
enabled: false
# NEVER put credentials in this file or in the URI below. Credentials are
# read from the netdata process environment and the standard cloud
# locations — for S3: AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY,
# ~/.aws/credentials, or an attached instance role (nothing to configure).
# To pass environment variables to the netdata service, use a root-only
# systemd EnvironmentFile.
# Remote storage location. The scheme selects the backend (fs, s3);
# non-secret backend options go in the query string. Examples:
# fs:///var/lib/netdata/otel/remote
# s3://bucket/prefix?region=us-east-1
# s3://bucket/prefix?region=us-east-1&endpoint=https://minio.example:9000
uri: "fs:///var/log/netdata/otel/v2/remote"
# Data deleted from local disk by retention but still in remote storage is
# fetched back into a bounded local cache when a query needs it. Cap for
# that cache:
read_cache_max_size: "1GB"
auth:
# Require senders to identify a tenant via the X-Scope-OrgID gRPC header.
# When disabled, all data belongs to a single "default" tenant.
# Applies to logs and traces; metrics have no tenants.
enabled: false
logs:
rotation:
# Incoming logs are appended to a current file; a new file starts when
# any of these limits is reached.
default:
max_file_size: "25MB"
max_entries: 50000
# Per-tenant overrides (any subset of the fields above):
# my-tenant:
# max_file_size: "100MB"
retention:
# How much log data to keep on local disk; the oldest files are deleted
# when any of these limits is exceeded.
default:
max_files: 100000
max_total_size: "1GB"
max_age: "7 days"
# Per-tenant overrides (any subset of the fields above):
# my-tenant:
# max_age: "30 days"
--- ---
# Source: netdata/templates/child/configmap.yaml # Source: netdata/templates/child/configmap.yaml
apiVersion: v1 apiVersion: v1
@@ -65,18 +204,23 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
data: data:
config.yml: | config.yml: |
name: kubernetes disabled: no
discovery:
k8s: name: 'kubernetes'
- tags: unknown
role: pod discover:
local_mode: true - discoverer: k8s
tag: k8s:
- tags: unknown
role: pod
pod:
local_mode: yes
classify:
- name: "Control-Plane" - name: "Control-Plane"
selector: unknown selector: unknown
tags: -unknown control_plane tags: -unknown control_plane
@@ -90,49 +234,49 @@ data:
tags: -unknown applications tags: -unknown applications
match: match:
- tags: activemq - tags: activemq
expr: '{{ and (eq .Port "8161") (glob .Image "**/activemq*") }}' expr: '{{ and (eq .Port "8161") (glob .Image "*/activemq*") }}'
- tags: apache - tags: apache
expr: '{{ and (eq .Port "80" "8080") (glob .Image "httpd*" "**/httpd*") }}' expr: '{{ and (eq .Port "80" "8080") (glob .Image "httpd*" "*/httpd*") }}'
- tags: bind - tags: bind
expr: '{{ and (eq .Port "8653") (glob .Image "**/bind*") }}' expr: '{{ and (eq .Port "8653") (glob .Image "*/bind*") }}'
- tags: cockroachdb - tags: cockroachdb
expr: '{{ and (eq .Port "8080") (glob .Image "**/cockroach*") }}' expr: '{{ and (eq .Port "8080") (glob .Image "*/cockroach*") }}'
- tags: consul - tags: consul
expr: '{{ and (eq .Port "8500") (glob .Image "consul*" "**/consul*") }}' expr: '{{ and (eq .Port "8500") (glob .Image "consul*" "*/consul*") }}'
- tags: coredns - tags: coredns
expr: '{{ and (eq .Port "9153") (glob .Image "**/coredns*") }}' expr: '{{ and (eq .Port "9153") (glob .Image "*/coredns*") }}'
- tags: elasticsearch - tags: elasticsearch
expr: '{{ and (eq .Port "9200") (glob .Image "elasticsearch:*" "**/elasticsearch:*") }}' expr: '{{ and (eq .Port "9200") (glob .Image "elasticsearch:*" "*/elasticsearch:*") }}'
- tags: fluentd - tags: fluentd
expr: '{{ and (eq .Port "24220") (glob .Image "fluentd*" "**/fluentd*") }}' expr: '{{ and (eq .Port "24220") (glob .Image "fluentd*" "*/fluentd*") }}'
- tags: freeradius - tags: freeradius
expr: '{{ and (eq .Port "18121") (glob .Image "**/freeradius*") }}' expr: '{{ and (eq .Port "18121") (glob .Image "*/freeradius*") }}'
- tags: hdfs - tags: hdfs
expr: '{{ and (eq .Port "50070") (glob .Image "**/hdfs*") }}' expr: '{{ and (eq .Port "50070") (glob .Image "*/hdfs*") }}'
- tags: lighttpd - tags: lighttpd
expr: '{{ and (eq .Port "80" "8080") (glob .Image "**/lighttpd*") }}' expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/lighttpd*") }}'
- tags: logstash - tags: logstash
expr: '{{ and (eq .Port "9600") (glob .Image "logstash*" "**/logstash*") }}' expr: '{{ and (eq .Port "9600") (glob .Image "logstash*" "*/logstash*") }}'
- tags: mysql - tags: mysql
expr: '{{ and (eq .Port "3306") (glob .Image "mysql*" "**/mysql*" "mariadb*" "**/mariadb*") }}' expr: '{{ and (eq .Port "3306") (glob .Image "mysql*" "*/mysql*" "mariadb*" "*/mariadb*") }}'
- tags: nginx - tags: nginx
expr: '{{ and (eq .Port "80" "8080") (glob .Image "nginx*" "**/nginx*") }}' expr: '{{ and (eq .Port "80" "8080") (glob .Image "nginx*" "*/nginx*") }}'
- tags: openvpn - tags: openvpn
expr: '{{ and (eq .Port "7505") (glob .Image "**/openvpn") }}' expr: '{{ and (eq .Port "7505") (glob .Image "*/openvpn") }}'
- tags: phpfpm - tags: phpfpm
expr: '{{ and (eq .Port "80" "8080") (glob .Image "**/phpfpm*" "**/php-fpm*") }}' expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/phpfpm*" "*/php-fpm*") }}'
- tags: rabbitmq - tags: rabbitmq
expr: '{{ and (eq .Port "15672") (glob .Image "rabbitmq*" "**/rabbitmq*") }}' expr: '{{ and (eq .Port "15672") (glob .Image "rabbitmq*" "*/rabbitmq*") }}'
- tags: solr - tags: solr
expr: '{{ and (eq .Port "8983") (glob .Image "solr*" "**/solr*") }}' expr: '{{ and (eq .Port "8983") (glob .Image "solr*" "*/solr*") }}'
- tags: tengine - tags: tengine
expr: '{{ and (eq .Port "80" "8080") (glob .Image "**/tengine*") }}' expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/tengine*") }}'
- tags: unbound - tags: unbound
expr: '{{ and (eq .Port "8953") (glob .Image "**/unbound*") }}' expr: '{{ and (eq .Port "8953") (glob .Image "*/unbound*") }}'
- tags: vernemq - tags: vernemq
expr: '{{ and (eq .Port "8888") (glob .Image "**/vernemq*") }}' expr: '{{ and (eq .Port "8888") (glob .Image "*/vernemq*") }}'
- tags: zookeeper - tags: zookeeper
expr: '{{ and (eq .Port "2181") (glob .Image "zookeeper*" "**/zookeeper*") }}' expr: '{{ and (eq .Port "2181") (glob .Image "zookeeper*" "*/zookeeper*") }}'
- tags: consul_envoy - tags: consul_envoy
expr: | expr: |
{{ $imageOK := glob .Image "*/consul-dataplane*" -}} {{ $imageOK := glob .Image "*/consul-dataplane*" -}}
@@ -149,13 +293,12 @@ data:
expr: | expr: |
{{ $scrapeOK := eq (get .Annotations "prometheus.io/scrape") "true" -}} {{ $scrapeOK := eq (get .Annotations "prometheus.io/scrape") "true" -}}
{{ $portOK := eq (default .Port (get .Annotations "prometheus.io/port")) .Port -}} {{ $portOK := eq (default .Port (get .Annotations "prometheus.io/port")) .Port -}}
{{ $imageOK := not (glob .Image "netdata/netdata*" "**pulsar*" "**telegraf*") -}} {{ $imageOK := not (glob .Image "netdata/netdata*" "*pulsar*" "*telegraf*") -}}
{{ and $scrapeOK $portOK $imageOK }} {{ and $scrapeOK $portOK $imageOK }}
build: compose:
- name: "Control-Plane" - name: "Control-Plane"
selector: '!unknown control_plane' selector: '!unknown control_plane'
tags: file config:
apply:
- selector: kube_scheduler - selector: kube_scheduler
template: | template: |
- module: prometheus - module: prometheus
@@ -174,8 +317,7 @@ data:
max_time_series: 2000 max_time_series: 2000
- name: "Prometheus Generic Applications" - name: "Prometheus Generic Applications"
selector: '!unknown prometheus_generic' selector: '!unknown prometheus_generic'
tags: file config:
apply:
- selector: prometheus_generic - selector: prometheus_generic
template: | template: |
{{ $path := default "/metrics" (get .Annotations "prometheus.io/path") -}} {{ $path := default "/metrics" (get .Annotations "prometheus.io/path") -}}
@@ -188,7 +330,7 @@ data:
- name: "Applications" - name: "Applications"
selector: '!unknown applications' selector: '!unknown applications'
tags: file tags: file
apply: config:
- selector: activemq - selector: activemq
template: | template: |
- module: activemq - module: activemq
@@ -309,10 +451,6 @@ data:
- module: zookeeper - module: zookeeper
name: zookeeper-{{.TUID}} name: zookeeper-{{.TUID}}
address: {{.Address}} address: {{.Address}}
export:
file:
- selector: file
filename: "/export/go.d.yml"
--- ---
# Source: netdata/templates/k8s-state/configmap.yaml # Source: netdata/templates/k8s-state/configmap.yaml
apiVersion: v1 apiVersion: v1
@@ -322,7 +460,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
data: data:
@@ -331,6 +469,7 @@ data:
default_run: no default_run: no
modules: modules:
k8s_state: yes k8s_state: yes
httpcheck: yes
go.d-k8s_state: | go.d-k8s_state: |
jobs: jobs:
- name: k8s_state - name: k8s_state
@@ -340,6 +479,8 @@ data:
hostname = netdata-k8s-state hostname = netdata-k8s-state
[db] [db]
mode = ram mode = ram
[web]
bind to = localhost:19999
[health] [health]
enabled = no enabled = no
[ml] [ml]
@@ -371,6 +512,18 @@ data:
buffer size bytes = 1048576 buffer size bytes = 1048576
reconnect delay seconds = 5 reconnect delay seconds = 5
initial clock resync iterations = 60 initial clock resync iterations = 60
httpcheck: |
update_every: 1
autodetection_retry: 0
jobs:
- name: gitea
url: https://gitea.tryton.geeraert.eu:443
headers:
Host: localhost:8080
User-Agent: netdata/go.d.plugin
Accept: */*
- name: bitwarden
url: https://bitwarden.tryton.geeraert.eu:443
--- ---
# Source: netdata/templates/parent/configmap.yaml # Source: netdata/templates/parent/configmap.yaml
apiVersion: v1 apiVersion: v1
@@ -380,7 +533,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
data: data:
@@ -425,11 +578,12 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: k8sState role: k8sState
spec: spec:
storageClassName: nfs-storage-intelligent
accessModes: [ "ReadWriteOnce" ] accessModes: [ "ReadWriteOnce" ]
resources: resources:
requests: requests:
@@ -443,15 +597,16 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: parent role: parent
spec: spec:
storageClassName: nfs-storage-intelligent
accessModes: [ "ReadWriteOnce" ] accessModes: [ "ReadWriteOnce" ]
resources: resources:
requests: requests:
storage: 2Gi storage: 15Gi
--- ---
# Source: netdata/templates/parent/persistentvolumeclaim.yaml # Source: netdata/templates/parent/persistentvolumeclaim.yaml
apiVersion: v1 apiVersion: v1
@@ -461,11 +616,12 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: parent role: parent
spec: spec:
storageClassName: nfs-storage-intelligent
accessModes: [ "ReadWriteOnce" ] accessModes: [ "ReadWriteOnce" ]
resources: resources:
requests: requests:
@@ -478,7 +634,7 @@ metadata:
name: netdata name: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
rules: rules:
@@ -495,6 +651,21 @@ rules:
- "get" - "get"
- "list" - "list"
- "watch" - "watch"
- apiGroups: ["apps"]
resources:
- "deployments"
verbs:
- "get"
- "list"
- "watch"
- apiGroups: ["batch"]
resources:
- "cronjobs"
- "jobs"
verbs:
- "get"
- "list"
- "watch"
- apiGroups: [""] - apiGroups: [""]
resources: resources:
- "namespaces" # used by go.d/k8s_state, netdata (cgroup-name.sh, get-kubernetes-labels.sh) - "namespaces" # used by go.d/k8s_state, netdata (cgroup-name.sh, get-kubernetes-labels.sh)
@@ -508,7 +679,7 @@ metadata:
name: netdata name: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
roleRef: roleRef:
@@ -528,7 +699,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: parent role: parent
@@ -553,7 +724,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: child role: child
@@ -567,7 +738,7 @@ spec:
metadata: metadata:
annotations: annotations:
container.apparmor.security.beta.kubernetes.io/netdata: unconfined container.apparmor.security.beta.kubernetes.io/netdata: unconfined
checksum/config: 8a8e545f0dc48a2f506bad9fcb687a4a86525f3b66f3622d6db28d8fef66fb29 checksum/config: 8a146c7f2aa937bbdd19b8ad73ddf059040663eb3ae88046b343003a4fa089e3
labels: labels:
app: netdata app: netdata
release: netdata release: netdata
@@ -597,9 +768,15 @@ spec:
' '
containers: containers:
- name: netdata - name: netdata
image: "netdata/netdata:v1.45.3" image: "netdata/netdata:edge"
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: NETDATA_CLAIM_URL
value: "https://api.netdata.cloud"
- name: NETDATA_CLAIM_TOKEN
value: "CIlCwV6GawNWIfhrqMVmPAJixo_BSaGvwVbHKFOCQCHbYG5J8Ac0FDxKrObJ727F1dndg8J-v6apUhzGho6RIOlkrqJ_F7DKodjLqbsSWb7Ta-GSHkkuHcTXidxKxEo5RK0jiqU"
- name: NETDATA_CLAIM_ROOMS
value: "e15a4f12-89d7-4d5b-b588-6658fa835473"
- name: MY_POD_NAME - name: MY_POD_NAME
valueFrom: valueFrom:
fieldRef: fieldRef:
@@ -614,25 +791,25 @@ spec:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: NETDATA_LISTENER_PORT - name: NETDATA_LISTENER_PORT
value: '19999' value: '19999'
- name: NETDATA_PLUGINS_GOD_WATCH_PATH
value: "/etc/netdata/go.d/sd/go.d.yml"
ports: ports:
- name: http - name: http
containerPort: 19999 containerPort: 19999
protocol: TCP protocol: TCP
livenessProbe: livenessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
successThreshold: 1 successThreshold: 1
timeoutSeconds: 1 timeoutSeconds: 1
readinessProbe: readinessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
@@ -654,6 +831,18 @@ spec:
- name: configmap - name: configmap
mountPath: /etc/netdata/go.d/k8s_kubelet.conf mountPath: /etc/netdata/go.d/k8s_kubelet.conf
subPath: kubelet subPath: kubelet
- name: configmap
mountPath: /etc/netdata/go.d/dns_query.conf
subPath: dnsquery
- name: configmap
mountPath: /etc/netdata/go.d/x509check.conf
subPath: x509check
- name: configmap
mountPath: /etc/netdata/go.d/web_log.conf
subPath: web_log
- name: configmap
mountPath: /etc/netdata/otel.yaml
subPath: otel
- name: configmap - name: configmap
mountPath: /etc/netdata/go.d/k8s_kubeproxy.conf mountPath: /etc/netdata/go.d/k8s_kubeproxy.conf
subPath: kubeproxy subPath: kubeproxy
@@ -665,8 +854,9 @@ spec:
subPath: stream subPath: stream
- name: persistencevarlibdir - name: persistencevarlibdir
mountPath: /var/lib/netdata mountPath: /var/lib/netdata
- name: sd-shared - name: sdconfigmap
mountPath: "/etc/netdata/go.d/sd/" mountPath: "/etc/netdata/go.d/sd/k8s.conf"
subPath: config.yml
securityContext: securityContext:
capabilities: capabilities:
add: add:
@@ -674,30 +864,6 @@ spec:
- SYS_ADMIN - SYS_ADMIN
resources: resources:
{} {}
- name: sd
image: "netdata/agent-sd:v0.2.9"
imagePullPolicy: Always
volumeMounts:
- name: sd-shared
mountPath: "/export/"
resources:
limits:
cpu: 50m
memory: 150Mi
requests:
cpu: 50m
memory: 100Mi
env:
- name: NETDATA_SD_CONFIG_MAP
value: "netdata-child-sd-config-map:config.yml"
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
tolerations: tolerations:
- effect: NoSchedule - effect: NoSchedule
operator: Exists operator: Exists
@@ -727,8 +893,10 @@ spec:
hostPath: hostPath:
path: /var/lib/netdata-k8s-child/var/lib/netdata path: /var/lib/netdata-k8s-child/var/lib/netdata
type: DirectoryOrCreate type: DirectoryOrCreate
- name: sd-shared - name: sdconfigmap
emptyDir: { } configMap:
name: netdata-child-sd-config-map
optional: true
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
--- ---
# Source: netdata/templates/k8s-state/deployment.yaml # Source: netdata/templates/k8s-state/deployment.yaml
@@ -739,7 +907,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: k8sState role: k8sState
@@ -755,7 +923,7 @@ spec:
metadata: metadata:
annotations: annotations:
container.apparmor.security.beta.kubernetes.io/netdata: unconfined container.apparmor.security.beta.kubernetes.io/netdata: unconfined
checksum/config: 4376cdf86723c0d12ab8579f65590ceb5471790269a6e69073e5ca43f5a3622e checksum/config: 695eec71873af73b22884232dbacc2917e0b13dad40de683b317b1105911c469
labels: labels:
app: netdata app: netdata
release: netdata release: netdata
@@ -768,9 +936,17 @@ spec:
initContainers: initContainers:
containers: containers:
- name: netdata - name: netdata
image: "netdata/netdata:v1.45.3" image: "netdata/netdata:edge"
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NETDATA_LISTENER_PORT - name: NETDATA_LISTENER_PORT
value: '19999' value: '19999'
ports: ports:
@@ -778,18 +954,20 @@ spec:
containerPort: 19999 containerPort: 19999
protocol: TCP protocol: TCP
livenessProbe: livenessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
successThreshold: 1 successThreshold: 1
timeoutSeconds: 1 timeoutSeconds: 1
readinessProbe: readinessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
@@ -801,6 +979,9 @@ spec:
- name: configmap - name: configmap
mountPath: /etc/netdata/go.d.conf mountPath: /etc/netdata/go.d.conf
subPath: go.d subPath: go.d
- name: configmap
mountPath: /etc/netdata/go.d/httpcheck.conf
subPath: httpcheck
- name: configmap - name: configmap
mountPath: /etc/netdata/go.d/k8s_state.conf mountPath: /etc/netdata/go.d/k8s_state.conf
subPath: go.d-k8s_state subPath: go.d-k8s_state
@@ -840,7 +1021,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
role: parent role: parent
@@ -860,17 +1041,24 @@ spec:
release: netdata release: netdata
role: parent role: parent
annotations: annotations:
checksum/config: ddb93add72023d942465d0159ea638549f579f448126dd65a6212c1f8a13b9a3 checksum/config: 7ae6d956c6b1ddf923e6d707aecca99fc502fa2fba6feb22b7845f5840edd58e
spec: spec:
securityContext: securityContext:
fsGroup: 201 fsGroup: 201
serviceAccountName: netdata serviceAccountName: netdata
initContainers: initContainers:
[]
containers: containers:
- name: netdata - name: netdata
image: "netdata/netdata:v1.45.3" image: "netdata/netdata:edge"
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: NETDATA_CLAIM_URL
value: "https://api.netdata.cloud"
- name: NETDATA_CLAIM_TOKEN
value: "CIlCwV6GawNWIfhrqMVmPAJixo_BSaGvwVbHKFOCQCHbYG5J8Ac0FDxKrObJ727F1dndg8J-v6apUhzGho6RIOlkrqJ_F7DKodjLqbsSWb7Ta-GSHkkuHcTXidxKxEo5RK0jiqU"
- name: NETDATA_CLAIM_ROOMS
value: "e15a4f12-89d7-4d5b-b588-6658fa835473"
- name: MY_POD_NAME - name: MY_POD_NAME
valueFrom: valueFrom:
fieldRef: fieldRef:
@@ -886,23 +1074,28 @@ spec:
containerPort: 19999 containerPort: 19999
protocol: TCP protocol: TCP
livenessProbe: livenessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
successThreshold: 1 successThreshold: 1
timeoutSeconds: 1 timeoutSeconds: 1
readinessProbe: readinessProbe:
httpGet: exec:
path: /api/v1/info command:
port: http - /usr/sbin/netdatacli
- ping
initialDelaySeconds: 0 initialDelaySeconds: 0
failureThreshold: 3 failureThreshold: 3
periodSeconds: 30 periodSeconds: 30
successThreshold: 1 successThreshold: 1
timeoutSeconds: 1 timeoutSeconds: 1
securityContext:
runAsUser: 201
runAsGroup: 201
volumeMounts: volumeMounts:
- name: os-release - name: os-release
mountPath: /host/etc/os-release mountPath: /host/etc/os-release
@@ -950,7 +1143,7 @@ metadata:
namespace: netdata namespace: netdata
labels: labels:
app: netdata app: netdata
chart: netdata-3.7.88 chart: netdata-3.7.170
release: netdata release: netdata
heritage: Helm heritage: Helm
annotations: annotations: