feat: add prometheus exporter
All checks were successful
Main / build (push) Successful in 1m4s

This commit is contained in:
RouxAntoine 2025-03-10 01:00:04 +01:00
parent e572646f53
commit 6dc15e681c
Signed by: antoine
GPG Key ID: 098FB66FC0475E70
4 changed files with 26 additions and 12 deletions

View File

@ -49,4 +49,4 @@ jobs:
uses: stefanzweifel/git-auto-commit-action@v5 uses: stefanzweifel/git-auto-commit-action@v5
with: with:
commit_message: "${{ vars.SKIP_CI_PREFIX }} Push updated changelog" commit_message: "${{ vars.SKIP_CI_PREFIX }} Push updated changelog"
file_pattern: "\\.changes/* CHANGELOG.md" file_pattern: "\\.changes/* CHANGELOG.md .changie.yaml"

View File

@ -1,5 +1,9 @@
FROM alpine:3.21 FROM alpine:3.21
ARG TARGETOS
ARG TARGETARCH
ARG TARGETPLATFORM
LABEL architecture="$TARGETPLATFORM" \ LABEL architecture="$TARGETPLATFORM" \
license="beerware" \ license="beerware" \
name="keepalived" \ name="keepalived" \
@ -14,13 +18,18 @@ RUN apk add --no-cache \
&& addgroup -S keepalived_script \ && addgroup -S keepalived_script \
&& adduser -S -s /sbin/nologin -G keepalived_script -H keepalived_script && adduser -S -s /sbin/nologin -G keepalived_script -H keepalived_script
ENV STATE BACKUP ARG KEEPALIVED_EXPORTER_VERSION=1.4.0
ENV INTERFACE enp3s0 RUN wget -O /usr/local/bin/keepalived-exporter.tar.gz https://github.com/mehdy/keepalived-exporter/releases/download/v${KEEPALIVED_EXPORTER_VERSION}/keepalived-exporter_${KEEPALIVED_EXPORTER_VERSION}_${TARGETOS}_${TARGETARCH}.tar.gz && \
ENV PRIORITY 200 tar -xvf /usr/local/bin/keepalived-exporter.tar.gz -C /usr/local/bin/ keepalived-exporter && \
ENV PASSWORD "" rm -f /usr/local/bin/keepalived-exporter.tar.gz
ENV SRC_IP ""
ENV PEER_IP_0 "" ENV STATE=BACKUP
ENV PEER_IP_1 "" ENV INTERFACE=enp3s0
ENV PRIORITY=200
ENV PASSWORD=""
ENV SRC_IP=""
ENV PEER_IP_0=""
ENV PEER_IP_1=""
COPY --chmod=750 --chown=keepalived_script:keepalived_script check_apiserver.sh /usr/lib/keepalived/scripts/chk_kube_apiserver.sh COPY --chmod=750 --chown=keepalived_script:keepalived_script check_apiserver.sh /usr/lib/keepalived/scripts/chk_kube_apiserver.sh
COPY keepalived.template.conf /etc/keepalived/keepalived.template.conf COPY keepalived.template.conf /etc/keepalived/keepalived.template.conf

View File

@ -1,6 +1,7 @@
.PHONY: imageKeepalived .PHONY: imageKeepalived
REGISTRY_IP=container.localdomain REGISTRY_NAME=container.localdomain
REGISTRY_PORT=443
# linux/arm/v7 # linux/arm/v7
# linux/arm/v6 # linux/arm/v6
# linux/arm64 # linux/arm64
@ -12,10 +13,10 @@ VERBOSITY=debug
## build ## build
imageKeepalived: imageKeepalived:
docker manifest rm $(REGISTRY_IP):5000/keepalived-k8s:latest || true docker manifest rm $(REGISTRY_NAME):$(REGISTRY_PORT)/keepalived-k8s:latest || true
docker-multi-arch-builder build -n keepalived-k8s --platforms $(PLATFORM) -v $(VERBOSITY) docker-multi-arch-builder build -n keepalived-k8s --platforms $(PLATFORM) -v $(VERBOSITY) --registry $(REGISTRY_NAME) --port $(REGISTRY_PORT)
## management ## management
status: status:
@curl -s $(REGISTRY_IP):5000/v2/_catalog | jq @curl -ks -H "Host: $(REGISTRY_NAME)" https://$(REGISTRY_NAME):$(REGISTRY_PORT)/v2/_catalog | jq

View File

@ -2,4 +2,8 @@
envsubst < /etc/keepalived/keepalived.template.conf > /etc/keepalived/keepalived.conf envsubst < /etc/keepalived/keepalived.template.conf > /etc/keepalived/keepalived.conf
keepalived-exporter -ka.pid-path /var/run/keepalived/keepalived.pid -web.listen-address :9187 -web.telemetry-path /metrics &
mkdir -p /var/run/keepalived
echo "$!" > /var/run/keepalived/exporter.pid
exec "$@" exec "$@"