Node-cert-exporter#

Node-cert-exporter - Prometheus экспортер сертификатов x509, написанных на Go. Node-cert-exporter рекурсивно анализирует сертификаты в ряде каталогов и отображает срок их действия как метрику Prometheus в каталоге /metrics. Node-cert-exporter может быть развернут как Deployment или DaemonSet.

Предварительные условия#

Предварительные условия для развертывания:

  • развернут кластер DropApp;

  • установлен kubectl.

Развертывание#

Запустите команду для развертывания набора демонов:

kubectl apply -f https://example.com/node-cert-exporter/master/deploy/daemonset.yml
# Адрес приведен в качестве примера.

Содержание манифеста будет следующим:

Node-cert-exporter.yaml
---
apiVersion: v1
kind: Namespace
metadata:
name: node-cert-exporter
spec:
finalizers:
- kubernetes
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: node-cert-exporter
namespace: node-cert-exporter
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
labels:
app: node-cert-exporter
name: node-cert-exporter
namespace: node-cert-exporter
spec:
selector:
matchLabels:
app: node-cert-exporter
template:
metadata:
name: node-cert-exporter
labels:
app: node-cert-exporter
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9117'
spec:
containers:
- image: ghcr.io/amimof/node-cert-exporter:latest
args:
- "--v=2"
- "--logtostderr=true"
- "--path=/host/etc/origin/node/,/host/etc/origin/master/,/host/etc/etcd/,/host/etc/kubernetes/pki/"
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
name: node-cert-exporter
ports:
- containerPort: 9117
name: HTTP
protocol: TCP
resources:
limits:
cpu: 250m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
volumeMounts:
- mountPath: /host/etc
name: etc
readOnly: true
serviceAccount: node-cert-exporter
serviceAccountName: node-cert-exporter
volumes:
- hostPath:
path: /etc
type: ""
name: etc
updateStrategy:
type: RollingUpdate