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

2024-07-26 16:57:53 +08:00
 pykerzhang

as the title

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

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

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

容器化不是银弹,很多时候容器化带来的副作用也是不可忽视的(性能/复杂性/环境隔离问题)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX