V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hijoker
V2EX  ›  Kubernetes

K8s 使用传统的 Ceph(非 rook-ceph)的 rbd 请教

  •  
  •   hijoker · 11 天前 · 746 次点击
    1. 踩中这个坑failed to create rbd image: executable file not found in $PATH, command output,解决方法是把k8s.gcr.io/kube-controller-manager镜像替换为gcr.io/google_containers/hyperkube

    2. 把 K8s 环境 reset 了,使用 kubeadm init 的时候咋指定这个单个镜像啊

    3. 上面第一步还有啥别的方法不?好像什么 Ceph-csi 也可以,有搞过的老哥没?

    第 1 条附言  ·  11 天前
    1. 更改镜像的方式已经搞定了,可以动态提供pv了,就是修改/etc/kubernetes/manifests/kube-controller-manager.yaml 里面的image
    2. 就是https://github.com/kubernetes/kubernetes/issues/85454 提供的方案之一,改了这个文件,保存后,会自动用新的镜像重建kube-controller-manager这个pod。
    3. 其他的步骤,参考了这个链接: https://godleon.github.io/blog/Kubernetes/k8s-Config-StorageClass-with-Ceph-RBD/
    16 条回复    2021-06-11 14:42:12 +08:00
    hijoker
        1
    hijoker   11 天前
    新坑来了,移除支持了[deprecate and remove hyperkube support in kubeadm]( https://github.com/kubernetes/kubeadm/issues/1889)
    hijoker
        2
    hijoker   11 天前
    在比较新的 K8s 环境:v1.20 上,也会报 failed to create rbd image: executable file not found in $PATH, command output 这个错。。
    wandehul
        3
    wandehul   11 天前
    可能是因为 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
    wellsc
        4
    wellsc   11 天前
    这么猛吗,生产环境敢用 k8s 搞 ceph
    hijoker
        5
    hijoker   11 天前
    @wandehul 不,v1.20 都还有这个问题,大哥,你是咋进入 controller-manager 的,kubectl exec -it pod-controller-manager -- sh, -- /bin/bash 都不行啊
    hijoker
        6
    hijoker   11 天前
    @wellsc sb 客户要搞,最开始用的 rook-ceph,要交付了,特么的说要用的是传统的非 K8s 环境的 ceph 。。。。。
    superchijinpeng
        7
    superchijinpeng   11 天前 via iPhone
    3. node 节点安装 ceph-common 这个包就可以了
    superchijinpeng
        8
    superchijinpeng   11 天前 via iPhone
    上家公司 Jupyter Lab 存储用的 Ceph RBD,这个坑就是这样解决的,注意版本不要 1.10 最好 1.12+,否则会出现 mount 超时
    plko345
        9
    plko345   11 天前 via Android
    @wellsc 有什么风险,正想这么搞
    hijoker
        10
    hijoker   11 天前
    @superchijinpeng 不行,这个环境是 kubeadm 容器化安装的,在 node 上安装 ceph-common 这个包没用,应该是 controller-manager 这个组件的镜像里面没有打相关的工具早成的
    xin053
        11
    xin053   11 天前
    wandehul
        13
    wandehul   11 天前
    @hijoker 要+ namespace
    hijoker
        14
    hijoker   11 天前
    @wandehul 哦,失误了,谢谢
    hijoker
        15
    hijoker   11 天前
    @xin053 @jingslunt 另一个同事在搞 csi,看看能不能多搞几套方案,给 SB 客户
    Judoon
        16
    Judoon   11 天前
    推荐 ceph-csi,现在 csi 已经算好用了,不像一两年前。现在可以动态扩容 pvc,创建 snapshot 等等
    主要这样的架构更符合 k8s 设计规范,维护更新也方便。
    你用旧的方式,似乎没有动态扩容等功能,再者文档过时,你交给客户的话,出问题维护难度变大
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2867 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:24 · PVG 18:24 · LAX 03:24 · JFK 06:24
    ♥ Do have faith in what you're doing.