kubernetes 可以在主容器和Sidecar之间共享文件夹吗?

v6ylcynt  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(193)

想把我的服务移到K8上。我使用helm来实现,我想用issue来描述我的例子:
我需要移动自己的Apache的几个服务。是的,我明白,这是工作的东西一样:
外部流量-> K8s nginx ingress -> pod Apache
但我现在不能改变它。Apache正在使用PHP。因此,我有两个映像的部署:php-fpmApache。在本例中,我需要与Apache共享第一个php-fpm容器中的php文件。
目前-我使用共享volumeMounts将文件从一个容器复制到第二个容器(所有日期都在第一个容器php-fpm中准备/编译):

volumeMounts:
  - name: shared-files
    mountPath: /var/shared-www

然后呢

lifecycle:
  postStart:
    exec:
      command: ["/bin/bash", "-c", "cp -r XXX /var/shared-www/"]

它是工作,但我想找到解决方案,有一个共同点,如符号链接,存储文件。我想有能力在一个地方改变文件,并在两个容器中改变文件。
这可能吗?
PS我正在使用AWS EKS。我不想使用网络存储(如EFS)。

slmsl1lt

slmsl1lt1#

为什么不按照官方文档使用subPath:
在单个容器中共享一个卷以供多次使用是有用的。subPath属性指定被引用卷内部的子路径,而不是根路径。
所以,不要运行类似于(向XXX共享)的命令:

volumeMounts:
  - name: shared-files
    mountPath: /var/shared-www
    subpath: XXX

更新:
Kubernetes子路径漏洞article

相关问题