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

Linux 有没有一款支持彻底卸载安装包的工具(比如卸载 k8s)

  •  
  •   OldCarMan · 2023-03-10 17:38:19 +08:00 · 1451 次点击
    这是一个创建于 410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt ,最近卸载 k8s 某些插件时,发现单纯的 kubectl delete 并不能完整的卸载相关的配置,我相信有时安装其他包 /库也希望彻底卸载相关的内容,所以请问各位大佬有没有相应的工具,最好能支持手动选择,比如手动选择:

    • 是否删除相关数据
    • 是否删除相关配置(网卡,iptables 等之类的)
    • 支持集群节点同步卸载
    6 条回复    2023-03-13 10:13:09 +08:00
    FabricPath
        1
    FabricPath  
       2023-03-10 18:11:22 +08:00   ❤️ 1
    这个不可能做到。
    kubelet 写到 /var/lib/kubelet ,除了他自己,没人知道他写了这个目录。
    iptables 、ipvs 、ipaddr/iproute 同理
    Syiize
        2
    Syiize  
       2023-03-10 19:02:27 +08:00 via Android
    以我所知道的 deb 包举例,安装和卸载逻辑都是写在包里的安装和卸载脚本里的,所以想卸载的时候留东西很容易,只需要卸载脚本里不删除就可以了,包管理器并不知道软件包到底安装在什么地方。在比较开放的 Linux 世界里题主的要求比较难做到。
    tairan2006
        3
    tairan2006  
       2023-03-11 10:19:44 +08:00 via Android
    一般不是 helm 卸载么
    julyclyde
        4
    julyclyde  
       2023-03-12 10:33:48 +08:00
    安装的时候用包管理工具,甚至都做不到删干净(运行时产生的那些)
    OldCarMan
        5
    OldCarMan  
    OP
       2023-03-13 09:18:14 +08:00
    @FabricPath 嗯嗯,确实麻烦,在想等有空,要不要试一下搞个 linux 复杂应用的安装和卸载仓库(提供各种繁杂应用的安装和相应卸载脚本)。
    @Syiize 是的,我觉得这样挺好的,另外备份和恢复最好也要有相应的脚本。
    @tairan2006 没用过,不过你这个是不是必须使用 helm 安装的库才能用它来卸载
    @julyclyde 是的,所以最好对每个库 /组件的路径配置,最好有一个大概的了解,要不然时间久了,有时会遗漏一些东西。
    FabricPath
        6
    FabricPath  
       2023-03-13 10:13:09 +08:00
    @OldCarMan 1 这个很理想,维护成本很高的,比如今天 kubeproxy 写了一堆 iptables ,明天又加了一堆 nft tables ,需要不断地跟进。
    通常情况下,机器从集群里面摘掉要换业务使用的话,都直接拉去重装,全自动重装,所以成本比卸载软件低很多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2547 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:04 · PVG 00:04 · LAX 09:04 · JFK 12:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.