因为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 参数,就正常了。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐