kubernetes在线编辑configmap格式错乱问题

2,015 阅读1分钟

一. 现象

当在线修改或者查看k8s应用配置文件的时候发现格式错乱了,如下图:

image.png

二. 格式化查看

如果想在线格式化查看相关配置,可以参考如下命令:

kubectl get cm -n mid nginx-config -o json |jq '.data."nginx.conf"' -r

image.png

三. 检查原始yaml并修改

yamllint nginx-config-cm.yaml

image.png

从执行结果可以看到有如下格式错误:

  • yaml文件开头缺少---开头;
  • 第7行,配置应该是4个空格,当前配置是2个空格;
  • 第11行,配置后面存在空格;
  • 第24行,配置行太长了;
  • 第39行,存在空行。

四. 修改并验证

image.png

# 配置生效:
kubectl apply -f nginx-config-cm.yaml
# 验证:
kubectl get cm -n mid nginx-config -oyaml

image.png

可以看到格式已经正常。

注意:在日常维护k8s yaml中需要注意文件中的空格、缩进等,会导致apply后格式错乱。