modulepackage
0.0.0-20191209024209-32bbae215877
Repository: https://github.com/dbaicss/k8seventexporter.git
Documentation: pkg.go.dev
# README
k8sEventExporter
kubernetes event exporter
1.配置说明
Usage of k8sPodEventExporter.exe:
-bindPort string 0.0.0.0:9900 (default ":9900")
-confFile string k8s配置文件 (default "~/.kube/config")
-includeNormalEvent bool 是否list包括正常状态的event(default false)
-isInCluster bool 是否部署在k8s cluster (default true)
-namespace string namespace (default "default")
-timeInterval int64 获取时间间隔内的非warning的event,单位分钟(default 5)
(1) k8s集群外部署
example:
k8sPodEventExporter.exe -isInCluster=false
-confFile "C:\\Users\\piter\\Desktop\\admin.conf"
(2) k8s集群内部署
编译打包镜像dockerfile文件
FROM golang:1.11-alpine as build
ADD . /src
WORKDIR /src
ENV GO111MODULE on
ENV CGO_ENABLED 0
RUN go build -o k8s-event-exporter -ldflags '-extldflags "-static"'
FROM scratch
COPY --from=build /src/k8s-event-exporter /k8s-event-exporter
EXPOSE 9102
ENTRYPOINT [ "/k8s-event-exporter" ]
-------------------------------
k8s v1.15.4版本测试通过,其它没测
-------------------------------
svc配置
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"annotations": {
"prometheus.io/scrape": "true",
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "http",
"service.beta.kubernetes.io/aws-load-balancer-ssl-ports": "https"
},
"labels": {
"name": "k8s-event-exporter"
},
"name": "k8s-event-exporter"
},
"spec": {
"ports": [
{
"name": "http",
"port": 9102,
"targetPort": 9102
}
],
"externalIPs": [
"10.1.0.2"
],
"selector": {
"app": "k8s-event-exporter"
}
}
}
deployment配置
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"labels": {
"app": "k8s-event-exporter"
},
"name": "k8s-event-exporter"
},
"spec": {
"replicas": 1,
"revisionHistoryLimit": 2,
"selector": {
"matchLabels": {
"app": "k8s-event-exporter"
}
},
"strategy": {
"type": "RollingUpdate"
},
"template": {
"metadata": {
"labels": {
"app": "k8s-event-exporter"
}
},
"spec": {
"containers": [
{
"command": [
"./event_exporter"
],
"env": [ ],
"image": "xxx/k8s-event-exporter", //镜像仓库
"imagePullPolicy": "Always",
"name": "k8s-event-exporter",
"ports": [
{
"containerPort": 9102,
"name": "http"
}
],
"resources": {
"limits": {
"memory": "100Mi"
},
"requests": {
"memory": "40Mi"
}
}
}
],
"terminationGracePeriodSeconds": 30
}
}
}
}