踩中这个坑failed to create rbd image: executable file not found in $PATH, command output,解决方法是把k8s.gcr.io/kube-controller-manager
镜像替换为gcr.io/google_containers/hyperkube
把 K8s 环境 reset 了,使用 kubeadm init 的时候咋指定这个单个镜像啊
上面第一步还有啥别的方法不?好像什么 Ceph-csi 也可以,有搞过的老哥没?
1
hijoker OP 新坑来了,移除支持了[deprecate and remove hyperkube support in kubeadm]( https://github.com/kubernetes/kubeadm/issues/1889)
|
2
hijoker OP 在比较新的 K8s 环境:v1.20 上,也会报 failed to create rbd image: executable file not found in $PATH, command output 这个错。。
|
3
wandehul 2021-06-11 00:06:54 +08:00
可能是因为 controller manager 没有装 rbd 这个命令,可以自己进去自己进去安装。这个坑我之前踩过,看一下我之前的记录。我记得现在的新版本貌似没有这个问题了 。
https://github.com/king131/kubernetes/blob/master/kubeadm/20.3-Kubernetes%20%E7%8E%AF%E5%A2%83%E4%B8%8B%E4%BD%BF%E7%94%A8%20Ceph%20%E5%81%9A%E6%8C%81%E4%B9%85%E5%8C%96%E5%AD%98%E5%82%A8%E7%9A%84%E9%97%AE%E9%A2%98%20.md |
4
wellsc 2021-06-11 00:32:23 +08:00
这么猛吗,生产环境敢用 k8s 搞 ceph
|
5
hijoker OP @wandehul 不,v1.20 都还有这个问题,大哥,你是咋进入 controller-manager 的,kubectl exec -it pod-controller-manager -- sh, -- /bin/bash 都不行啊
|
6
hijoker OP @wellsc sb 客户要搞,最开始用的 rook-ceph,要交付了,特么的说要用的是传统的非 K8s 环境的 ceph 。。。。。
|
7
superchijinpeng 2021-06-11 07:41:18 +08:00 via iPhone
3. node 节点安装 ceph-common 这个包就可以了
|
8
superchijinpeng 2021-06-11 07:43:14 +08:00 via iPhone
上家公司 Jupyter Lab 存储用的 Ceph RBD,这个坑就是这样解决的,注意版本不要 1.10 最好 1.12+,否则会出现 mount 超时
|
10
hijoker OP @superchijinpeng 不行,这个环境是 kubeadm 容器化安装的,在 node 上安装 ceph-common 这个包没用,应该是 controller-manager 这个组件的镜像里面没有打相关的工具早成的
|
11
xin053 2021-06-11 09:27:27 +08:00
|
12
jingslunt 2021-06-11 09:32:58 +08:00
|
16
Judoon 2021-06-11 14:42:12 +08:00
推荐 ceph-csi,现在 csi 已经算好用了,不像一两年前。现在可以动态扩容 pvc,创建 snapshot 等等
主要这样的架构更符合 k8s 设计规范,维护更新也方便。 你用旧的方式,似乎没有动态扩容等功能,再者文档过时,你交给客户的话,出问题维护难度变大 |