Mercurial > code > home > repos > victoriametrics
comparison next/create_all.py @ 60:e3151ab43579
moving scrape target configs in py, and into separate retention classes
author | drewp@bigasterisk.com |
---|---|
date | Sat, 27 Apr 2024 01:31:07 -0700 |
parents | b3addcd4486c |
children |
comparison
equal
deleted
inserted
replaced
59:6a357b483c04 | 60:e3151ab43579 |
---|---|
1 from pathlib import Path | 1 from pathlib import Path |
2 from index_page import makeIndexHtml | 2 from index_page import makeIndexHtml |
3 from output import affinityToNode, build, createIngress, createPv, createPvc, toJson, createSvc | 3 from output import affinityToNode, build, createIngress, createPv, createPvc, toJson, createSvc |
4 | 4 |
5 | 5 |
6 def createAgentDeploy(tzArg, vmVersion, pipelineWebRoot, agentFileName, agentName, agentPort, scrapeMapKey, insertName, pipelineName): | 6 def createAgentDeploy(tzArg, vmVersion, pipelineWebRoot, agentFileName, agentName, agentPort, scrapeMapKey, insertName, objPrefix): |
7 (build / f'{agentFileName}_deploy.yaml').write_text( | 7 (build / f'{agentFileName}_deploy.yaml').write_text( |
8 toJson({ | 8 toJson({ |
9 "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": agentName }, | 9 "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": agentName }, |
10 "spec": { | 10 "spec": { |
11 "replicas": 1, "strategy": { "type": "Recreate" }, "selector": { "matchLabels": { "app": agentName } }, | 11 "replicas": 1, "strategy": { "type": "Recreate" }, "selector": { "matchLabels": { "app": agentName } }, |
13 "metadata": { | 13 "metadata": { |
14 "labels": { "app": agentName }, | 14 "labels": { "app": agentName }, |
15 "annotations": { "prometheus.io/scrape": "true", "prometheus.io/path": f"{pipelineWebRoot}/vmagent/metrics", "prometheus.io/port": "80" } | 15 "annotations": { "prometheus.io/scrape": "true", "prometheus.io/path": f"{pipelineWebRoot}/vmagent/metrics", "prometheus.io/port": "80" } |
16 }, | 16 }, |
17 "spec": { | 17 "spec": { |
18 "volumes": [{ "name": "config", "configMap": { "name": "victoriametrics-config" } }], | 18 "volumes": [{ "name": "config", "configMap": { "name": f"{objPrefix}-config" } }], |
19 "serviceAccountName": "victoriametrics", | 19 "serviceAccountName": "victoriametrics", |
20 "containers": [{ | 20 "containers": [{ |
21 "name": "vmagent", | 21 "name": "vmagent", |
22 "image": f"docker.io/victoriametrics/vmagent:{vmVersion}", | 22 "image": f"docker.io/victoriametrics/vmagent:{vmVersion}", |
23 "imagePullPolicy": "IfNotPresent", | 23 "imagePullPolicy": "IfNotPresent", |
152 storageSelectPort = 8401 | 152 storageSelectPort = 8401 |
153 volName = f"{objPrefix}-data-{pipelineName}" | 153 volName = f"{objPrefix}-data-{pipelineName}" |
154 request = "50Gi" | 154 request = "50Gi" |
155 pipelineWebRoot = f'{webRoot}/{pipelineName}' | 155 pipelineWebRoot = f'{webRoot}/{pipelineName}' |
156 | 156 |
157 createAgentDeploy(tzArg, vmVersion, pipelineWebRoot, agentFileName, agentName, agentPort, scrapeMapKey, insertName, pipelineName) | 157 createAgentDeploy(tzArg, vmVersion, pipelineWebRoot, agentFileName, agentName, agentPort, scrapeMapKey, insertName, objPrefix) |
158 createInsertDeploy(tzArg, vmVersion, pipelineWebRoot, insertName, storageName, insertFileName, insertPort) | 158 createInsertDeploy(tzArg, vmVersion, pipelineWebRoot, insertName, storageName, insertFileName, insertPort) |
159 createPv(storageFileName, volName, request) | 159 createPv(storageFileName, volName, request) |
160 createPvc(storageFileName, volName, request) | 160 createPvc(storageFileName, volName, request) |
161 createStorageDeploy(tzArg, vmVersion, pipelineWebRoot, pipelineName, retention, storageName, storageFileName, localPvHost, volName, storageInsertPort, storageSelectPort) | 161 createStorageDeploy(tzArg, vmVersion, pipelineWebRoot, pipelineName, retention, storageName, storageFileName, localPvHost, volName, storageInsertPort, storageSelectPort) |
162 | 162 |
219 webHost = 'bigasterisk.com' | 219 webHost = 'bigasterisk.com' |
220 pipelines = [ | 220 pipelines = [ |
221 ('forever', '100y'), | 221 ('forever', '100y'), |
222 ('recent', '90y'), | 222 ('recent', '90y'), |
223 ] | 223 ] |
224 storageSvcs = [createIngestPipeline(tzArg, vmVersion, webRoot, objPrefix, p, f'scrape_{p}', ret) for p, ret in pipelines] | 224 storageSvcs = [createIngestPipeline(tzArg, vmVersion, webRoot, objPrefix, p, f'scrape_{p}.yaml', ret) for p, ret in pipelines] |
225 | 225 |
226 selectPort = 8481 | 226 selectPort = 8481 |
227 createVmselectDeploy(tzArg, vmVersion, webRoot, objPrefix, storageSvcs, selectPort) | 227 createVmselectDeploy(tzArg, vmVersion, webRoot, objPrefix, storageSvcs, selectPort) |
228 createSvc(f'{objPrefix}-1vmselect', f"{objPrefix}-vmselect", [{"port": 80, "targetPort": selectPort}]) | 228 createSvc(f'{objPrefix}-1vmselect', f"{objPrefix}-vmselect", [{"port": 80, "targetPort": selectPort}]) |
229 | 229 |