nebula-operator部署失败

嗯嗯好的 待会试一下,刚刚发现可能是nfs-provision的service-account没有权限导致的

这个文件好像执行报错,


修改了nfs ip 和namespace

发现是cluserRule给的权限不足,原来是rules:

  • apiGroups: [“”]
    resources: [“persistentvolumes”]
    verbs: [“get”, “list”, “watch”, “create”, “delete”]
  • apiGroups: [“”]
    resources: [“persistentvolumeclaims”]
    verbs: [“get”, “list”, “watch”, “update”]
  • apiGroups: [“storage.k8s.io”]
    resources: [“storageclasses”]
    verbs: [“get”, “list”, “watch”]
  • apiGroups: [“”]
    resources: [“events”]
    verbs: [“create”, “update”, “patch”]
    修改为:
    rules:
  • apiGroups: [“”]
    resources: [“persistentvolumes”]
    verbs: [“get”, “list”, “watch”, “create”, “delete”]
  • apiGroups: [“”]
    resources: [“persistentvolumeclaims”]
    verbs: [“get”, “list”, “watch”, “update”]
  • apiGroups: [“storage.k8s.io”]
    resources: [“storageclasses”]
    verbs: [“get”, “list”, “watch”]
  • apiGroups: [“”]
    resources: [“events”]
    verbs: [“watch”, “create”, “update”, “patch”]
  • apiGroups: [“”]
    resources: [“services”]
    verbs: [“get”]
  • apiGroups: [“extensions”]
    resources: [“podsecuritypolicies”]
    resourceNames: [“nfs-provisioner”]
    verbs: [“use”]
  • apiGroups: [“”]
    resources: [“endpoints”]
    verbs: [“get”, “list”, “watch”, “create”, “update”, “patch”]

之后pv和pvc可以申请正常


但是nebula服务还是没有起来

mount.nfs 挂载参数有问题,需要排查下

这个参数是在哪里呢 :sob:,还是我要继续修改nfs-provision的配置

provisioner 里的第六步你测试下是否能正常工作,一般情况下跟内核支持的nfs版本有关系

执行了一下,pvc和pod都是pending,不过是因为我没有创建对应的sc呀。现在来看正常情况下pvc能创建,和pv也能形成bound关系,就是会挂载失败…问题只能是nfs这些了。。

nfs 是手动能mount么?

不是多机测试的话,不熟悉nfs的话,先要不先 hostpath 吧 :smiley:

多机有远程 mount 需求可以试试 https://rook.io/ ,好像自带 nfs/ceph-rbd 的参考 yaml ,感觉是开箱即用的

好的 对nfs不太熟悉,请问一下如何在apps_v1alpha1_nebulacluster.yaml文件中配置hostpath呢

如这个

sed -i 's/gp2/hostpath/g' nebula-operator/config/samples/apps_v1alpha1_nebulacluster.yaml

helm repo add rimusz https://charts.rimusz.net
helm repo update
helm upgrade --install hostpath-provisioner --namespace kube-system rimusz/hostpath-provisioner

:sob: :sob:小白懵了

就直接执行就行

  • 首先把你的 nebulaCluster CRD 里的 SC从 gp2 改成 hostpath
    可以用 sed,在对的路径下直接替换,也可以你自己编辑 yaml,然后去 apply 它
sed -i 's/gp2/hostpath/g' nebula-operator/config/samples/apps_v1alpha1_nebulacluster.yaml
  • 然后安装 hostpath-provider
helm repo add rimusz https://charts.rimusz.net
helm repo update
helm upgrade --install hostpath-provisioner --namespace kube-system rimusz/hostpath-provisioner

就这两步就可以工作了


报错的具体日志如上

排查了一下,根据日志的指令挂载发现会有报错

想问一下这个mount -t nfs -o debug 挂载为什么要有个(-o debug 呢),似乎有这个就挂载不了了

OK 多谢啦

[图片]


最终发现原来是创建storage-class的时候指定了debug模式,太坑了!修改后就成功部署了

谢谢!

恭喜:+1:t2:

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。