Last active
September 28, 2023 12:26
-
-
Save tapih/ab293f339eaa56130931ce60825ce8b2 to your computer and use it in GitHub Desktop.
Loki manifests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| kind: Namespace | |
| metadata: | |
| name: loki-stack | |
| --- | |
| apiVersion: apps/v1 | |
| kind: StatefulSet | |
| metadata: | |
| name: loki | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: loki | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app.kubernetes.io/name: loki | |
| serviceName: loki-headless | |
| template: | |
| metadata: | |
| labels: | |
| app.kubernetes.io/name: loki | |
| annotations: | |
| prometheus.io/port: http-metrics | |
| prometheus.io/scrape: "true" | |
| spec: | |
| containers: | |
| - args: | |
| - -config.file=/etc/loki/loki.yaml | |
| image: grafana/loki:v0.2.0 | |
| imagePullPolicy: IfNotPresent | |
| livenessProbe: | |
| failureThreshold: 3 | |
| httpGet: | |
| path: /ready | |
| port: http-metrics | |
| scheme: HTTP | |
| initialDelaySeconds: 45 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| name: loki | |
| ports: | |
| - containerPort: 3100 | |
| name: http-metrics | |
| protocol: TCP | |
| readinessProbe: | |
| failureThreshold: 3 | |
| httpGet: | |
| path: /ready | |
| port: http-metrics | |
| scheme: HTTP | |
| initialDelaySeconds: 45 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| volumeMounts: | |
| - mountPath: /etc/loki | |
| name: config | |
| - mountPath: /data | |
| name: storage | |
| securityContext: | |
| fsGroup: 10001 | |
| runAsGroup: 10001 | |
| runAsNonRoot: true | |
| runAsUser: 10001 | |
| volumes: | |
| - name: config | |
| secret: | |
| defaultMode: 420 | |
| secretName: loki | |
| - emptyDir: {} | |
| name: storage | |
| --- | |
| apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| name: loki | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: loki | |
| type: Opaque | |
| data: | |
| loki.yaml: YXV0aF9lbmFibGVkOiBmYWxzZQpjaHVua19zdG9yZV9jb25maWc6CiAgbWF4X2xvb2tfYmFja19wZXJpb2Q6IDAKaW5nZXN0ZXI6CiAgY2h1bmtfYmxvY2tfc2l6ZTogMjYyMTQ0CiAgY2h1bmtfaWRsZV9wZXJpb2Q6IDE1bQogIGxpZmVjeWNsZXI6CiAgICByaW5nOgogICAgICBrdnN0b3JlOgogICAgICAgIHN0b3JlOiBpbm1lbW9yeQogICAgICByZXBsaWNhdGlvbl9mYWN0b3I6IDEKbGltaXRzX2NvbmZpZzoKICBlbmZvcmNlX21ldHJpY19uYW1lOiBmYWxzZQogIHJlamVjdF9vbGRfc2FtcGxlczogdHJ1ZQogIHJlamVjdF9vbGRfc2FtcGxlc19tYXhfYWdlOiAxNjhoCnNjaGVtYV9jb25maWc6CiAgY29uZmlnczoKICAtIGZyb206ICIyMDE4LTA0LTE1IgogICAgaW5kZXg6CiAgICAgIHBlcmlvZDogMTY4aAogICAgICBwcmVmaXg6IGluZGV4XwogICAgb2JqZWN0X3N0b3JlOiBmaWxlc3lzdGVtCiAgICBzY2hlbWE6IHY5CiAgICBzdG9yZTogYm9sdGRiCnNlcnZlcjoKICBodHRwX2xpc3Rlbl9wb3J0OiAzMTAwCnN0b3JhZ2VfY29uZmlnOgogIGJvbHRkYjoKICAgIGRpcmVjdG9yeTogL2RhdGEvbG9raS9pbmRleAogIGZpbGVzeXN0ZW06CiAgICBkaXJlY3Rvcnk6IC9kYXRhL2xva2kvY2h1bmtzCnRhYmxlX21hbmFnZXI6CiAgcmV0ZW50aW9uX2RlbGV0ZXNfZW5hYmxlZDogZmFsc2UKICByZXRlbnRpb25fcGVyaW9kOiAwCg== | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: DaemonSet | |
| metadata: | |
| name: loki-promtail | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| spec: | |
| selector: | |
| matchLabels: | |
| app.kubernetes.io/name: promtail | |
| template: | |
| metadata: | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| annotations: | |
| prometheus.io/port: http-metrics | |
| prometheus.io/scrape: "true" | |
| spec: | |
| containers: | |
| - args: | |
| - -config.file=/etc/promtail/promtail.yaml | |
| - -client.url=http://loki:3100/api/prom/push | |
| env: | |
| - name: HOSTNAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| image: quay.io/tapih/promtail:v0.2.0.5 | |
| imagePullPolicy: IfNotPresent | |
| name: promtail | |
| ports: | |
| - containerPort: 3101 | |
| name: http-metrics | |
| protocol: TCP | |
| readinessProbe: | |
| failureThreshold: 5 | |
| httpGet: | |
| path: /ready | |
| port: http-metrics | |
| scheme: HTTP | |
| initialDelaySeconds: 10 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| resources: {} | |
| securityContext: | |
| procMount: Default | |
| readOnlyRootFilesystem: true | |
| runAsGroup: 0 | |
| runAsUser: 0 | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /etc/promtail | |
| name: config | |
| - mountPath: /run/promtail | |
| name: run | |
| - mountPath: /var/lib/docker/containers | |
| name: docker | |
| readOnly: true | |
| - mountPath: /var/log/pods | |
| name: pods | |
| readOnly: true | |
| - mountPath: /var/log/journal | |
| name: journal | |
| readOnly: true | |
| serviceAccountName: loki-promtail | |
| tolerations: | |
| - effect: NoSchedule | |
| key: node-role.kubernetes.io/master | |
| volumes: | |
| - configMap: | |
| defaultMode: 420 | |
| name: loki-promtail | |
| name: config | |
| - hostPath: | |
| path: /run/promtail | |
| type: "" | |
| name: run | |
| - hostPath: | |
| path: /var/lib/docker/containers | |
| type: "" | |
| name: docker | |
| - hostPath: | |
| path: /var/log/pods | |
| type: "" | |
| name: pods | |
| - hostPath: | |
| path: /var/log/journal | |
| type: "" | |
| name: journal | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: loki-promtail | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| data: | |
| promtail.yaml: | | |
| client: | |
| backoff_config: | |
| maxbackoff: 5s | |
| maxretries: 5 | |
| minbackoff: 100ms | |
| batchsize: 102400 | |
| batchwait: 1s | |
| external_labels: {} | |
| timeout: 10s | |
| positions: | |
| filename: /run/promtail/positions.yaml | |
| server: | |
| http_listen_port: 3101 | |
| target_config: | |
| sync_period: 10s | |
| scrape_configs: | |
| - job_name: journal | |
| journal: | |
| max_age: 12h | |
| path: /var/log/journal | |
| labels: | |
| job: systemd-journal | |
| relabel_configs: | |
| - source_labels: | |
| - __journal__systemd_unit | |
| target_label: unit | |
| - source_labels: | |
| - __journal__hostname | |
| target_label: hostname | |
| - job_name: kubernetes-pods-name | |
| pipeline_stages: | |
| - docker: {} | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - source_labels: | |
| - __meta_kubernetes_pod_label_name | |
| target_label: __service__ | |
| - source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: __host__ | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __service__ | |
| - action: replace | |
| replacement: $1 | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __service__ | |
| target_label: job | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: instance | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_container_name | |
| target_label: container_name | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - replacement: /var/log/pods/*$1/*.log | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_pod_uid | |
| - __meta_kubernetes_pod_container_name | |
| target_label: __path__ | |
| - job_name: kubernetes-pods-app | |
| pipeline_stages: | |
| - docker: {} | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - action: drop | |
| regex: .+ | |
| source_labels: | |
| - __meta_kubernetes_pod_label_name | |
| - source_labels: | |
| - __meta_kubernetes_pod_label_app | |
| target_label: __service__ | |
| - source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: __host__ | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __service__ | |
| - action: replace | |
| replacement: $1 | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __service__ | |
| target_label: job | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: instance | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_container_name | |
| target_label: container_name | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - replacement: /var/log/pods/*$1/*.log | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_pod_uid | |
| - __meta_kubernetes_pod_container_name | |
| target_label: __path__ | |
| - job_name: kubernetes-pods-direct-controllers | |
| pipeline_stages: | |
| - docker: {} | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - action: drop | |
| regex: .+ | |
| separator: '' | |
| source_labels: | |
| - __meta_kubernetes_pod_label_name | |
| - __meta_kubernetes_pod_label_app | |
| - action: drop | |
| regex: ^([0-9a-z-.]+)(-[0-9a-f]{8,10})$ | |
| source_labels: | |
| - __meta_kubernetes_pod_controller_name | |
| - source_labels: | |
| - __meta_kubernetes_pod_controller_name | |
| target_label: __service__ | |
| - source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: __host__ | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __service__ | |
| - action: replace | |
| replacement: $1 | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __service__ | |
| target_label: job | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: instance | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_container_name | |
| target_label: | |
| container_name | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - replacement: /var/log/pods/*$1/*.log | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_pod_uid | |
| - __meta_kubernetes_pod_container_name | |
| target_label: __path__ | |
| - job_name: kubernetes-pods-indirect-controller | |
| pipeline_stages: | |
| - docker: {} | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - action: drop | |
| regex: .+ | |
| separator: '' | |
| source_labels: | |
| - __meta_kubernetes_pod_label_name | |
| - __meta_kubernetes_pod_label_app | |
| - action: keep | |
| regex: ^([0-9a-z-.]+)(-[0-9a-f]{8,10})$ | |
| source_labels: | |
| - __meta_kubernetes_pod_controller_name | |
| - action: replace | |
| regex: ^([0-9a-z-.]+)(-[0-9a-f]{8,10})$ | |
| source_labels: | |
| - __meta_kubernetes_pod_controller_name | |
| target_label: __service__ | |
| - source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: __host__ | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __service__ | |
| - action: replace | |
| replacement: $1 | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __service__ | |
| target_label: job | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: instance | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_container_name | |
| target_label: container_name | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - replacement: /var/log/pods/*$1/*.log | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_pod_uid | |
| - __meta_kubernetes_pod_container_name | |
| target_label: __path__ | |
| - job_name: kubernetes-pods-static | |
| pipeline_stages: | |
| - docker: {} | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_kubernetes_io_config_mirror | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_label_component | |
| target_label: __service__ | |
| - source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: __host__ | |
| - action: drop | |
| regex: ^$ | |
| source_labels: | |
| - __service__ | |
| - action: replace | |
| replacement: $1 | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __service__ | |
| target_label: job | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: namespace | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: instance | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_container_name | |
| target_label: container_name | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - replacement: /var/log/pods/*$1/*.log | |
| separator: / | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_kubernetes_io_config_mirror | |
| - __meta_kubernetes_pod_container_name | |
| target_label: __path__ | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: loki | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: loki | |
| spec: | |
| type: ClusterIP | |
| ports: | |
| - name: http-metrics | |
| port: 3100 | |
| protocol: TCP | |
| targetPort: http-metrics | |
| selector: | |
| app.kubernetes.io/name: loki | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: loki-headless | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: loki | |
| spec: | |
| type: ClusterIP | |
| clusterIP: None | |
| ports: | |
| - name: http-metrics | |
| port: 3100 | |
| protocol: TCP | |
| targetPort: http-metrics | |
| selector: | |
| app.kubernetes.io/name: loki | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: loki-promtail | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRole | |
| metadata: | |
| name: loki-promtail-clusterrole | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| - nodes/proxy | |
| - services | |
| - endpoints | |
| - pods | |
| verbs: | |
| - get | |
| - watch | |
| - list | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: loki-promtail-clusterrolebinding | |
| labels: | |
| app.kubernetes.io/name: promtail | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: loki-promtail-clusterrole | |
| subjects: | |
| - kind: ServiceAccount | |
| name: loki-promtail | |
| namespace: loki-stack | |
| --- | |
| apiVersion: v1 | |
| kind: Pod | |
| metadata: | |
| name: logcli | |
| namespace: loki-stack | |
| labels: | |
| app.kubernetes.io/name: logcli | |
| spec: | |
| containers: | |
| - name: logcli | |
| image: quay.io/tapih/logcli:v0.2.0.2 | |
| env: | |
| - name: GRAFANA_ADDR | |
| value: http://loki:3100 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Failed to pull image "quay.io/tapih/promtail:v0.2.0.5": rpc error: code = Unknown desc = failed to pull and unpack image "quay.io/tapih/promtail:v0.2