1

一年多前,我在 Openshift 2 上部署了一个用 Node.js 编写的电报机器人。我收到了关于从 OS 2 迁移到 OS 3 的通知,然后我开始阅读一些关于 OS 3 的内容,比如这本书(“面向开发人员的 Openshift”),我阅读了文档,阅读了一些帖子。

虽然从 2 迁移到 3 并不容易,但现在齿轮有点旋转(只是使用一个相关术语)并且想法变得清晰,但我仍然有一些疑问。

我的应用程序需要一些静态文件,这些文件必须在 Kubernetes Persistent Volume Claim (PVC) 中上传。因此,我通过 CLI util 'oc' 创建了一个新应用程序,使用我在 GitHub 存储库上的代码 - 但我还使用本地文件夹测试了 S2I - 并创建、安装 PVC 并将其关联到我的应用程序。

由于 PVC 上的文件丢失,容器启动时创建的 pod 崩溃(“崩溃循环退避”)。

因此,通过命令oc rsync <local path> <pod>:<remote path>文档参考),我尝试将文件推送到 pod 上,但由于它崩溃,我无法访问挂载的 PVC 来推送所需的文件:tar 和 rsync 方法都失败了。(我想这就是原因)

那么,我不清楚的是如何在不安装 PVC 的情况下将文件推送到 PVC 上?还有其他方法吗?

我在想我可以首先创建一个空应用程序(通过 CLI oc new-app --allow-missing-images),创建、挂载和关联 PVC,启动 pod,推送文件,然后从 S2I 和 GitHub 创建一个新构建,然后部署。我不确定它会起作用,因为我认为 pod 可能会过早结束而不让我推送文件。它可以工作吗?

谢谢你。

4

0 回答 0