繁体   English   中英

如何将 skaffold 与卷一起使用

[英]How to use skaffold with volumes

所以我有一个 monorepo 项目,我想与 skaffold 一起使用,这是文件结构:

- apps
  - server
      ...
- packages
  - common
      ...
- k8s
  - server-deployment.yaml

我想使用 skaffold 部署服务器并使用 volume 将公共 package 链接到其中。 使用 docker-compose 很简单:

volumes:
  - ./apps/server:/app/
  - ./node_modules:/app/node_modules
  - ./packages/common:/usr/src/app/node_modules/common

但我试图用 skaffold 做到这一点,但没有成功。 这是k8s/deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert -f docker-compose.yml
    kompose.version: 1.26.1 (HEAD)
  creationTimestamp: null
  labels:
    io.kompose.service: server
  name: server
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: server
  strategy:
    type: Recreate
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert -f docker-compose.yml
        kompose.version: 1.26.1 (HEAD)
      creationTimestamp: null
      labels:
        io.kompose.network/default: "true"
        io.kompose.service: server
    spec:
      containers:
        - image: server
          name: server
          ports:
            - containerPort: 8080
            - containerPort: 9229
          resources: {}
          volumeMounts:
            - mountPath: /app/node_modules/common
              name: server-claim
      restartPolicy: Always
      volumes:
        - name: server-claim
          hostPath:
            path: ../../packages/common
            type: Directory
status: {}

我也尝试使用PersistentVolumePersistentVolumeClaim但没有成功。

我怎么能做这样的事? 谢谢。

你用的是什么集群?

您需要在集群中挂载主机路径。 这是每个集群处理不同的事情。

请参阅 Minikube 和 Rancher Desktop 文档了解它们如何支持它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM