V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pykerzhang
V2EX  ›  Linux

在这个容器化成为标准的时代,如何评价运维还在用二进制源代码方法安装软件?

  •  
  •   pykerzhang · 145 天前 · 7888 次点击
    这是一个创建于 145 天前的主题,其中的信息可能已经有所发展或是发生改变。

    as the title

    59 条回复    2024-08-01 15:20:51 +08:00
    PTLin
        1
    PTLin  
       145 天前   ❤️ 4
    你就一句话,谁能评价出来,起码说说安装的什么软件 / 在什么地方安装的软件 / 运维以什么理由这样安装软件
    lsk569937453
        2
    lsk569937453  
       145 天前   ❤️ 5
    gcc&glibc:肿么,你不服馍?
    gajin2
        3
    gajin2  
       145 天前   ❤️ 1
    正常操作
    ConfusedBiscuit
        4
    ConfusedBiscuit  
       145 天前   ❤️ 5
    #1 说得对,你这太模糊,根本无法评价
    1. “二进制源代码”是啥?直接懵逼
    2. 如果是源代码自己编译,是什么类型的软件自己编译?是软件仓库中有的还是没有的?
    3. 容器好用是没错,但是也不能所有软件都装容器吧,我想用个 htop 难道也要装容器?
    liuzimin
        5
    liuzimin  
       145 天前 via Android   ❤️ 1
    啥叫二进制源代码方式?是指自己编译吗?

    想起我前段时间自己搭建 rustdesk ,按网上方案又是 docker ,又是配置的。最后发现个日本教程,直接去 github 下载.deb 安装包扔服务器安装,一步到位服务就起来了,不知道方便了多少。。
    coderxy
        6
    coderxy  
       145 天前
    没啥好评价的,只要没影响你的效率,你管他呢。
    RedisMasterNode
        7
    RedisMasterNode  
       145 天前
    二进制是编译后的...源码是要编译的...楼主看不惯的是哪种使用姿势?没太看明白
    adrianzhang
        8
    adrianzhang  
       145 天前
    容器化适合成熟软件。如果需要 debug 如 strace ,在容器里做很不方便。难道每个 image 都把调试工具做成 layer ?
    codingmiao
        9
    codingmiao  
       145 天前   ❤️ 7
    所以现在把数据库丢容器里是否合适有定论了么,会损失百分之几的性能
    ho121
        10
    ho121  
       145 天前 via Android
    容器化并不是标准
    Tounea
        11
    Tounea  
       145 天前
    生产运行的软件肯定是要保证稳定性,docker 运行一般服务是很方便,而且一般公司也不会去搞自己的 dockerhub 私有仓,全是一条命令从 docker hub 上拉镜像,结果 docker hub 被墙在在生产环境又得找第三天 docker hub 镜像仓,还得配置代理等等,烦的很!
    用源码编译则完完全全本地运行,而且高度自定义,同系统环境可以直接把编译好的软件直接跨平台分发,效率也高。
    chendy
        12
    chendy  
       145 天前
    每个系统实际情况不一样,无法评价
    简单场景犯不上用容器,复杂场景有时候容器也 hold 不住,需要用啥就用啥,用啥好使就用啥
    cz5424
        13
    cz5424  
       144 天前 via iPhone
    @liuzimin rustdesk 前段时间我在电脑装各种依赖,最后没编译成功各种报错,花费 30 分钟后点了一下 fork ,点一下 github action ,成了。以上的例子是指某些情况下需要很多依赖环境的时候,容器很好用。但是某些情况下,尤其是 C 程序,能直接执行不是更方便,比如你会在容器里面打印 lsusb 解决 usb 问题?
    guanzhangzhang
        14
    guanzhangzhang  
       144 天前
    要看场景讨论阿,你不假设场景怎么排查,例如容器里安装 tcpdump 还是宿主机安装个好,而包管理自带的 tcpdump 版本低,源码编译安装高,抓包才能看到网卡名
    noahlias
        15
    noahlias  
       144 天前   ❤️ 1
    一股知乎味道
    xhatt510
        16
    xhatt510  
       144 天前
    楼主说的应该是指 一些别人发布的常驻的服务吧?上面的说 htop 、tcpdump 这种属于是即用的命令。场景不一样。有个特点就是 需要常驻的、需要配置的或者说配置特别麻烦的 用容器。而 htop 、tcpdump 这种属于工具命令。不常驻,即用即终止的那种。
    deavorwei
        17
    deavorwei  
       144 天前
    借楼礼貌问问各位好哥哥,目前项目情况如下:
    1. 底座是 5 台物理机,部署了 EXSI ,再分发业务虚拟机;
    2. 除 mysql 以外所有组件单 VM 部署;
    ( mysql 所在虚拟机一个月内挂了两次,才部署的主备。怀疑是 EXSI 7u2 的 BUG ,每次都提示硬盘不足。。。)
    3. 所有组件都是通过二进制包部署的。

    大概一个月后要部署到信创环境,所有组件已经基于集群模式部署的需求,申请了虚拟机。

    目前我在从 0 开始学习 docker ,考虑在信创环境通过 docker 部署平台,主要是基于以下几点:
    1. 信创环境无法连通外网,通过 docker 打包部署可以避免部署缺少依赖;(不知道 yum 源有木有 docker[捂脸])
    2. K8S 能对 docker 进行 HA ,保持业务高可靠;
    3. 建立技术壁垒,这套东西只有我能运维(小公司,没人会)

    以上 1 ,2 两点都是自己猜测的,不知道能不能实现,我有一个月时间进行技术验证。

    请问各位好哥哥,这种场景使用 docker+k8s 部署会比传统二进制包部署更好吗?
    刚转 linux 运维岗,各位好哥哥轻喷~
    Akkuman
        18
    Akkuman  
       144 天前 via Android
    @deavorwei
    1. 很多信创环境的 docker 要不就是太老要不就是没有,推荐直接用 docker static build 版本,单文件,另外 compose 也是二进制文件,直接丢到指定目录,写个 systemd 服务文件即可
    2. 如果只是给私有化部署,建议直接整 docker ,多台机器用 ansible 之类的写个脚本弄弄即可,k8s 弄一套起来有时候客户奇葩网络环境挺恼火的
    flyqie
        19
    flyqie  
       144 天前 via Android
    @deavorwei #17

    k8s 跟 docker 不是一个类型的东西,1 个月从 0 搞懂不是个易事
    flyqie
        20
    flyqie  
       144 天前 via Android
    在这个容器化成为标准的时代

    容器化不是银弹,很多时候容器化带来的副作用也是不可忽视的(性能/复杂性/环境隔离问题)
    shyling
        21
    shyling  
       144 天前
    之前公司的测试环境上了 k8s ,想跑个 jni 代码的火焰图,折腾死了
    shyling
        22
    shyling  
       144 天前
    @deavorwei #17 k8s 比 docker 复杂的有点多... 建议先止步 docker + 脚本工具,k8s 自己玩玩,玩熟了再说。
    kk2syc
        23
    kk2syc  
       144 天前
    docker 并不是技术壁垒,你走了再找一个会 docker 的就完事了。就像用什么语言写代码不是关键,关键是适合业务,业务核心逻辑在自己手里,别人来了也没那么容易搞懂这套核心逻辑才是真正的技术壁垒。
    starrycat
        24
    starrycat  
       144 天前 via Android
    容器不是软件吗
    lovelylain
        25
    lovelylain  
       144 天前 via Android
    看是什么软件咯,例如 wireguard ,我一开始也去 dockerhub 找镜像,后来发现直接在宿主机上包管理器安装配置要更简单。
    zengzizhao
        26
    zengzizhao  
       144 天前
    op ,来仔细嗦嗦什么是二进制源码,什么叫二进制源码安装
    freedomSky
        27
    freedomSky  
       144 天前   ❤️ 13
    如何评价做为软件从业人员,会用“二进制源代码”这么专业的术语
    coderzhangsan
        28
    coderzhangsan  
       144 天前
    从你的标题来看,你应该不是运维,否则也不会说出什么"二进制源代码安装"的之类外行话。
    dfdd1811
        29
    dfdd1811  
       144 天前
    @liuzimin 这种我都直接先去 GitHub 看发布的,官方有执行文件就直接执行了,还不用配网,rustdesk 要好几个端口,实在懒得弄容器…
    snipking
        30
    snipking  
       144 天前
    很聪明啊,拉一坨新的只有自己能维护的屎山,怎么配置什么道道都记在自己私人的小笔记上,哈,看以后谁敢动我。docker k8s 这种标准化易于操作的东西用的越少,自己地位就越是稳固,什么叫 防~御~性~运~维~
    adoal
        31
    adoal  
       144 天前
    在不用容器的传统部署方式下能部署出屎山的,用了容器,屎山还是屎山,只是多了一层巧克力外皮而以。
    n18255447846
        32
    n18255447846  
       144 天前
    @lovelylain wireguard 协议不是加进内核里了都,装个 tool 就能管理。。。

    国内用的少啊,又是运营商 qos ,又是封的,根本折腾不了
    EndlessMemory
        33
    EndlessMemory  
       144 天前
    楼主优越感这么强?
    james122333
        34
    james122333  
       144 天前 via Android
    看如何管理 自己弄伺服器 不会用现有容器技术 因为现有容器资源占用都不低(尤其版本区分更是浪费硬盘空间) 构建也很慢 更动容器内内容也很麻烦 而容器五花八门的发行版也会造成管理的麻烦 本机容易控制容器是很重要的 二进制安装软件可以安装到指定的根目录
    moshiyeap100
        35
    moshiyeap100  
       144 天前
    得,不用容器技术就得被你评价是吧
    james122333
        36
    james122333  
       144 天前 via Android
    只玩自己的还有个更重要的优点 可以远控配置
    不得已用云机器可以避免配置被云厂商所知 什么亚马逊都是开源毒瘤
    ko20
        37
    ko20  
       144 天前
    你说的是 clone 源代码,然后 configure, make && make install ?
    zhangeric
        38
    zhangeric  
       144 天前
    docker 得好处是各容器得程序互不影响吧,至于部署速度那得看容器得部署配置.
    mylovesaber
        39
    mylovesaber  
       144 天前
    涉密行业禁止使用 docker ,就这么简单
    Akagi201
        40
    Akagi201  
       144 天前   ❤️ 1
    我个人服务一律用 systemd + 第三方 serverless, 部署用 ansible, 几乎完全不用 docker.

    k8s 我打工用了很多年了, 用起来也很熟, 但是实际上来说就是没有任何好处, 网络更加复杂, 排查问题更加复杂, 性能有损耗, 也没有给我省一分钱, 还会增加我成本, 我为啥要用.
    Iakihsoug
        41
    Iakihsoug  
       144 天前
    所以是二进制还是源代码还是一知半解显眼包
    james122333
        42
    james122333  
       144 天前 via Android
    @Akagi201

    又是 systemd 又是 ansible... 又不好
    deavorwei
        43
    deavorwei  
       144 天前
    XSNARUTO
        44
    XSNARUTO  
       144 天前 via Android
    還真別說,現在有些人你不給他做個 docker 他都不會用,最好容器打包好還得給他一條所謂的“一鍵運行命令”,docker 命令除了 start/stop/restart/ps 之外都不會(再加個 docker compose 吧哈哈哈),屬實感人。
    pendulum
        45
    pendulum  
       143 天前
    不评价
    ShuWei
        46
    ShuWei  
       143 天前
    啥时候容器成了唯一路径了?
    ExplodingFKL
        47
    ExplodingFKL  
       143 天前
    docker 太不可控了,你永远也不知道镜像里面附带的运行时是不是存在漏洞或者是 rootkit,还有就是大部分软件我们是要二次修改的,还是要打包 ,除非特别离谱的信创系统,否则能 rpm / deb 就不去碰 docker
    adambob
        48
    adambob  
       143 天前
    根据应用场景和团队的技术水平来,没有什么是一劳永逸的。
    google2023
        49
    google2023  
       142 天前
    @kk2syc 赞同
    google2023
        50
    google2023  
       142 天前   ❤️ 1
    @ExplodingFKL 你的意思是,特别离谱的信创系统,反而建议用 docker ?
    julyclyde
        51
    julyclyde  
       142 天前
    呵呵,你拿容器装个内核给我看看
    LXGMAX
        52
    LXGMAX  
       142 天前
    这里当 V 呼是吧
    txzh007
        53
    txzh007  
       142 天前
    容器运行不要成本吗,而且容器一定是稳定的?
    naoying
        54
    naoying  
       142 天前
    @Akagi201 你是个人服务,而且你用了 serverless....
    ExplodingFKL
        55
    ExplodingFKL  
       141 天前
    > 你的意思是,特别离谱的信创系统,反而建议用 docker ?

    @google2023 是的,点名某河某麟和某拉
    Narcissu5
        56
    Narcissu5  
       141 天前
    没有容器编排的 docker 真的没啥意义,又是挂存储卷又是映射端口,调试或者看个日志都很麻烦。几台机器的话也没必要上编排,.deb 才是永远的神
    soar0712
        57
    soar0712  
       141 天前
    太知乎了这个标题,也不见下场回复评论,发帖人狠狠涨了一波铜币,感觉我像魔兽新手村门口掉金币的小怪
    kero991
        58
    kero991  
       141 天前
    信创的适配如果是提供服务还好,你有的选择,如果是客户端也要部署,那会要人命的
    我们单位飞腾、鲲鹏、龙芯的 4000 、5000 都有,就一个 70 人的小单位
    你说你怎么部署。
    google2023
        59
    google2023  
       139 天前
    @ExplodingFKL 是为了在 docker 里面套其他的 linux ,这也解决稳定性、兼容性的问题?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3267 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 109ms · UTC 11:43 · PVG 19:43 · LAX 03:43 · JFK 06:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.