Skip to content

Commit 2182ad0

Browse files
authored
Merge pull request kubernetes#955 from DigitalVeer/master
Move ReadonlyFilesystem Node Condition to a new configuration file
2 parents 335e7e8 + ee955f9 commit 2182ad0

8 files changed

+57
-16
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ ARG LOGCOUNTER
5050
COPY --from=builder /gopath/src/k8s.io/node-problem-detector/bin/health-checker /gopath/src/k8s.io/node-problem-detector/${LOGCOUNTER} /home/kubernetes/bin/
5151

5252
COPY --from=builder /gopath/src/k8s.io/node-problem-detector/config/ /config
53-
ENTRYPOINT ["/node-problem-detector", "--config.system-log-monitor=/config/kernel-monitor.json"]
53+
ENTRYPOINT ["/node-problem-detector", "--config.system-log-monitor=/config/kernel-monitor.json,/config/readonly-monitor.json"]

config/kernel-monitor.json

-11
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010
"type": "KernelDeadlock",
1111
"reason": "KernelHasNoDeadlock",
1212
"message": "kernel has no deadlock"
13-
},
14-
{
15-
"type": "ReadonlyFilesystem",
16-
"reason": "FilesystemIsNotReadOnly",
17-
"message": "Filesystem is not read-only"
1813
}
1914
],
2015
"rules": [
@@ -68,12 +63,6 @@
6863
"condition": "KernelDeadlock",
6964
"reason": "DockerHung",
7065
"pattern": "task docker:\\w+ blocked for more than \\w+ seconds\\."
71-
},
72-
{
73-
"type": "permanent",
74-
"condition": "ReadonlyFilesystem",
75-
"reason": "FilesystemIsReadOnly",
76-
"pattern": "Remounting filesystem read-only"
7766
}
7867
]
7968
}

config/readonly-monitor.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"plugin": "kmsg",
3+
"logPath": "/dev/kmsg",
4+
"lookback": "5m",
5+
"bufferSize": 10,
6+
"source": "readonly-monitor",
7+
"metricsReporting": true,
8+
"conditions": [
9+
{
10+
"type": "ReadonlyFilesystem",
11+
"reason": "FilesystemIsNotReadOnly",
12+
"message": "Filesystem is not read-only"
13+
}
14+
],
15+
"rules": [
16+
{
17+
"type": "permanent",
18+
"condition": "ReadonlyFilesystem",
19+
"reason": "FilesystemIsReadOnly",
20+
"pattern": "Remounting filesystem read-only"
21+
}
22+
]
23+
}

config/systemd/node-problem-detector-metric-only.service

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Restart=always
88
RestartSec=10
99
ExecStart=/home/kubernetes/bin/node-problem-detector --v=2 --logtostderr --enable-k8s-exporter=false \
1010
--exporter.stackdriver=/home/kubernetes/node-problem-detector/config/exporter/stackdriver-exporter.json \
11-
--config.system-log-monitor=/home/kubernetes/node-problem-detector/config/kernel-monitor.json,/home/kubernetes/node-problem-detector/config/docker-monitor.json,/home/kubernetes/node-problem-detector/config/systemd-monitor.json \
11+
--config.system-log-monitor=/home/kubernetes/node-problem-detector/config/kernel-monitor.json,/home/kubernetes/node-problem-detector/config/readonly-monitor.json,/home/kubernetes/node-problem-detector/config/docker-monitor.json,/home/kubernetes/node-problem-detector/config/systemd-monitor.json \
1212
--config.custom-plugin-monitor=/home/kubernetes/node-problem-detector/config/kernel-monitor-counter.json,/home/kubernetes/node-problem-detector/config/systemd-monitor-counter.json \
1313
--config.system-stats-monitor=/home/kubernetes/node-problem-detector/config/system-stats-monitor.json,/home/kubernetes/node-problem-detector/config/net-cgroup-system-stats-monitor.json
1414

deployment/node-problem-detector-config.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,30 @@ data:
6464
}
6565
]
6666
}
67+
readonly-monitor.json: |
68+
{
69+
"plugin": "kmsg",
70+
"logPath": "/dev/kmsg",
71+
"lookback": "5m",
72+
"bufferSize": 10,
73+
"source": "readonly-monitor",
74+
"metricsReporting": true,
75+
"conditions": [
76+
{
77+
"type": "ReadonlyFilesystem",
78+
"reason": "FilesystemIsNotReadOnly",
79+
"message": "Filesystem is not read-only"
80+
}
81+
],
82+
"rules": [
83+
{
84+
"type": "permanent",
85+
"condition": "ReadonlyFilesystem",
86+
"reason": "FilesystemIsReadOnly",
87+
"pattern": "Remounting filesystem read-only"
88+
}
89+
]
90+
}
6791
docker-monitor.json: |
6892
{
6993
"plugin": "journald",

deployment/node-problem-detector-healthchecker.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
command:
2929
- /node-problem-detector
3030
- --logtostderr
31-
- --config.system-log-monitor=/config/kernel-monitor.json,/config/docker-monitor.json
31+
- --config.system-log-monitor=/config/kernel-monitor.json,/config/readonly-monitor.json,/config/docker-monitor.json
3232
- --config.custom-plugin-monitor=/config/health-checker-kubelet.json
3333
image: registry.k8s.io/node-problem-detector/node-problem-detector:v0.8.19
3434
resources:
@@ -86,6 +86,8 @@ spec:
8686
items:
8787
- key: kernel-monitor.json
8888
path: kernel-monitor.json
89+
- key: readonly-monitor.json
90+
path: readonly-monitor.json
8991
- key: docker-monitor.json
9092
path: docker-monitor.json
9193
- name: machine-id

deployment/node-problem-detector.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
command:
2929
- /node-problem-detector
3030
- --logtostderr
31-
- --config.system-log-monitor=/config/kernel-monitor.json,/config/docker-monitor.json
31+
- --config.system-log-monitor=/config/kernel-monitor.json,/config/readonly-monitor.json,/config/docker-monitor.json
3232
image: registry.k8s.io/node-problem-detector/node-problem-detector:v0.8.19
3333
resources:
3434
limits:
@@ -78,6 +78,8 @@ spec:
7878
items:
7979
- key: kernel-monitor.json
8080
path: kernel-monitor.json
81+
- key: readonly-monitor.json
82+
path: readonly-monitor.json
8183
- key: docker-monitor.json
8284
path: docker-monitor.json
8385
tolerations:

test/build.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ function build-npd-custom-flags() {
9797
local -r kube_home="/home/kubernetes"
9898

9999
local -r km_config="${kube_home}/node-problem-detector/config/kernel-monitor.json"
100+
local -r rm_config="${kube_home}/node-problem-detector/config/readonly-monitor.json"
100101
local -r dm_config="${kube_home}/node-problem-detector/config/docker-monitor.json"
101102
local -r sm_config="${kube_home}/node-problem-detector/config/systemd-monitor.json"
102103

@@ -105,7 +106,7 @@ function build-npd-custom-flags() {
105106

106107
flags="--v=2"
107108
flags+=" --logtostderr"
108-
flags+=" --config.system-log-monitor=${km_config},${dm_config},${sm_config}"
109+
flags+=" --config.system-log-monitor=${km_config},${rm_config},${dm_config},${sm_config}"
109110
flags+=" --config.custom-plugin-monitor=${custom_km_config},${custom_sm_config}"
110111
flags+=" --port=20256"
111112

0 commit comments

Comments
 (0)