事情的起因是基于k8s集群搞东搞西搞项目时,使用脚本一键部署平台时突然僵住了,直接返回超时信息,通过各种手段对 shell 脚本进行debug,最终定位到是在使用yaml文件创建pod时一直卡在下面这步:PersistentVolumeClaim is not bond。
当然,这只是其中一条not boud的debug信息,整个部署中的和存储存储相关的组件,mysql、redis、mogodb和minio全都处于这种状态,查询相关pod,全都处于pending状态,等于压根没起来,查看pod的详细信息,得到如下Message:
每个人出现这个问题的原因不尽相同,最终的解决方案不具有普适性,但是了解整个过程有助于类似问题的思考,因此记录下整个思考过程。这个问题中有几个比较关键的词语,个人觉得有必要说明一下。每个概念名词都分为官方解释和个人理解。
由于每个StorageClass其实都会启动一个对应的容器,因此可以通过查看当前使用的StorageClass(默认或指定)的日志,定位具体的问题。
使用如下指令查看所有pod的名称:
kubectl get pods -A
使用如下指令查看相关Provisioner的日志:
kubectl logs -f cbs-provisioner-5bf7bb45f-2q5fg -n kube-system
在日志中会输出具体的绑定失败原因。我所遇到问题的原因:默认的StorageClass定义的规则是必须创建10G以上的pv,而在pvc中声明的仅为8G,因此通过动态卷供应策略无法创建出满足pvc条件的pv,最终导致绑定失败。修改后pvc中的size为10G后问题解决。
概述事情的起因是基于k8s集群搞东搞西搞项目时,使用脚本一键部署平台时突然僵住了,直接返回超时信息,通过各种手段对 shell 脚本进行debug,最终定位到是在使用yaml文件创建pod时一直卡在下面这步:PersistentVolumeClaim is not bond。当然,这只是其中一条not boud的debug信息,整个部署中的和存储存储相关的组件,mysql、redis、mogodb和minio全都处于这种状态,查询相关pod,全都处于pending状态,等于压根没起来,查看pod的详细
pod 一直处于Pending 状态
pod has un
bound
immediate
Persistent
Volume
Claim
s
kubectl logs nfs-client-provisionerxxx (
pv
NFS)
pod selfLink was empty, can’t make reference
[root@hadoop03 NFS]# kubectl get pod -n nfs-client
NAME R
1、环境介绍
K8S
+openstack-cloud-controller-manager对接OpenStack Cinder 为
K8S
提供
PV
后端
storageclass已经创建好
# kubectl get sc
NAME PROVISIONER RE
CLAIM
POLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION...
pod has un
bound
immediate
Persistent
Volume
Claim
s : statefulset挂载不上
pv
的另一种情况
问题
描述:第一次安装harbor的时候没有设置trivy的storageClass,后来修改statefulset的时候报错
Error: UPGRADE FAILED: cannot patch “harbor-harbor-trivy” with kind StatefulSet: StatefulSet.apps “harbor-harbor-trivy
v1.10.2
遇到
问题
:
使用 docker-compose down命令关闭harbor,然后使用./install.sh --with-chartmuseum命令重新安装带chart仓库的harbor,然后发现启动不了,报以下错误:
[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating network "harbor_harbor-chartmu
https://kubernetes.io/zh/docs/concepts/storage/storage-classes/
https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
https://github.com/kubernetes-retired/external-storage/tree/master/nfs
https://www.jianshu.com/p/65ed4
1、本次
问题
出现,新创建statefulset的pod无法正常创建
pv
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling <unknown>
这个报错是因为
pvc
没有和
pv
关联起来,我这边的
PVC
是创建pod的时候自动创建的,可以手动把
pv
和
PVC
关联或者创建StorageClass让
pv
和
PVC
自动关联
我这边是修改yaml手动关联
解决
的
在
pv
的yaml文件添加如下内容spec处添加
claim
Ref:
kind:
Persistent
Volume
Claim
namespace: 命名空...
导语:有一个需求 密钥需要挂载到不同容器,并且在代码里更新指定密钥文件,并重启对应容器。原先不需要更改和重启时,是使用configmap实现的。但是现在需要多个容器共享一个文件并且需要被更新,这个就无法使用configmap实现了。考虑使用
pv
pvc
。
使用
pv
和
pvc
遇到的
问题
,疯狂报以下错
Warning FailedScheduling 28s default-scheduler 0/1 nodes are available: 1 pod has un
bound
immediate
你提到了一个 XML 异常,即 "Namespace 'wx' is not
bound
"。这个错误通常出现在 XML 文档中,表示命名空间 'wx' 没有绑定或声明。
在 XML 中,命名空间用于避免元素和属性名称的冲突。当使用命名空间时,需要在 XML 文档中声明或绑定命名空间。如果在使用命名空间时没有正确绑定,就会出现这个异常。
要
解决
这个
问题
,你可以检查以下几个方面:
1. 确保在 XML 文档的根元素或相关元素上正确声明或绑定命名空间。例如,可以使用类似于以下的声明语句:
xmlns:wx="http://example.com/wx"
2. 确保在使用命名空间前正确引用了声明的命名空间。例如,可以在使用 'wx' 命名空间的元素或属性前添加 'wx:' 前缀,以指示其所属的命名空间。
3. 检查命名空间的 URI 是否正确。可能存在 URI 拼写错误或命名空间定义不一致的情况。
希望这些提示能够帮助你
解决
"Namespace 'wx' is not
bound
" 这个异常
问题
。如果
问题
还没有
解决
,请提供更多的上下文信息,我会尽力帮助你。