mysql - 在 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 ...;")
导致同样的错误。
解决方案
带有 MySQL 客户端的 init 容器应该适合您。您的 SQL 代码可以作为 configmap 提供。
推荐阅读
- python - 如何从列表中删除重复键
- css - Textarea 拥有多个受影响的值
- unity3d - ARkit - 无法在 Unity 中使用 ARkit 更新 6 加载更大的 3d 模型
- docker - Docker 提交在 Windows Server 2019 上不起作用
- shell - 在 bash 中匹配某些文本后插入新行
- javascript - 如果使用 react 满足某些条件,则显示下拉列表
- postgresql - 使用 pgAdmin 4 时将 bigint 错误插入 JSONB 列
- ionic-framework - 检索来自 REST API 的日期时的日期无效
- linux - 如何将文件传输到主机并将密码传递给它
- visual-studio - 如何禁用 Visual Studio 编辑器光标跳过行尾