如何连接到崩溃的 openshift container/pod

How can I connect to a crashed openshift container/pod

我的 openshift 数据库崩溃了,现在 mysql 应用程序不再启动了。容器现在尝试在循环中创建一个 pod。但每次都因登录问题而失败:

在安装过程中,我用 MYSQL_ROOT_PASSWORD 设置了根密码值,但是当连接到 mysql -u root 时,我没有被要求输入密码。所以我不确定配置使用的是哪种密码。

我已经尝试通过环境值重置密码但没有效果。

有没有办法连接到 mysql 配置,即使容器不是 运行?

您可以 运行 oc debug 针对部署配置。这将启动实例的 pod,但实际上不会启动数据库,而是为 运行ning 容器中的 shell 留下一个命令提示符。确保首先使用 oc scale 将现有实例缩减为 0 个副本。如果使用 ReadWriteOnce 类型的持久卷,这是必需的。修复任何问题后,退出 shell,然后缩减为 1 个副本。

注意,环境变量只定义了第一次启动时设置的密码,之后它们的值无关紧要,但请记录使用的内容。如果您覆盖了部署配置中的环境变量,那么您将丢失使用内容的记录,但数据库预期的密码不会更改。

此外,在数据库容器内部,无需密码即可连接到数据库,我认为 MySQL 是正常的,因为在这种情况下它将默认使用本地 UNIX 侦听器套接字。来自 pod 外部的连接仍然需要密码。