在 运行 Kompose 之后我得到:pod has unbound immediate PersistentVolumeClaims
After running Kompose I get: pod has unbound immediate PersistentVolumeClaims
有什么问题?
我无法获取正在使用卷的 pods 运行。在 Kubernetes 仪表板中,我收到以下错误:
running "VolumeBinding" filter plugin for pod "influxdb-6979bff6f9-hpf89": pod has unbound immediate PersistentVolumeClaims
我做了什么?
在 运行 Kompose convert
到我的 docker-compose.yml
文件后,我尝试用 micro8ks kubectl apply -f .
启动 pods (我使用的是 micro8ks)我不得不更换带有 networking.k8s.io/v1
的 networkpolicy yaml 文件的版本(参见 here)但除了这个更改,我没有做任何更改。
YAML 文件
influxdb-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.service: influxdb
name: influxdb
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: influxdb
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.network/cloud-net: "true"
io.kompose.network/default: "true"
io.kompose.service: influxdb
spec:
containers:
- env:
- name: INFLUXDB_HTTP_LOG_ENABLED
value: "false"
image: influxdb:1.8
imagePullPolicy: ""
name: influxdb
ports:
- containerPort: 8086
resources: {}
volumeMounts:
- mountPath: /var/lib/influxdb
name: influx
restartPolicy: Always
serviceAccountName: ""
volumes:
- name: influx
persistentVolumeClaim:
claimName: influx
status: {}
influxdb-service.yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.service: influxdb
name: influxdb
spec:
ports:
- name: "8087"
port: 8087
targetPort: 8086
selector:
io.kompose.service: influxdb
status:
loadBalancer: {}
涌入-persistenvolumeclaim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: influx
name: influx
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
如果集群没有可以动态配置 PersistentVolume
的 StorageClass
或者没有手动创建的 PersistentVolume
,PersistentVolumeClaim
将被解除绑定满足 PersistentVolumeClaim
这里是 guide 关于如何配置 pod 以使用 PersistentVolume
解决当前场景可以手动创建PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 100Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
请注意 hostPath
的用法仅作为示例。不推荐用于生产用途。考虑使用受支持类型的外部块或文件存储 here
有什么问题?
我无法获取正在使用卷的 pods 运行。在 Kubernetes 仪表板中,我收到以下错误:
running "VolumeBinding" filter plugin for pod "influxdb-6979bff6f9-hpf89": pod has unbound immediate PersistentVolumeClaims
我做了什么?
在 运行 Kompose convert
到我的 docker-compose.yml
文件后,我尝试用 micro8ks kubectl apply -f .
启动 pods (我使用的是 micro8ks)我不得不更换带有 networking.k8s.io/v1
的 networkpolicy yaml 文件的版本(参见 here)但除了这个更改,我没有做任何更改。
YAML 文件
influxdb-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.service: influxdb
name: influxdb
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: influxdb
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.network/cloud-net: "true"
io.kompose.network/default: "true"
io.kompose.service: influxdb
spec:
containers:
- env:
- name: INFLUXDB_HTTP_LOG_ENABLED
value: "false"
image: influxdb:1.8
imagePullPolicy: ""
name: influxdb
ports:
- containerPort: 8086
resources: {}
volumeMounts:
- mountPath: /var/lib/influxdb
name: influx
restartPolicy: Always
serviceAccountName: ""
volumes:
- name: influx
persistentVolumeClaim:
claimName: influx
status: {}
influxdb-service.yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: ./kompose convert
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.service: influxdb
name: influxdb
spec:
ports:
- name: "8087"
port: 8087
targetPort: 8086
selector:
io.kompose.service: influxdb
status:
loadBalancer: {}
涌入-persistenvolumeclaim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: influx
name: influx
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
如果集群没有可以动态配置 PersistentVolume
的 StorageClass
或者没有手动创建的 PersistentVolume
,PersistentVolumeClaim
将被解除绑定满足 PersistentVolumeClaim
这里是 guide 关于如何配置 pod 以使用 PersistentVolume
解决当前场景可以手动创建PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 100Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
请注意 hostPath
的用法仅作为示例。不推荐用于生产用途。考虑使用受支持类型的外部块或文件存储 here