Kubernetes kubectl错误:无法添加键dashboard.yaml,另一个同名键已存在

Kubernetes kubectl错误:无法添加键dashboard.yaml,另一个同名键已存在,kubernetes,Kubernetes,我们的系统架构师离开了,我被扔进了管理Kubernetes集群的深水区。 我正在尝试使用以下命令更新kubernetes集群上的ssl机密 kubectl -n zone-system create secret generic ssl-secret \ --from-file=./$CERT_FILE \ --from-file=./$KEY_FILE \ --dry-run=client \ -o yaml |

我们的系统架构师离开了,我被扔进了管理Kubernetes集群的深水区。 我正在尝试使用以下命令更新kubernetes集群上的ssl机密

kubectl -n zone-system create secret generic ssl-secret \
        --from-file=./$CERT_FILE \
        --from-file=./$KEY_FILE \
        --dry-run=client \
        -o yaml |
         kubectl apply -f -
但是,当我运行它时,会出现以下错误:

error: cannot add key dashboard.yaml, another key by that name already exists
error: no objects passed to apply

我不知道如何解决它。尝试了Google和Stack Overflow搜索,但所有问题实际上都与此错误无关。

确保没有传递重复的键名
dashboard.yaml
。您正在使用两个文件作为机密的输入
CERT_文件
KEY_文件
,确保这两个文件中没有重复的密钥,特别是
dashboard.yaml

要演示此问题,请将名为
dashboard.yaml的密钥传递两次,并在创建secret时得到相同的错误。注意,为了简单起见,这里使用了literal中的

对于
证书文件
密钥文件
上的
dashboard.yaml“
,您应该
grep

    kubectl create secret generic my-secret --from-literal=dashboard.yaml=supersecret --from-literal=dashboard.yaml=supersecret1
    error: cannot add key dashboard.yaml, another key by that name already exists
第二个错误
错误:没有传递要应用的对象
是因为没有
yaml
是从
dry run
生成的

进一步调试结果:

命令的
echo
将变量
CERT\u FILE
KEY\u FILE
返回为空,它们都指向导致重复的
/

root@ip-10-10-10-118:/home/code/kubernetes/dev1# echo "kubectl -n zone-system create secret generic ssl-secret --from-file=./$CERT_FILE --from-file=./$KEY_FILE --dry-run=client -o yaml | kubectl apply -f -" 
kubectl -n zone-system create secret generic ssl-secret --from-file=./ --from-file=./ --dry-run=client -o yaml | kubectl apply -f -

@P。。。。在执行上述命令之前,我尝试运行以下命令:`kubectl-n zone system delete secret ssl secret`此外,您的工作目录中
deployment.yaml[]*:
只有一个.pem和一个.key文件
grep-rE
。这个问题可能更适合or。我按原样运行命令,不传递任何密钥名称。是的,我得到了第二个错误。不确定要传递两个文件的第一个文件,您使用的是
--from file
选项。这意味着,从这两个文件中获取机密。例如:
CERT\u文件
KEY\u文件
。所以它来自那里
grep
用于
deployment.yaml
请在这两个文件中。My setup.sh包含
CERT\u FILE=“wild.zonetv.cloud.CERT.pem”KEY\u FILE=“wild.zonetv.cloud.KEY”
这些文件是实际的pem文件,带有服务器证书和链以及证书密钥。其中任何一个中都没有部署.yaml。您可以执行
grep-r dashboard.yaml$PWD
?刚刚执行,谢谢您的帮助!现在需要弄清楚如何使用更新的仪表板更新kubernetes