问题描述
我正在通过kubectl
到Kubernetes中运行的MysqL数据库进行导入转储。没有错误输出,也没有导入数据。
这里证明存在这样的pod,也将文件转储到名为/database.sql
的磁盘根目录和命令中。
root@node-1:~# kubectl get pods -n esopa-test | grep mariadb
esopa-test-mariadb-0 1/1 Running 0 14d
root@node-1:~# ll /database.sql
-rw-r--r-- 1 root root 4418347 Oct 14 08:50 /database.sql
root@node-1:~# kubectl exec esopa-test-mariadb-0 -n esopa-test -- MysqL -u root -proot database < /database.sql
root@node-1:~#
谢谢您的建议
解决方法
您可以使用kubectl cp
命令将文件从Pod复制到节点。
将文件从Pod复制到节点语法非常简单:
kubectl cp <some-namespace>/<some-pod>:<directory-inside-pod> <directory_on_your_node>
因此在您的用例中,您可以使用以下命令:
kubectl cp esopa-test/esopa-test-mariadb-0:/database.sql <directory_on_your_node>
要将文件从节点复制到pod,可以使用:
kubectl cp <directory_on_your_node> esopa-test/esopa-test-mariadb-0:/database.sql