我正在尝试将图像复制到我的持久性卷(它就像一个默认图像,当用户没有图像时,我希望我的应用程序使用它,因此它带有应用程序静态文件(
所以到目前为止我所做的是像这样创建deployments.yml
文件:
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests.yaml
kompose.version: 1.19.0 (f63a961c)
creationTimestamp: null
labels:
io.kompose.service: webserver
name: webserver
spec:
replicas: 1
strategy: {}
selector:
matchLabels:
io.kompose.service: webserver
template:
metadata:
annotations:
kompose.cmd: kompose convert -f docker-compose.yml -o kubemanifests.yaml
kompose.version: 1.19.0 (f63a961c)
creationTimestamp: null
labels:
io.kompose.service: webserver
spec:
containers:
- image: example.com:5000/app
name: webserver
ports:
- containerPort: 80
- containerPort: 8000
resources: {}
volumeMounts:
- mountPath: /usr/src/app/static
name: my-volume
imagePullSecrets:
- name: privateregcred
restartPolicy: Always
volumes:
- name: my-volume
persistentVolumeClaim:
claimName: my-volume
status: {}
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: my-volume
name: my-volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
status: {}
Ofc 这只是文件中的一部分(解决了我的问题(,所以当我运行它时,当我保存任何图像并删除我的 Web 服务器 pod 并再次重新创建旧图像时,它运行良好。 这是kubectl get pvc
的结果
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
my-volume Bound pvc-e76e8f50-8716-44fa-9d34-9d0b70ae9e4e 2Gi RWO standard 45m
但我的问题是我想将我的默认图像复制到卷中,所以我尝试这样做
kubectl cp webServer/app/static/profilepics/default.png pvc/my-volume:/profilepics
并且总是相同的问题Error from server (NotFound): pods "wemet-volume" not found
我试图更改名称添加默认值作为命名空间,结果总是相同,我做错了什么吗?
您正在尝试直接复制到名为 my-volume 的 pvc。尝试复制到 pods 挂载卷,如下所示:kubectl cp yourfile.png webserver:/usr/src/app/static/profilepics