gpt4 book ai didi

Kubernetes 配置 GCE 永久磁盘有时会失败

转载 作者:行者123 更新时间:2023-12-02 11:49:37 25 4
gpt4 key购买 nike

我目前正在使用 GCE 标准容器集群,并取得了很大的成功和乐趣。但我对 GCE 永久磁盘的配置有疑问。

this 中所述文档形式 Kubernetes。我创建了两个 YAML 文件:

kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
name: slow
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard

kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: fast
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd

如果我现在创建以下 Volume Claim:

{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
"metadata": {
"name": "claim-test",
"annotations": {
"volume.beta.kubernetes.io/storage-class": "hdd"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "3Gi"
}
}
}
}

磁盘创建完美!如果我现在开始关注单位

apiVersion: v1
kind: ReplicationController
metadata:
name: nfs-server
spec:
replicas: 1
selector:
role: nfs-server
template:
metadata:
labels:
role: nfs-server
spec:
containers:
- name: nfs-server
image: gcr.io/google_containers/volume-nfs
ports:
- name: nfs
containerPort: 2049
- name: mountd
containerPort: 20048
- name: rpcbind
containerPort: 111
securityContext:
privileged: true
volumeMounts:
- mountPath: /exports
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:

claimName: claim-test

磁盘已完美挂载,但很多时候我偶然发现以下错误(在 kubelet.log 文件中找不到更多错误):

无法在节点“....”上附加卷“claim-test”,原因是:未找到 GCE 永久磁盘:diskName="....."zone="europe-west1-b"同步 pod 时出错,跳过:WAITING卷附加/安装 pod“....”的超时已过期。未附加/卸载卷列表=[....]

有时 pod 可以完美启动,但有时会崩溃。我唯一能找到的是在创建 PVC 和 RC 本身之间需要足够的时间。我尝试了很多次,但结果都不确定。

希望有人能给我一些建议或帮助。

提前致谢!最好的问候,

哈科尔

最佳答案

提前感谢您的意见!经过几天的搜索,我终于能够确定问题出在哪里,我将其发布是因为它可能对其他用户有用。

我使用的是 NFS example对于 Kubernetes 作为复制 Controller 为我的应用程序提供 NFS 存储,但似乎当 NFS 服务器和 PV、PVC 被删除时,有时 NFS 共享卡在节点本身上,我认为这与以下事实有关我没有按特定顺序删除这些元素,因此节点卡在共享变得无法将新共享安装到自身或 pod 上!

我注意到这个问题总是在我从集群中删除一些应用程序(NFS、PV、PVC 和其他组件)后出现。如果我在 GCE 上创建了一个新的集群,它可以完美地创建应用程序,直到我删除一个并且它出错了......

我不确定正确的删除顺序是什么,但我认为:

  • 使用 NFS 共享的 Pod
  • NFS共享的PV、PVC
  • NFS 服务器

如果 pod 需要更长的时间才能删除,并且在删除 PV 之前它还没有完全消失,则节点挂起并挂载它无法删除,因为它正在使用中,这就是问题发生的地方。

老实说,现在我要迁移到外部配置的 GlusterFS 集群。希望对某人有所帮助!

问候,

哈科尔

关于Kubernetes 配置 GCE 永久磁盘有时会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41465449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com