现象
@#kubectl get cm/kubernetes-event-exporter -n kube-system -o yaml
apiVersion: v1
data:
config.yaml: "leaderElection: {}\nlogFormat: json\nlogLevel: debug\nreceivers:\n-
loki:\n url: http://10.x.x.x:3100/loki/api/v1/push\n streamLabels:\n
\ container: event-exporter\n name: loki \nroute:\n routes:\n - match:\n
\ - receiver: loki\n"
kind: ConfigMap
...
原因
配置中存在制表符和行尾有空格导致
解决
#kubectl get cm/kubernetes-event-exporter -n kube-system -o jsonpath='{.data.config\.yaml}' > kubernetes-event-exporter.cm
#sed -i -E -e 's/[[:space:]]+$//g' -e 's/\t/ /g' kubernetes-event-exporter.cm
#kubectl -n kube-system create cm kubernetes-event-exporter --from-file=config.yaml=kubernetes-event-exporter.cm --dry-run=client -o yaml |kubectl replace -f -