Polardbx-operator 安装报错

环境:
rancher2.6.4
centos7.8
安装方式:单机
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged -v /var/data/rancher/lib/rancher/:/var/lib/rancher/ -v /var/data/rancher/var/log/auditlog:/var/log/auditlog -e CATTLE_SYSTEM_CATALOG=bundled -e AUDIT_LEVEL=3 rancher/rancher:v2.6.4




安装完成后:

创建新集群成功:
安装polardbx:
报错:

你至少得描述下你是如何安装应用的,或者重现步骤吧

安装polardbx:
图片
执行下面命令安装,这步没问题,能跑起来
helm install -n polardbx polardbx-operator ./
执行:
kubectl -n polardbx create -f polardbx.yaml
出现上面的错误,几个pod都运行不起来


都报:
og sysfscgroup xstore-tools]: timed out waiting for the condition
Warning FailedMount 6m45s (x12 over 14m) kubelet MountVolume.SetUp failed for volume “etclocaltime” : hostPath type check failed: /etc/localtime is not a file
Warning FailedMount 4m43s (x13 over 14m) kubelet MountVolume.SetUp failed for volume “zoneinfo” : hostPath type check failed: /usr/share/zoneinfo is not a directory

  1. 我没安装过 polardbx,所以我不知道具体的 yaml 文件是什么,所以没办法回答你的问题
  2. 你使用的是 docker run 启动的 rancher,通过这种形式启动的rancher 之后默认会有个 local k3s 集群。但这个 local 集群只是为了支撑 rancher 运行的,并不是让你在上面创建业务的。况且,这个 local 集群是封装在你通过 docker run 运行的rancher 容器里的,就算你创建成功了,你也没办法访问。
  3. 通过 docker run 的形式启动的 rancher,只适合测试和演示使用,长期使用建议参考官网安装在 K8s 集群上。
  4. 如果你要运行你的业务,你可以在 rancher ui 上创建个自定义集群,或者导入已有的集群,然后在上面部署你的业务。

应用我没在local创建,我是在新建的集群上创建的应用,我是想知道我的这个rancher安装的有没有问题,日志很多报错,是不是影响我创建的应用

如果你已经创建了下游集群,你可以直接在下游集群操作 kubectl get pod -A,如果所有 pod 运行状态都是 running,那就不会影响你在下游集群创建应用


我测试了几个版本的rancher都有这个问题,我用minikube 同样的 yaml文件运行就没问题

上面已经和你提过了,这是应用层面的问题,和底层的 K8s 没关系。而且 你一直都没一共 yaml 文件,别人没办法帮你排错。

从你上面的日志 “hostPath type check failed: /usr/share/zoneinfo is not a directory” 来看,盲猜是你通过 hostPath 去映射本地目录,然后你的 type 类型是 Directory ,这回导致在创建 hostPath 的时候去你本地找这个目录,如果不存在,就报提示的错误,你可以将 type 修改为DirectoryOrCreate

再重申一次,这是应用层面的问题,和底层的 K8s 和 rancher 没任何关系。

怎么上传文件,yaml我搜了个遍,也没看到指定的hostPath有/etc/localtime和/usr/share/zoneinfo 不知道是映射的哪的,我本地也有这2个,搞不懂

我看创建的pod里的yaml文件中,这个判断的也没错,我在这里该成 DirectoryOrCreate 还不让改

你得描述下你是如何操作这个修改的,在哪改的,怎么改的?是报错了还是怎么的?

最起码的描述得有吧。 你忽然来这一句,真不知道回复你啥

艹我知道什么原因了,docker run 的时候需要将那2个文件目录,-v 映射到容器里,不然创建的容器里面是没有的,创建的应该不是到我本地去映射,而是映射的容器里的

这不是你说的????

不是我说的?啥意思,没明白,还是docker run的问题,创建的rancher里没有那2个文件,我一直以为映射的是我物理机上的

2.6的界面能转成2.6之前的界面嘛,2.5之后的界面真心不喜欢,还是之前的看着舒服

你刚才明明说你没在 local 集群上创建你的业务,这会又说在 local 集群上创建了

浪费时间!

没有啊,我一直都没说在local上创建,我是新建的集群,在新集群上创建的项目,命名空间,我不知道为什么映射的是容器里的