Oracle数据库无法在Kubernetes上运行

juud5qan  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(121)

我使用本地docker镜像并使用StatefulSet将oracle数据库从.yaml文件部署到kubernetes。
镜像是100 GB,在使用kubectl apply -f file.yaml运行后,数据库被挂载,当安装完成时容器关闭,pod创建新容器,结果相同,等等。
如果我用docker run从docker运行容器。容器工作,我可以进入和使用数据库,只有在k8s集群得到的问题,其测试从3台计算机,本地和云(eks)的结果是相同的。
Dockerfile是:第一个月
startup.sh文件是:

sqlplus SYS/SYS as sysdba <<EOF
   startup
   exit
EOF
/bin/bash

字符串
在日志中我看到启动,然后完成退出;命令和pod示例崩溃:Database mounted. ORA-03113: end-of-file on communication channel Process ID: 124 Session ID: 261 Serial number:23381 SQL> Disconnected from Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
我希望有人能给予我建议。

jc3wubiy

jc3wubiy1#

问题出在命令执行上。容器将在启动过程完成后立即停止。您将被要求永远运行您的进程。如果它是一个http服务器,那么它将永远运行。所以最好是启动主要服务或者你可以把

command: ["sleep","infinity"]

字符串
在部署yaml的容器规范中。请参考此https://devopscube.com/keep-docker-container-running/

相关问题