[英]Unable to create Persistent Volume Claim for PetSet on CoreOS
在我本地的开发环境中,我已经用CoreOS设置了Kube-Solo。 我正在尝试部署一个包含持久卷声明模板的Kubernetes PetSet,作为PetSet配置的一部分。 此配置失败,并且没有任何Pod启动。 这是我的PetSet定义:
apiVersion: apps/v1alpha1
kind: PetSet
metadata:
name: marklogic
spec:
serviceName: "ml-service"
replicas: 2
template:
metadata:
labels:
app: marklogic
annotations:
pod.alpha.kubernetes.io/initialized: "true"
spec:
terminationGracePeriodSeconds: 30
containers:
- name: 'marklogic'
image: {ip address of repo}:5000/dcgs-sof/ml8-docker-final:v1
imagePullPolicy: Always
command: ["/opt/entry-point.sh", "-l", "/opt/mlconfig.sh"]
ports:
- containerPort: 7997
name: health-check
- containerPort: 8000
name: app-services
- containerPort: 8001
name: admin
- containerPort: 8002
name: manage
- containerPort: 8040
name: sof-sdl
- containerPort: 8041
name: sof-sdl-xcc
- containerPort: 8042
name: ml8042
- containerPort: 8050
name: sof-sdl-admin
- containerPort: 8051
name: sof-sdl-cache
- containerPort: 8060
name: sof-sdl-camel
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
lifecycle:
preStop:
exec:
command: ["/etc/init.d/MarkLogic stop"]
volumeMounts:
- name: ml-data
mountPath: /var/opt/MarkLogic
volumeClaimTemplates:
- metadata:
name: ml-data
annotations:
volume.alpha.kubernetes.io/storage-class: anything
spec:
accessModes: [ "ReadWriteMany" ]
resources:
requests:
storage: 1Gi
在Kubernetes仪表板中,我看到以下错误消息:
SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "ml-data-marklogic-0", which is unexpected.
似乎无法创建持久卷声明也正在阻止从我的本地存储库中提取映像。 此外,Kubernetes仪表板显示了对“持续批量声明”的请求,但是状态一直处于“挂起”状态。 我已经验证了永久性体积索赔的问题。 如果我从PetSet配置中删除它,则部署成功。
我应该注意,在此之前我使用的是MiniKube,并且会看到相同的消息,但是一旦拉出图像并启动了pod,则声明将成立,消息将消失。
我在用
我对kube-solo不熟悉。
但是,这里的问题可能是您正在尝试使用Beta版的动态卷配置功能,该功能对您的环境中的卷没有特定的支持。
解决此问题的最佳方法是创建希望手动查找的持久卷,以便PersistentVolumeClaim可以找到它们。
我发生了相同的错误,并在松弛组和此拉取请求中找到了有关以下配置的线索(考虑volumeClaimTemplates和StorageClass )
volumeClaimTemplates:
- metadata:
name: cassandra-data
annotations:
volume.beta.kubernetes.io/storage-class: standard
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
---
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
namespace: kube-system
name: standard
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
labels:
kubernetes.io/cluster-service: "true"
provisioner: kubernetes.io/host-path
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.