在 Kubernetes POD 中执行 MySQL 命令

Execute MySQL Command in Kubernetes POD

有人知道如何从 GitLab Runner 在 Kubernetes POD 中执行 MySQL 命令吗?

我的问题: 我想为我的数据库创建两个视图 Table,这些视图已在 GitLab 管道中设置并准备就绪。

我目前的做法:

1 我读出了 wordpress pod 信息

MSPOD=$(kubectl get pods --namespace=default -o=jsonpath="{.items[*].metadata.name}" -l app=wordpress,tier=mysql)

2 我尝试执行 create table view as single 命令,因为我无法通过 Runner 进入 POD。

kubectl exec $MSPOD -- mysql --database=wordpress --password='M*****?' -e "CREATE VIEW ...;"

但这不起作用,它实际上尝试 运行 终端中命令的单个项目。 它也不能作为嵌入式执行

kubectl exec $MSPOD -- $(mysql --database=wordpress --password='M*****?' -e "CREATE VIEW ...;")

导致同样的错误。

带有 MySQL 客户端的初始化容器应该适合你。您的 SQL 代码可以作为配置映射提供。