首页 > 解决方案 > 在 Kubernetes POD 中执行 MySQL 命令

问题描述

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

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

我目前的做法:

1 我读出了 wordpress pod 信息

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

2 我尝试将创建表视图作为单个命令执行,因为我无法通过 Runner 进入 POD。

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

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

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

导致同样的错误。

标签: mysqlgitlabkubernetes-pod

解决方案


带有 MySQL 客户端的 init 容器应该适合您。您的 SQL 代码可以作为 configmap 提供。


推荐阅读