k8s create configmap --from-file 的正确用法

紧张忙碌的开发生活,总会出现许多意外的小插曲,比如-测试。

本来一天的生活安排的挺好的,上午修改问题,下午验证修改是否OK,就可以按照正常的节奏处理完问题单。结果下午刚开始,测试就发来了消息:有个问题,要不一起看下?本着测试开发是一家的精神,肯定不能推脱啊,来,一起看看吧。

经过了大约3分钟的询问和大约10分钟的日志分析,终于弄明白测试遇到的问题了,是一个脚本里面的k8s命令执行的时候出了问题:

kubectl apply configmap setconfigmap --from-file=/home/test.json

分析日志的时候,看到了提示一堆的信息,换行符全部以‘/n’的形式呈现,还有 --from-file unknown flag之类的信息。

虽然英语已经过了六级,能读懂大致的意思,但是关键日志的换行符全部失效,挤成了一坨,可读性极差,实在看不下去。

于是只能选择把这条命令单独拎出来执行。单独执行后,换行符已经生效,告警信息得到了格式化,便很快明白了之前的--from-file unknown flag是指k8s apply configmap 是没有--from-file这个输入项的。

但是此时我还没意识到这种用法是错的,虽然我已经在k8s的官网上看到了下面的正确示例。因为我的注意点一直都在--from-file上面,为啥没有这个输入选项了,会不会是我们之前换了k8s的版本导致的,完全没有意识到这样是错误的。

kubectl create configmap setconfigmap --from-file=/home/test.json

但是当我执行完是上面的命令后,测试突然来了一句:之前是create,在执行这个脚本之前,我手动改成了apply。

听他说完之后,哦,下面的用法是错的,我立马就明白了问题在哪里。

kubectl apply configmap setconfigmap --from-file=/home/test.json

那么这句话的意思是什么呢?

其实很简单,就是根据一个应用的配置文件,保存在configmap中,然后h应用就可以直接从这个configmap中直接读取配置信息了。

从这次定位问题来看,我犯了下面的两大战略性错误:

  1. 未详细询问测试相关的操作

    =>如果,一开始就询问测试相关的操作,可能刚开始就直接定位apply configmap 用法是错的。当然,询问测试的操作,只能当做参考,因为有的时候,测试说的操作不一定是他当时的操作,具体的还是需要看日志;

  2. 日志格式做的不好

    =>因为关键日志里面的换行符全部失效,导致阅读性极差,只能把命令单独拎出来执行,有的时候,是不具备这样的条件的,所以,日志的格式化和可读性还是要注意的

总而言之,言而总之,一言以蔽之:

         该问的省不了,该看的必须要看,该做的一定要做。

猜你喜欢

转载自blog.csdn.net/qq_34246164/article/details/105061502