apiVersion: v1 kind: ConfigMap metadata: name: nginx-conf data: nginx.conf: | user nginx; worker_processes 1; error_log /dev/stderr warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /dev/stdout main; server { listen 80; server_name localhost; location /nginx_status { stub_status on; } } include /etc/nginx/conf.d/*; } --- apiVersion: apps/v1 kind: Deployment metadata: name: redis-deployment labels: app: redis spec: replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis annotations: # redis container port hints io.opentelemetry.discovery.metrics.6379/scraper: redis io.opentelemetry.discovery.metrics.6379/signals: metrics io.opentelemetry.discovery.metrics.6379/config: | collection_interval: "20s" timeout: "10s" # nginx container port hints io.opentelemetry.discovery.metrics.80/scraper: nginx io.opentelemetry.discovery.metrics.80/signals: metrics io.opentelemetry.discovery.metrics.80/config: | endpoint: "http://`endpoint`/nginx_status" collection_interval: "30s" timeout: "20s" spec: volumes: - name: nginx-conf configMap: name: nginx-conf items: - key: nginx.conf path: nginx.conf containers: - name: webserver image: nginx:latest ports: - containerPort: 80 name: webserver volumeMounts: - mountPath: /etc/nginx/nginx.conf readOnly: true subPath: nginx.conf name: nginx-conf - image: redis imagePullPolicy: IfNotPresent name: redis ports: - name: redis containerPort: 6379 protocol: TCP