我收到此錯誤訊息:
Deployment.apps "nginxapp" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "nginx-claim"
現在,我認為部署宣告了持久存盤,所以這些是我按順序運行的 det 檔案:
首先,將持久卷到 /data,因為它在 minikube 上是持久的(https://minikube.sigs.k8s.io/docs/handbook/persistent_volumes/):
apiVersion: v1
kind: PersistentVolume
metadata:
name: small-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- my-node
然后,對于我的 nginx 部署,我提出了一個宣告:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
在服務之前我運行部署,這是給我上面的錯誤,看起來像這樣:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginxapp
name: nginxapp
spec:
replicas: 1
volumes:
- persistentVolumeClaim:
claimName: nginx-claim
selector:
matchLabels:
app: nginxapp
template:
metadata:
labels:
app: nginxapp
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- mountPath: "/data/www"
name: nginx-claim
我哪里做錯了?不是部署-> 數量宣告-> 數量嗎?
我做得對嗎?持久卷是 pod-wide (?),因此通常命名。但是宣告是針對每個部署的?所以這就是我命名它的原因
nginx-claim。我可能在這里弄錯了,但不應該打擾這個簡單的 run doh。在我設定的部署中
mountPath: "/data/www",這應該遵循已在持久卷定義中設定的目錄,還是以此為基礎?所以在我的情況下,我得到/data/data/www?
uj5u.com熱心網友回復:
看起來在部署清單中name:缺少volumes:。您可以在部署清單中嘗試以下操作:
volumes:
- name: nginx-claim
persistentVolumeClaim:
claimName: nginx-claim
這是檔案。
uj5u.com熱心網友回復:
嘗試更改為:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-claim
spec:
storageClassName: local-storage # <-- changed
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
在您的部署規范中添加:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginxapp
name: nginxapp
spec:
replicas: 1
selector:
matchLabels:
app: nginxapp
template:
metadata:
labels:
app: nginxapp
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: nginx-claim
mountPath: "/data/www"
volumes:
- name: nginx-claim # <-- added
persistentVolumeClaim:
claimName: nginx-claim
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385096.html
標籤:Kubernetes 迷你酷
