Mercurial > code > home > repos > infra
changeset 303:9e15c07d5258
get telegraf running on pipe (non k8s)
author | drewp@bigasterisk.com |
---|---|
date | Wed, 07 Aug 2024 15:14:17 -0700 |
parents | 3204157bb3e5 |
children | 8c25b1a8f294 |
files | kube.py system.py |
diffstat | 2 files changed, 21 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/kube.py Wed Aug 07 00:59:16 2024 -0700 +++ b/kube.py Wed Aug 07 15:14:17 2024 -0700 @@ -1,9 +1,12 @@ +import io import os +import subprocess +from tempfile import NamedTemporaryFile from pyinfra import host from pyinfra.facts.files import FindInFile from pyinfra.facts.server import Arch, LinuxDistribution -from pyinfra.operations import files, server, systemd +from pyinfra.operations import files, server, systemd, apt # https://github.com/GoogleContainerTools/skaffold/releases skaffold_version = 'v2.11.1' @@ -155,6 +158,21 @@ ) +def run_non_k8s_telegraf(node): + if host.name != node: + return + # this CM is written by /my/serv/telegraf/tasks.py + conf = io.BytesIO(subprocess.check_output(["kubectl", "get", "cm", "telegraf-config", "-o", "jsonpath={.data." + node + "}"])) + apt.packages(packages=['telegraf']) + files.put(src=conf, dest="/etc/telegraf/telegraf.conf", create_remote_dir=True, assume_exists=True) + systemd.service( + service='telegraf', + running=True, + enabled=True, + restarted=True, + ) + + make_cluster( server_ip="10.5.0.7", server_node='ditto', @@ -168,6 +186,7 @@ ], k3s_version='v1.29.1+k3s1') +run_non_k8s_telegraf('pipe') # consider https://github.com/derailed/k9s/releases/download/v0.32.4/k9s_Linux_amd64.tar.gz # k label node ws-printer unschedulable=octoprint-allowed