Mercurial > code > home > repos > victoriametrics
changeset 7:7130eb6d8e6b
redo deployment config to use skaffold live sync instead of busted CM way
author | drewp@bigasterisk.com |
---|---|
date | Sun, 04 Dec 2022 02:06:31 -0800 |
parents | ae41d1d0b567 |
children | e393b24f0e01 |
files | .hgignore Dockerfile.vmalert Dockerfile.vmetrics deploy.yaml deploy_alertmanager.yaml deploy_vmalert.yaml deploy_vmetrics.yaml skaffold.yaml vmalert.yaml volumes.yaml |
diffstat | 10 files changed, 228 insertions(+), 133 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,1 @@ +rules/build/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dockerfile.vmalert Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,3 @@ +FROM docker.io/victoriametrics/vmalert:v1.84.0 + +COPY rules/ /local/rules
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dockerfile.vmetrics Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,3 @@ +FROM docker.io/victoriametrics/victoria-metrics:v1.84.0 + +COPY config/ /local/config
--- a/deploy.yaml Sat Sep 03 23:42:01 2022 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: victoriametrics -spec: - replicas: 1 - strategy: { type: Recreate } - selector: - matchLabels: - app: victoriametrics - template: - metadata: - labels: - app: victoriametrics - annotations: { "prometheus.io/scrape": "false" } - spec: - volumes: - - name: data - persistentVolumeClaim: - claimName: opt-victoriametrics - - name: config - configMap: {name: victoriametrics-config} - serviceAccountName: victoriametrics - containers: - - name: victoriametrics - # https://hub.docker.com/r/victoriametrics/victoria-metrics/tags also check vmalert.yaml - image: victoriametrics/victoria-metrics:v1.77.2 - args: - - -storageDataPath=/data - - -memory.allowedBytes=512MB - - -http.pathPrefix=/m/ - - -promscrape.config=/config/scrape_config.yaml - - -loggerTimezone=America/Los_Angeles - - -retentionPeriod=10y - - -sortLabels - ports: - - containerPort: 8428 - volumeMounts: - - { name: data, mountPath: /data } - - { name: config, mountPath: /config } - # resources: - # limits: - # memory: 0.5Gi - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: "kubernetes.io/hostname" - operator: In - values: ["bang"] ---- -apiVersion: v1 -kind: Service -metadata: - name: victoriametrics -spec: - ports: - - port: 80 - targetPort: 8428 - selector: - app: victoriametrics
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy_alertmanager.yaml Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: alertmanager +spec: + replicas: 1 + selector: + matchLabels: + app: alertmanager + template: + metadata: + labels: + app: alertmanager + spec: + volumes: + - name: opt-alertmanager + persistentVolumeClaim: + claimName: opt-alertmanager + serviceAccountName: victoriametrics + containers: + - name: alertmanager + image: prom/alertmanager:v0.24.0 + args: + - --config.file=/alertmanager/alertmanager.yml + - --web.external-url=https://bigasterisk.com/alertmanager/ + - --web.route-prefix=/ + - --log.level=debug + ports: + - containerPort: 9093 + volumeMounts: + - name: opt-alertmanager + mountPath: /alertmanager + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "kubernetes.io/hostname" + operator: In + values: ["bang"] +--- +apiVersion: v1 +kind: Service +metadata: + name: alertmanager +spec: + ports: + - port: 80 + targetPort: 9093 + selector: + app: alertmanager
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy_vmalert.yaml Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,49 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: vmalert +spec: + replicas: 1 + strategy: { type: Recreate } + selector: + matchLabels: + app: vmalert + template: + metadata: + labels: + app: vmalert + annotations: + prometheus.io/scrape: "true" + spec: + serviceAccountName: victoriametrics + containers: + - name: vmalert + image: bang5:5000/vmalert + args: + - -configCheckInterval=5s + - -datasource.url=http://victoriametrics.default.svc.cluster.local./m/ + - -external.url=https://bigasterisk.com/vmalert + - -loggerLevel=INFO + - -loggerTimezone=America/Los_Angeles + - -memory.allowedBytes=512MB + - -notifier.url=http://alertmanager.default.svc.cluster.local. + - -remoteRead.url=http://victoriametrics.default.svc.cluster.local./m/ + - -remoteWrite.url=http://victoriametrics.default.svc.cluster.local./m/ + - -rule=/local/rules/*.yaml + - -rule=/local/rules/build/*.yaml + ports: + - containerPort: 8880 + resources: + limits: + memory: 0.5Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: vmalert +spec: + ports: + - port: 80 + targetPort: 8880 + selector: + app: vmalert
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy_vmetrics.yaml Sun Dec 04 02:06:31 2022 -0800 @@ -0,0 +1,65 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: victoriametrics +spec: + replicas: 1 + strategy: { type: Recreate } + selector: + matchLabels: + app: victoriametrics + template: + metadata: + labels: + app: victoriametrics + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/m/metrics" + prometheus.io/port: "80" + spec: + volumes: + - name: data + persistentVolumeClaim: + claimName: opt-victoriametrics + - name: config + configMap: {name: victoriametrics-config} + serviceAccountName: victoriametrics + containers: + - name: victoriametrics + # https://hub.docker.com/r/victoriametrics/victoria-metrics/tags also check vmalert.yaml + image: bang5:5000/victoriametrics + args: + - -http.pathPrefix=/m/ + - -loggerTimezone=America/Los_Angeles + - -memory.allowedBytes=512MB + - -promscrape.config=/local/config/scrape_main.yaml + - -promscrape.configCheckInterval=5s + - -retentionPeriod=10y + - -sortLabels + - -storageDataPath=/data + ports: + - containerPort: 8428 + volumeMounts: + - { name: data, mountPath: /data } + # resources: + # limits: + # memory: 0.5Gi + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "kubernetes.io/hostname" + operator: In + values: ["bang"] +--- +apiVersion: v1 +kind: Service +metadata: + name: victoriametrics +spec: + ports: + - port: 80 + targetPort: 8428 + selector: + app: victoriametrics
--- a/skaffold.yaml Sat Sep 03 23:42:01 2022 -0700 +++ b/skaffold.yaml Sun Dec 04 02:06:31 2022 -0800 @@ -1,10 +1,26 @@ -apiVersion: skaffold/v2beta26 +apiVersion: skaffold/v3 kind: Config -metadata: { name: victoriametrics } +metadata: + name: victoriametrics +build: + artifacts: + - docker: {dockerfile: Dockerfile.vmetrics} + image: bang5:5000/victoriametrics + sync: + infer: + - config/* + - docker: {dockerfile: Dockerfile.vmalert} + image: bang5:5000/vmalert + sync: + infer: + - rules/* +manifests: + rawYaml: + - roles.yaml + - volumes.yaml + - ingress.yaml + - deploy_vmetrics.yaml + - deploy_vmalert.yaml + - deploy_alertmanager.yaml deploy: - kubectl: - manifests: - - "roles.yaml" - - "volumes.yaml" - - "deploy.yaml" - - "vmalert.yaml" \ No newline at end of file + kubectl: {}
--- a/vmalert.yaml Sat Sep 03 23:42:01 2022 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: vmalert -spec: - replicas: 1 - strategy: { type: Recreate } - selector: - matchLabels: - app: vmalert - template: - metadata: - labels: - app: vmalert - annotations: { "prometheus.io/scrape": "false" } - spec: - volumes: - - name: data - persistentVolumeClaim: - claimName: opt-victoriametrics - - name: config - configMap: {name: victoriametrics-config} - serviceAccountName: victoriametrics - containers: - - name: vmalert - image: victoriametrics/vmalert:v1.77.2 - args: - - -rule=/config/rules/*.yaml - - -datasource.url=http://victoriametrics.default.svc.cluster.local./m/ - - -notifier.url=http://alertmanager.default.svc.cluster.local. - - -remoteWrite.url=http://victoriametrics.default.svc.cluster.local./m/ - - -remoteRead.url=http://victoriametrics.default.svc.cluster.local./m/ - - -http.pathPrefix=/vmalert/ - - -loggerTimezone=America/Los_Angeles - - -external.url=https://bigasterisk.com/vmalert - - -memory.allowedBytes=512MB - ports: - - containerPort: 8880 - volumeMounts: - - { name: data, mountPath: /data } - - { name: config, mountPath: /config } - resources: - limits: - memory: 0.5Gi - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: "kubernetes.io/hostname" - operator: In - values: ["bang"] ---- -apiVersion: v1 -kind: Service -metadata: - name: vmalert -spec: - ports: - - port: 80 - targetPort: 8880 - selector: - app: vmalert
--- a/volumes.yaml Sat Sep 03 23:42:01 2022 -0700 +++ b/volumes.yaml Sun Dec 04 02:06:31 2022 -0800 @@ -28,4 +28,36 @@ - ReadWriteMany resources: requests: + storage: 50Gi +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: opt-alertmanager + labels: + type: local +spec: + storageClassName: manual + hostPath: + path: "/opt/alertmanager" + capacity: + storage: 50Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + claimRef: + namespace: default + name: opt-alertmanager +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: opt-alertmanager +spec: + storageClassName: "" + volumeName: "opt-alertmanager" + accessModes: + - ReadWriteOnce + resources: + requests: storage: 50Gi \ No newline at end of file