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

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

  •  
  •   pykerzhang · 2024-07-26 16:57:53 +08:00 · 9298 次点击
    这是一个创建于 378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    as the title

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

    想起我前段时间自己搭建 rustdesk ,按网上方案又是 docker ,又是配置的。最后发现个日本教程,直接去 github 下载.deb 安装包扔服务器安装,一步到位服务就起来了,不知道方便了多少。。
    coderxy
        6
    coderxy  
       2024-07-26 17:16:06 +08:00
    没啥好评价的,只要没影响你的效率,你管他呢。
    RedisMasterNode
        7
    RedisMasterNode  
       2024-07-26 17:20:10 +08:00
    二进制是编译后的...源码是要编译的...楼主看不惯的是哪种使用姿势?没太看明白
    adrianzhang
        8
    adrianzhang  
       2024-07-26 17:24:37 +08:00
    容器化适合成熟软件。如果需要 debug 如 strace ,在容器里做很不方便。难道每个 image 都把调试工具做成 layer ?
    codingmiao
        9
    codingmiao  
       2024-07-26 17:34:00 +08:00   ❤️ 7
    所以现在把数据库丢容器里是否合适有定论了么,会损失百分之几的性能
    ho121
        10
    ho121  
       2024-07-26 17:35:48 +08:00 via Android
    容器化并不是标准
    Tounea
        11
    Tounea  
       2024-07-26 17:59:22 +08:00
    生产运行的软件肯定是要保证稳定性,docker 运行一般服务是很方便,而且一般公司也不会去搞自己的 dockerhub 私有仓,全是一条命令从 docker hub 上拉镜像,结果 docker hub 被墙在在生产环境又得找第三天 docker hub 镜像仓,还得配置代理等等,烦的很!
    用源码编译则完完全全本地运行,而且高度自定义,同系统环境可以直接把编译好的软件直接跨平台分发,效率也高。
    chendy
        12
    chendy  
       2024-07-26 18:02:14 +08:00
    每个系统实际情况不一样,无法评价
    简单场景犯不上用容器,复杂场景有时候容器也 hold 不住,需要用啥就用啥,用啥好使就用啥
    cz5424
        13
    cz5424  
       2024-07-26 21:21:29 +08:00 via iPhone
    @liuzimin rustdesk 前段时间我在电脑装各种依赖,最后没编译成功各种报错,花费 30 分钟后点了一下 fork ,点一下 github action ,成了。以上的例子是指某些情况下需要很多依赖环境的时候,容器很好用。但是某些情况下,尤其是 C 程序,能直接执行不是更方便,比如你会在容器里面打印 lsusb 解决 usb 问题?
    guanzhangzhang
        14
    guanzhangzhang  
       2024-07-26 21:36:03 +08:00
    要看场景讨论阿,你不假设场景怎么排查,例如容器里安装 tcpdump 还是宿主机安装个好,而包管理自带的 tcpdump 版本低,源码编译安装高,抓包才能看到网卡名
    noahlias
        15
    noahlias  
       2024-07-26 21:43:19 +08:00   ❤️ 1
    一股知乎味道
    xhatt510
        16
    xhatt510  
       2024-07-26 22:15:16 +08:00
    楼主说的应该是指 一些别人发布的常驻的服务吧?上面的说 htop 、tcpdump 这种属于是即用的命令。场景不一样。有个特点就是 需要常驻的、需要配置的或者说配置特别麻烦的 用容器。而 htop 、tcpdump 这种属于工具命令。不常驻,即用即终止的那种。
    deavorwei
        17
    deavorwei  
       2024-07-27 00:09:39 +08:00
    借楼礼貌问问各位好哥哥,目前项目情况如下:
    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  
       2024-07-27 01:00:47 +08:00 via Android
    @deavorwei
    1. 很多信创环境的 docker 要不就是太老要不就是没有,推荐直接用 docker static build 版本,单文件,另外 compose 也是二进制文件,直接丢到指定目录,写个 systemd 服务文件即可
    2. 如果只是给私有化部署,建议直接整 docker ,多台机器用 ansible 之类的写个脚本弄弄即可,k8s 弄一套起来有时候客户奇葩网络环境挺恼火的
    flyqie
        19
    flyqie  
       2024-07-27 03:06:58 +08:00 via Android
    @deavorwei #17

    k8s 跟 docker 不是一个类型的东西,1 个月从 0 搞懂不是个易事
    flyqie
        20
    flyqie  
       2024-07-27 03:09:33 +08:00 via Android
    在这个容器化成为标准的时代

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

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

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

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

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