kubernetes k8s 使用secret遇到的坑 base64会自动加回车\n
因为k8s secret保存时,要求base64编码。我使用leon@leon:~$ echo admin|base64YWRtaW4K生成admin 的base64编码,作为mysql的MYSQL_USER使用,结果出现错误:Access denied for user ‘admin\n’@‘10.244.0.108’很显然是自动加了“\n”导致。后来用程序生成admin的base64码:<
·
因为k8s secret保存时,要求base64编码。我使用
leon@leon:~$ echo admin|base64
YWRtaW4K
生成admin 的base64编码,作为mysql的MYSQL_USER使用,结果出现错误:
Access denied for user ‘admin\n’@‘10.244.0.108’
很显然是自动加了“\n”导致。
后来用程序生成admin的base64码:
<?php
echo base64_encode("admin");
?>
leon@leon:~$ php base64.php
YWRtaW4=
对比发现编码后,后面的1位字符是不同的。经过测试发现就是这个引起的。改用PHP生产的正常了。
用bash64 shell 的正确方法:
echo -n 'admin' | base64
加上 -n 参数,就正常了。
更多推荐
已为社区贡献8条内容
所有评论(0)