From 3f34e7b3f5de70d9c4a90d5af7b59b516547061a Mon Sep 17 00:00:00 2001 From: pierre Date: Tue, 4 Aug 2026 15:44:52 +0100 Subject: [PATCH] moving to kustomize --- netdata_helm.yml | 1177 ---------------------------------------------- 1 file changed, 1177 deletions(-) delete mode 100644 netdata_helm.yml diff --git a/netdata_helm.yml b/netdata_helm.yml deleted file mode 100644 index fece914..0000000 --- a/netdata_helm.yml +++ /dev/null @@ -1,1177 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: netdata ---- -# Source: netdata/templates/serviceaccount.yaml -kind: ServiceAccount -apiVersion: v1 -metadata: - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - name: netdata - namespace: netdata ---- -# Source: netdata/templates/child/configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: netdata-conf-child - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -data: - - go.d: | - modules: - pulsar: no - prometheus: yes - kubelet: | - update_every: 1 - autodetection_retry: 0 - jobs: - - name: local - url: http://127.0.0.1:10255/metrics - - name: local - url: https://localhost:10250/metrics - tls_skip_verify: yes - kubeproxy: | - update_every: 1 - autodetection_retry: 0 - jobs: - - 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 - 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://bitwardem.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: | - [db] - mode = ram - [web] - bind to = localhost:19999 - [health] - enabled = no - [ml] - 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] - enabled = yes - destination = netdata:19999 - api key = 11111111-2222-3333-4444-555555555555 - timeout seconds = 60 - buffer size bytes = 1048576 - reconnect delay seconds = 5 - 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 -apiVersion: v1 -kind: ConfigMap -metadata: - name: netdata-child-sd-config-map - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -data: - config.yml: | - disabled: no - - name: 'kubernetes' - - discover: - - discoverer: k8s - k8s: - - tags: unknown - role: pod - pod: - local_mode: yes - classify: - - name: "Control-Plane" - selector: unknown - tags: -unknown control_plane - match: - - tags: kube_scheduler - expr: '{{ glob .Image "k8s.gcr.io/kube-scheduler:*" }}' - - tags: kube_controller_manager - expr: '{{ glob .Image "k8s.gcr.io/kube-controller-manager:*" }}' - - name: "Applications" - selector: unknown - tags: -unknown applications - match: - - tags: activemq - expr: '{{ and (eq .Port "8161") (glob .Image "*/activemq*") }}' - - tags: apache - expr: '{{ and (eq .Port "80" "8080") (glob .Image "httpd*" "*/httpd*") }}' - - tags: bind - expr: '{{ and (eq .Port "8653") (glob .Image "*/bind*") }}' - - tags: cockroachdb - expr: '{{ and (eq .Port "8080") (glob .Image "*/cockroach*") }}' - - tags: consul - expr: '{{ and (eq .Port "8500") (glob .Image "consul*" "*/consul*") }}' - - tags: coredns - expr: '{{ and (eq .Port "9153") (glob .Image "*/coredns*") }}' - - tags: elasticsearch - expr: '{{ and (eq .Port "9200") (glob .Image "elasticsearch:*" "*/elasticsearch:*") }}' - - tags: fluentd - expr: '{{ and (eq .Port "24220") (glob .Image "fluentd*" "*/fluentd*") }}' - - tags: freeradius - expr: '{{ and (eq .Port "18121") (glob .Image "*/freeradius*") }}' - - tags: hdfs - expr: '{{ and (eq .Port "50070") (glob .Image "*/hdfs*") }}' - - tags: lighttpd - expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/lighttpd*") }}' - - tags: logstash - expr: '{{ and (eq .Port "9600") (glob .Image "logstash*" "*/logstash*") }}' - - tags: mysql - expr: '{{ and (eq .Port "3306") (glob .Image "mysql*" "*/mysql*" "mariadb*" "*/mariadb*") }}' - - tags: nginx - expr: '{{ and (eq .Port "80" "8080") (glob .Image "nginx*" "*/nginx*") }}' - - tags: openvpn - expr: '{{ and (eq .Port "7505") (glob .Image "*/openvpn") }}' - - tags: phpfpm - expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/phpfpm*" "*/php-fpm*") }}' - - tags: rabbitmq - expr: '{{ and (eq .Port "15672") (glob .Image "rabbitmq*" "*/rabbitmq*") }}' - - tags: solr - expr: '{{ and (eq .Port "8983") (glob .Image "solr*" "*/solr*") }}' - - tags: tengine - expr: '{{ and (eq .Port "80" "8080") (glob .Image "*/tengine*") }}' - - tags: unbound - expr: '{{ and (eq .Port "8953") (glob .Image "*/unbound*") }}' - - tags: vernemq - expr: '{{ and (eq .Port "8888") (glob .Image "*/vernemq*") }}' - - tags: zookeeper - expr: '{{ and (eq .Port "2181") (glob .Image "zookeeper*" "*/zookeeper*") }}' - - tags: consul_envoy - expr: | - {{ $imageOK := glob .Image "*/consul-dataplane*" -}} - {{ $scrapeOK := eq (get .Annotations "prometheus.io/scrape") "true" -}} - {{ $promPort := get .Annotations "prometheus.io/port" -}} - {{ $portOK1 := and (eq .Port $promPort) (not (empty .Port)) -}} - {{ $portOK2 := and (empty .Port) (not (empty $promPort)) -}} - {{ and $imageOK $scrapeOK (or $portOK1 $portOK2) }} - - name: "Prometheus Generic Applications" - selector: unknown - tags: -unknown prometheus_generic - match: - - tags: prometheus_generic - expr: | - {{ $scrapeOK := eq (get .Annotations "prometheus.io/scrape") "true" -}} - {{ $portOK := eq (default .Port (get .Annotations "prometheus.io/port")) .Port -}} - {{ $imageOK := not (glob .Image "netdata/netdata*" "*pulsar*" "*telegraf*") -}} - {{ and $scrapeOK $portOK $imageOK }} - compose: - - name: "Control-Plane" - selector: '!unknown control_plane' - config: - - selector: kube_scheduler - template: | - - module: prometheus - name: prometheus-{{.TUID}} - url: http://{{.PodIP}}:{{default "10251" .Port}}/metrics - app: '{{.ContName}}' - update_every: 10 - max_time_series: 1000 - - selector: kube_controller_manager - template: | - - module: prometheus - name: prometheus-{{.TUID}} - url: http://{{.PodIP}}:{{default "10252" .Port}}/metrics - app: '{{.ContName}}' - update_every: 10 - max_time_series: 2000 - - name: "Prometheus Generic Applications" - selector: '!unknown prometheus_generic' - config: - - selector: prometheus_generic - template: | - {{ $path := default "/metrics" (get .Annotations "prometheus.io/path") -}} - - module: prometheus - name: prometheus-{{.TUID}} - url: http://{{.Address}}{{$path}} - app: '{{.ContName}}' - update_every: 10 - max_time_series: 4000 - - name: "Applications" - selector: '!unknown applications' - tags: file - config: - - selector: activemq - template: | - - module: activemq - name: activemq-{{.TUID}} - url: http://{{.Address}} - - selector: apache - template: | - - module: apache - name: apache-{{.TUID}} - url: http://{{.Address}}/server-status?auto - - selector: bind - template: | - - module: bind - name: bind-{{.TUID}} - url: http://{{.Address}}/json/v1 - - selector: cockroachdb - template: | - - module: cockroachdb - name: cockroachdb-{{.TUID}} - url: http://{{.Address}}/_status/vars - - selector: consul - template: | - - module: consul - name: consul-{{.TUID}} - url: http://{{.Address}} - - selector: coredns - template: | - - module: coredns - name: coredns-{{.TUID}} - url: http://{{.Address}}/metrics - - selector: elasticsearch - template: | - - module: elasticsearch - name: elasticsearch-{{.TUID}} - url: http://{{.Address}} - - selector: consul_envoy - template: | - {{ $path := default "/metrics" (get .Annotations "prometheus.io/path") -}} - {{ $promPort := get .Annotations "prometheus.io/port" -}} - {{ $port := ternary .Port $promPort (not (empty .Port)) -}} - - module: envoy - name: {{.TUID}} - url: http://{{ .PodIP }}:{{ $port }}{{ $path }} - - selector: fluentd - template: | - - module: fluentd - name: fluentd-{{.TUID}} - url: http://{{.Address}} - - selector: freeradius - template: | - - module: freeradius - name: freeradius-{{.TUID}} - address: {{.PodIP}} - port: {{.Port}} - - selector: hdfs - template: | - - module: hdfs - name: hdfs-{{.TUID}} - url: http://{{.Address}}/jmx - - selector: lighttpd - template: | - - module: lighttpd - name: lighttpd-{{.TUID}} - url: http://{{.Address}}/server-status?auto - - selector: logstash - template: | - - module: logstash - name: logstash-{{.TUID}} - url: http://{{.Address}} - - selector: mysql - template: | - - module: mysql - name: mysql-{{.TUID}} - dsn: 'netdata@tcp({{.Address}})/' - - selector: nginx - template: | - - module: nginx - name: nginx-{{.TUID}} - url: http://{{.Address}}/stub_status - - selector: openvpn - template: | - - module: openvpn - name: openvpn-{{.TUID}} - address: {{.Address}} - - selector: phpfpm - template: | - - module: phpfpm - name: phpfpm-{{.TUID}} - url: http://{{.Address}}/status?full&json - - selector: rabbitmq - template: | - - module: rabbitmq - name: rabbitmq-{{.TUID}} - url: http://{{.Address}} - - selector: solr - template: | - - module: solr - name: solr-{{.TUID}} - url: http://{{.Address}} - - selector: tengine - template: | - - module: tengine - name: tengine-{{.TUID}} - url: http://{{.Address}}/us - - selector: unbound - template: | - - module: unbound - name: unbound-{{.TUID}} - address: {{.Address}} - use_tls: false - - selector: vernemq - template: | - - module: vernemq - name: vernemq-{{.TUID}} - url: http://{{.Address}}/metrics - - selector: zookeeper - template: | - - module: zookeeper - name: zookeeper-{{.TUID}} - address: {{.Address}} ---- -# Source: netdata/templates/k8s-state/configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: netdata-conf-k8s-state - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -data: - - go.d: | - default_run: no - modules: - k8s_state: yes - go.d-k8s_state: | - jobs: - - name: k8s_state - update_every: 1 - netdata: | - [global] - hostname = netdata-k8s-state - [db] - mode = ram - [web] - bind to = localhost:19999 - [health] - enabled = no - [ml] - enabled = no - [plugins] - timex = no - checks = no - idlejitter = no - tc = no - diskspace = no - proc = no - cgroups = no - enable running new plugins = no - slabinfo = no - perf = no - go.d = yes - ioping = no - ebpf = no - charts.d = no - apps = no - python.d = no - fping = no - stream: | - [stream] - enabled = yes - destination = netdata:19999 - api key = 11111111-2222-3333-4444-555555555555 - timeout seconds = 60 - buffer size bytes = 1048576 - reconnect delay seconds = 5 - 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://bitwardem.tryton.geeraert.eu:443 ---- -# Source: netdata/templates/parent/configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: netdata-conf-parent - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -data: - - health: | - SEND_EMAIL="NO" - SEND_SLACK="YES" - SLACK_WEBHOOK_URL="" - DEFAULT_RECIPIENT_SLACK="" - netdata: | - [global] - hostname = netdata-parent - [db] - mode = dbengine - - [plugins] - cgroups = no - tc = no - enable running new plugins = no - check for new plugins every = 72000 - python.d = no - charts.d = no - go.d = no - node.d = no - apps = no - proc = no - idlejitter = no - diskspace = no - stream: | - [11111111-2222-3333-4444-555555555555] - enabled = yes - history = 3600 - default memory mode = dbengine - health enabled by default = auto - allow from = * ---- -# Source: netdata/templates/k8s-state/persistentvolumeclaim.yaml -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: netdata-k8s-state-varlib - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: k8sState -spec: - storageClassName: nfs-storage-intelligent - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi ---- -# Source: netdata/templates/parent/persistentvolumeclaim.yaml -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: netdata-parent-database - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: parent -spec: - storageClassName: nfs-storage-intelligent - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 15Gi ---- -# Source: netdata/templates/parent/persistentvolumeclaim.yaml -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: netdata-parent-alarms - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: parent -spec: - storageClassName: nfs-storage-intelligent - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi ---- -# Source: netdata/templates/clusterrole.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -rules: - - apiGroups: [""] - resources: - - "pods" # used by sd, go.d/k8s_state, netdata (cgroup-name.sh, get-kubernetes-labels.sh) - - "services" # used by sd - - "configmaps" # used by sd - - "secrets" # used by sd - - "nodes" # used by go.d/k8s_state - - "nodes/metrics" # used by go.d/k8s_kubelet when querying Kubelet HTTPS endpoint - - "nodes/proxy" # used by netdata (cgroup-name.sh) when querying Kubelet /pods endpoint - verbs: - - "get" - - "list" - - "watch" - - apiGroups: ["apps"] - resources: - - "deployments" - verbs: - - "get" - - "list" - - "watch" - - apiGroups: ["batch"] - resources: - - "cronjobs" - - "jobs" - verbs: - - "get" - - "list" - - "watch" - - apiGroups: [""] - resources: - - "namespaces" # used by go.d/k8s_state, netdata (cgroup-name.sh, get-kubernetes-labels.sh) - verbs: - - "get" ---- -# Source: netdata/templates/clusterrolebinding.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: netdata -subjects: -- kind: ServiceAccount - name: netdata - namespace: netdata ---- -# Source: netdata/templates/parent/service.yaml -apiVersion: v1 -kind: Service -metadata: - name: netdata - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: parent - annotations: -spec: - type: ClusterIP - ports: - - port: 19999 - targetPort: http - protocol: TCP - name: http - selector: - app: netdata - release: netdata - role: parent ---- -# Source: netdata/templates/child/daemonset.yaml -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: netdata-child - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: child -spec: - selector: - matchLabels: - app: netdata - release: netdata - role: child - template: - metadata: - annotations: - container.apparmor.security.beta.kubernetes.io/netdata: unconfined - checksum/config: 8a146c7f2aa937bbdd19b8ad73ddf059040663eb3ae88046b343003a4fa089e3 - labels: - app: netdata - release: netdata - role: child - spec: - serviceAccountName: netdata - restartPolicy: Always - hostPID: true - hostIPC: true - hostNetwork: true - initContainers: - - name: init-persistence - image: "alpine:latest" - resources: - requests: - cpu: 10m - imagePullPolicy: Always - volumeMounts: - - name: persistencevarlibdir - mountPath: "/persistencevarlibdir" - command: - - "/bin/sh" - args: - - "-c" - - ' - chmod 777 /persistencevarlibdir; - ' - containers: - - name: netdata - image: "netdata/netdata:edge" - imagePullPolicy: Always - 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 - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: NETDATA_LISTENER_PORT - value: '19999' - ports: - - name: http - containerPort: 19999 - protocol: TCP - livenessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - readinessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - volumeMounts: - - name: proc - readOnly: true - mountPath: /host/proc - - name: sys - mountPath: /host/sys - - name: os-release - mountPath: /host/etc/os-release - - name: varlog - mountPath: /host/var/log - - name: configmap - mountPath: /etc/netdata/go.d.conf - subPath: go.d - - name: configmap - mountPath: /etc/netdata/go.d/k8s_kubelet.conf - 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/httpcheck.conf - subPath: httpcheck - - name: configmap - mountPath: /etc/netdata/go.d/web_log.conf - subPath: web_log - - name: configmap - mountPath: /etc/netdata/otel.yaml - subPath: otel - - name: configmap - mountPath: /etc/netdata/go.d/k8s_kubeproxy.conf - subPath: kubeproxy - - name: configmap - mountPath: /etc/netdata/netdata.conf - subPath: netdata - - name: configmap - mountPath: /etc/netdata/stream.conf - subPath: stream - - name: persistencevarlibdir - mountPath: /var/lib/netdata - - name: sdconfigmap - mountPath: "/etc/netdata/go.d/sd/k8s.conf" - subPath: config.yml - securityContext: - capabilities: - add: - - SYS_PTRACE - - SYS_ADMIN - resources: - {} - tolerations: - - effect: NoSchedule - operator: Exists - terminationGracePeriodSeconds: 30 - volumes: - - name: proc - hostPath: - path: /proc - - name: sys - hostPath: - path: /sys - - name: os-release - hostPath: - path: /etc/os-release - - name: varlog - hostPath: - path: /var/log - - name: configmap - configMap: - name: netdata-conf-child - optional: true - - name: configsecret - secret: - secretName: netdata-conf-child - optional: true - - name: persistencevarlibdir - hostPath: - path: /var/lib/netdata-k8s-child/var/lib/netdata - type: DirectoryOrCreate - - name: sdconfigmap - configMap: - name: netdata-child-sd-config-map - optional: true - dnsPolicy: ClusterFirstWithHostNet ---- -# Source: netdata/templates/k8s-state/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: netdata-k8s-state - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: k8sState -spec: - strategy: - type: Recreate - selector: - matchLabels: - app: netdata - release: netdata - role: k8sState - template: - metadata: - annotations: - container.apparmor.security.beta.kubernetes.io/netdata: unconfined - checksum/config: 695eec71873af73b22884232dbacc2917e0b13dad40de683b317b1105911c469 - labels: - app: netdata - release: netdata - role: k8sState - spec: - securityContext: - fsGroup: 201 - serviceAccountName: netdata - restartPolicy: Always - initContainers: - containers: - - name: netdata - image: "netdata/netdata:edge" - imagePullPolicy: Always - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: NETDATA_LISTENER_PORT - value: '19999' - ports: - - name: http - containerPort: 19999 - protocol: TCP - livenessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - readinessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - volumeMounts: - - name: os-release - mountPath: /host/etc/os-release - - name: configmap - mountPath: /etc/netdata/go.d.conf - subPath: go.d - - name: configmap - mountPath: /etc/netdata/go.d/httpcheck.conf - subPath: httpcheck - - name: configmap - mountPath: /etc/netdata/go.d/k8s_state.conf - subPath: go.d-k8s_state - - name: configmap - mountPath: /etc/netdata/netdata.conf - subPath: netdata - - name: configmap - mountPath: /etc/netdata/stream.conf - subPath: stream - - name: varlib - mountPath: /var/lib/netdata - resources: - {} - terminationGracePeriodSeconds: 30 - volumes: - - name: os-release - hostPath: - path: /etc/os-release - - name: configmap - configMap: - name: netdata-conf-k8s-state - optional: true - - name: configsecret - secret: - secretName: netdata-conf-k8s-state - optional: true - - name: varlib - persistentVolumeClaim: - claimName: netdata-k8s-state-varlib - dnsPolicy: ClusterFirstWithHostNet ---- -# Source: netdata/templates/parent/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: netdata-parent - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - role: parent -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: netdata - release: netdata - role: parent - template: - metadata: - labels: - app: netdata - release: netdata - role: parent - annotations: - checksum/config: 7ae6d956c6b1ddf923e6d707aecca99fc502fa2fba6feb22b7845f5840edd58e - spec: - securityContext: - fsGroup: 201 - serviceAccountName: netdata - initContainers: - [] - containers: - - name: netdata - image: "netdata/netdata:edge" - imagePullPolicy: Always - 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 - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: NETDATA_LISTENER_PORT - value: '19999' - ports: - - name: http - containerPort: 19999 - protocol: TCP - livenessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - readinessProbe: - exec: - command: - - /usr/sbin/netdatacli - - ping - initialDelaySeconds: 0 - failureThreshold: 3 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 1 - securityContext: - runAsUser: 201 - runAsGroup: 201 - volumeMounts: - - name: os-release - mountPath: /host/etc/os-release - - name: configmap - mountPath: /etc/netdata/health_alarm_notify.conf - subPath: health - - name: configmap - mountPath: /etc/netdata/netdata.conf - subPath: netdata - - name: configmap - mountPath: /etc/netdata/stream.conf - subPath: stream - - name: database - mountPath: /var/cache/netdata - - name: alarms - mountPath: /var/lib/netdata - resources: - {} - terminationGracePeriodSeconds: 300 - volumes: - - name: os-release - hostPath: - path: /etc/os-release - - name: configmap - configMap: - name: netdata-conf-parent - optional: true - - name: configsecret - secret: - secretName: netdata-conf-parent - optional: true - - name: database - persistentVolumeClaim: - claimName: netdata-parent-database - - name: alarms - persistentVolumeClaim: - claimName: netdata-parent-alarms - dnsPolicy: Default ---- -# Source: netdata/templates/parent/ingress.yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: netdata - namespace: netdata - labels: - app: netdata - chart: netdata-3.7.170 - release: netdata - heritage: Helm - annotations: - kubernetes.io/ingress.class: nginx - kubernetes.io/tls-acme: "true" -spec: - rules: - - host: netdata.k8s.local - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: netdata - port: - name: http