--- # Source: edgedelta/templates/service_account.yaml apiVersion: v1 kind: ServiceAccount metadata: name: edgedelta namespace: edgedelta labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta --- # Source: edgedelta/templates/service_account.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: edgedelta namespace: edgedelta labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta rules: - apiGroups: [""] # "" indicates the core API group resources: - namespaces - pods - events - nodes - nodes/metrics - services verbs: - get - watch - list - apiGroups: [""] # "" indicates the core API group resources: - events verbs: - create - apiGroups: ["coordination.k8s.io"] resources: - leases verbs: - get - list - watch - create - update - patch - delete - apiGroups: ["metrics.k8s.io"] resources: - pods - nodes verbs: - get - list - watch - apiGroups: ["apps"] # "" indicates the apps API group resources: - daemonsets - deployments - replicasets - statefulsets verbs: - watch - list - apiGroups: ["batch"] # "" indicates the batch API group resources: - jobs - cronjobs verbs: - watch - list --- # Source: edgedelta/templates/service_account.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: edgedelta namespace: edgedelta labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta subjects: - kind: ServiceAccount name: edgedelta namespace: edgedelta roleRef: kind: ClusterRole name: edgedelta apiGroup: rbac.authorization.k8s.io --- # Source: edgedelta/templates/compactor.yaml kind: Service apiVersion: v1 metadata: name: ed-compactor-svc namespace: edgedelta spec: selector: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: compactor ports: - port: 9199 name: compactor-port --- # Source: edgedelta/templates/rollup.yaml kind: Service apiVersion: v1 metadata: name: ed-rollup-svc namespace: edgedelta spec: selector: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: rollup ports: - port: 9200 name: rollup-port --- # Source: edgedelta/templates/daemonset.yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: edgedelta namespace: edgedelta annotations: prometheus.io/scrape: "true" labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: processor version: v1 kubernetes.io/cluster-service: "true" spec: selector: matchLabels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta updateStrategy: rollingUpdate: maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: processor version: v1 kubernetes.io/cluster-service: "true" spec: serviceAccountName: edgedelta hostPID: true hostNetwork: true dnsPolicy: ClusterFirstWithHostNet containers: # agent container - name: edgedelta-agent image: gcr.io/edgedelta/agent:v0.1.101-rc.1 env: - name: ED_API_KEY valueFrom: secretKeyRef: name: ed-api-key key: ed-api-key - name: ED_ENABLE_PARENT_K8S_CONTROLLER_DISCOVERY value: "1" - name: ED_LEADER_ELECTION_ENABLED value: "1" # pass node hostname to agent - name: ED_HOST_OVERRIDE valueFrom: fieldRef: fieldPath: spec.nodeName - name: TRACER_SERVER_PORT value: "9595" - name: ED_ENABLE_TRAFFIC_TRACER value: "1" - name: ED_SERVICE_DNS_REQUIRED value: "1" - name: ED_COMPACT_SERVICE_ENDPOINT value: ed-compactor-svc.edgedelta.svc.cluster.local:9199 - name: ED_METRIC_ROLLUP_ENABLED value: "1" - name: ED_METRIC_ROLLUP_DESTINATION_OVERRIDE value: ed-rollup-svc.edgedelta.svc.cluster.local:9200 securityContext: privileged: true resources: limits: cpu: 2000m memory: 2048Mi requests: cpu: 200m memory: 256Mi imagePullPolicy: Always volumeMounts: - name: varlog mountPath: /var/log readOnly: true - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true - name: persisting-cursor-storage mountPath: /var/lib/edgedelta - name: cgroup mountPath: /sys/fs/cgroup - name: debugfs mountPath: /sys/kernel/debug - name: netns mountPath: /var/run/netns - name: proc mountPath: /proc terminationGracePeriodSeconds: 10 volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers - name: persisting-cursor-storage hostPath: path: /var/lib/edgedelta type: DirectoryOrCreate - name: cgroup hostPath: path: /sys/fs/cgroup - name: debugfs hostPath: path: /sys/kernel/debug - name: netns hostPath: path: /var/run/netns - name: proc hostPath: path: /proc --- # Source: edgedelta/templates/compactor.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: edgedelta-compactor namespace: edgedelta labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: compactor version: v1 kubernetes.io/cluster-service: "true" spec: replicas: 1 podManagementPolicy: OrderedReady selector: matchLabels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta serviceName: ed-compactor-svc updateStrategy: type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: compactor version: v1 kubernetes.io/cluster-service: "true" spec: serviceAccountName: edgedelta containers: - name: edgedelta-compactor image: gcr.io/edgedelta/agent:v0.1.101-rc.1 ports: - name: compactor containerPort: 9199 env: - name: ED_AGENT_MODE value: compactor - name: ED_COMPACTOR_PORT value: "9199" - name: ED_COMPACTOR_DATA_DIR value: /var/edgedelta-compactor - name: ED_HOST_OVERRIDE valueFrom: fieldRef: fieldPath: metadata.name - name: ED_API_KEY valueFrom: secretKeyRef: name: ed-api-key key: ed-api-key - name: ED_TRACE_FILES value: "" resources: limits: cpu: 2000m memory: 2000Mi requests: cpu: 200m memory: 300Mi imagePullPolicy: Always volumeMounts: - name: compactor-data mountPath: /var/edgedelta-compactor terminationGracePeriodSeconds: 60 volumes: volumeClaimTemplates: - metadata: name: compactor-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 30Gi --- # Source: edgedelta/templates/rollup.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: edgedelta-rollup namespace: edgedelta labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: rollup spec: replicas: 2 selector: matchLabels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta serviceName: ed-rollup-svc podManagementPolicy: OrderedReady updateStrategy: type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: edgedelta app.kubernetes.io/instance: edgedelta edgedelta/agent-type: rollup spec: serviceAccountName: edgedelta containers: - name: edgedelta-rollup image: gcr.io/edgedelta/agent:v0.1.101-rc.1 ports: - name: rollup containerPort: 9200 env: - name: ED_METRIC_ROLLUP_SERVER_PORT value: "9200" - name: ED_HOST_OVERRIDE valueFrom: fieldRef: fieldPath: metadata.name - name: ED_API_KEY valueFrom: secretKeyRef: name: ed-api-key key: ed-api-key - name: ED_TRACE_FILES value: "" - name: GOMEMLIMIT value: 900MiB - name: ED_COMPACT_SERVICE_ENDPOINT value: ed-compactor-svc.edgedelta.svc.cluster.local:9199 resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 200m memory: 256Mi imagePullPolicy: Always terminationGracePeriodSeconds: 60