V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Jony4Fun
V2EX  ›  程序员

后端转去做运维了,求提高效率的工具和技巧!

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

    情况

    • 公司有测试环境、staging 环境、生产环境(国内)、生产环境( AWS )
    • CICD 我一个人负责,现在只在测试环境上部署了
    • 大部分软件都是用 docker-compose + 挂载 jar 包/前端静态文件 的方式启动
    • 后端很多中间件连接之类的都是一长串写在配置文件里的,没有把中间件的 host 、port 等单独作为环境变量的形式暴露

    诉求

    鄙人属于差生文具多的类型,工具和技巧多多益善

    59 条回复    2025-06-11 13:58:36 +08:00
    hancai2
        1
    hancai2  
       41 天前
    既然定位差生文具多了, 那就 k8s 一把梭吧。
    defunct9
        2
    defunct9  
       41 天前
    你会死得很难看,因为 aws 的 eks 环境跟别家的不太一样。
    hancai2
        3
    hancai2  
       41 天前
    像我们公司很多私有化交互的项目, 也就 3-5 服务,也是 k8s 来一套,用了几年了,也没发现什么问题。
    有个银行客户,不让用 k8s ,我搞了个 docker-compose , 现在更新维护,感觉麻烦得一逼。
    loushizan
        4
    loushizan  
       41 天前
    按环境分配置文件,写脚本工具按不同环境生成 docker-compose 文件,挂载不同环境的配置文件
    datoujiejie221
        5
    datoujiejie221  
       41 天前
    配置文件可以用 apollo 统一管理,k8s ,promethues ,elk 都整起来
    cheng6563
        6
    cheng6563  
       41 天前
    windsurf ,是能用 vscode remote 连远程服务器的。此时 agent 跑的命令也是从服务器上跑,懂了吧...
    geekvcn
        7
    geekvcn  
       41 天前   ❤️ 1
    首先机房能不能用网,配置文件和日志有没有保密需求,没有保密需求能用网现在的 AI+日志能解决 90%的问题,没网有保密需求买个 AI MAX395 128GB 笔记本本地部署个模型,剩下 10%的问题就要靠经验了。AI 最先提高的就是计算机行业和绘画行业的生产效率,而且是辅助性不是直接替代的。

    因为 AI 本身就是基于广泛数据训练出来的经验公式,不能保证准确率但是能作为参考提供思路
    idblife
        8
    idblife  
       41 天前
    @defunct9
    没啥区别吧
    guanzhangzhang
        9
    guanzhangzhang  
       41 天前
    先看有数据备份没,有备份看看有恢复脚本没。没有就要做好
    然后再把每天关于运维的事情记录下来,后面看看怎么优化掉
    geekvcn
        10
    geekvcn  
       41 天前   ❤️ 1
    主要 AI 写运维脚本也很方便,以前写半天,现在几行需求文本给出去生成完稍微改下就行了,脚本个人私用不怕漏洞没运行效率的特性用 AI 再适合不过了
    defunct9
        11
    defunct9  
       41 天前
    @idblife 谁用谁知道
    linuxsir2020
        12
    linuxsir2020  
       41 天前
    倒反天罡啊。。。运维都想出坑了。。。
    wangxin3
        13
    wangxin3  
       41 天前
    用 docker compose 的话,你们多机器是怎么处理的,是不是还是要上 docker swarm
    TracyMagic
        14
    TracyMagic  
       41 天前
    @defunct9 #2 有什么不一样,说说看
    bronyakaka
        15
    bronyakaka  
       41 天前   ❤️ 2
    既然如此,推荐一下我写的 kafka 和 es 工具:

    https://github.com/Bronya0/Kafka-King

    https://github.com/Bronya0/ES-King
    defunct9
        16
    defunct9  
       41 天前
    @TracyMagic eks 的 alt lb 是很独特的,缺省设置不支持多个 ns 的 ingress 汇聚到一起,你敢改,立刻把 LB 给销毁重建了,导致你 DNS 记录失效。这还是简单的,valkey 不支持 wait ,redis-oss 只有 0 一个库。alertmanager 不支持 webhook ,其它还有很多...
    mightybruce
        17
    mightybruce  
       41 天前
    纯运维没有意思,现在运维都要求会开发,基本都是运维开发岗
    当你们说出 docker compose 这些 什么手动搞配置文件和 apollo 的时候,你们已经落后太多了。
    dropdatabase
        18
    dropdatabase  
       41 天前
    @defunct9 大佬每项细说下?
    idblife
        19
    idblife  
       41 天前
    @defunct9
    难怪我没遇到,你这些用法说实话有点前期规划失职了
    NewYear
        20
    NewYear  
       41 天前   ❤️ 1
    运维属于鄙视链底端了。

    薪酬也上不去,别转这个方向啊。
    Smilencer
        21
    Smilencer  
       41 天前 via iPhone
    运维比开发稳吧?开发动不动财源广进
    defunct9
        22
    defunct9  
       41 天前   ❤️ 1
    详细说的话,那不成了血泪控诉会了。最可怕的就是问 chatgpt ,它会根据 aws 的旧文档和网上大多数的文档,给你推导一个一本正经胡说八道的答案。
    dropdatabase
        23
    dropdatabase  
       41 天前
    @defunct9 哎 相同的经历....
    TracyMagic
        24
    TracyMagic  
       41 天前
    @defunct9 #16 用 nginx ingress 替代 ALB ,redis 用 elasticcache ,能用托管尽量用托管。看你的评论大多数是兼容性问题。
    defunct9
        25
    defunct9  
       41 天前
    几百条 alb 的规则呢,你一条一条去捋?用的都是托管。最正经的答案就是只用 ec2 ,其它全手搓。
    perfectlife
        26
    perfectlife  
       41 天前
    遇到过用容器然后挂载 jar 包启动的公司,只能说这种方式烂的一笔,挂载 jar 包还干嘛用容器
    vincentWdp
        27
    vincentWdp  
       41 天前
    chatgpt o3 is all you need
    Jony4Fun
        28
    Jony4Fun  
    OP
       41 天前   ❤️ 1
    @perfectlife 开发连容器都搞不明白,躲在自己舒适区里只会打 jar 包呢( DOGE )
    perfectlife
        29
    perfectlife  
       41 天前
    @Jony4Fun 打 jar 包 也不该开发搞啊,cicd 打包构建,最终生成镜像,更新也更新镜像 tag ,而不是每次替换挂载的 jar 包
    bbao
        30
    bbao  
       41 天前
    k8s configmap 可以解决你的配置问题;测试环境随便他们玩,线上环境配置文件 运维维护,上线主要内容覆盖或者 service-ext.conf 读取覆盖,一个是需要架构支持,一个是动态更新,一个是文件覆盖。线上配置文件运维维护.
    sunwei0325
        31
    sunwei0325  
       41 天前
    CICD 不要跟我说什么 jenkins, 问就是 codebuild + helm + eks + ingress controller + alb + cloudfront + route53 + ECR + SSM + RDS + ElasticCache 一把梭. 监控不要跟我说什么 prometheus, alertmanager, loki, ELK, 问就是 Cloudwatch + SNS 一把梭
    struggle001
        32
    struggle001  
       41 天前
    @NewYear 上个班 鄙视这 鄙视那 累不累呢?没错我就是运维,打杂的,啥都干。啥都懂。啥都不精 哈哈哈
    adminhf
        33
    adminhf  
       41 天前
    aws 真的只能用 ec2 ,真的相当离谱
    spritecn
        34
    spritecn  
       41 天前
    @Jony4Fun 让开发搞明白了容器还要运维干啥
    NewYear
        35
    NewYear  
       41 天前   ❤️ 1
    @struggle001 #32

    我并没有鄙视运维。
    只是运维这岗位,学的东西多,做得杂,随时救急,然后又不可能为公司创收(持续且比较直观的创收)。

    也就是说你比程序员还博学,又要 24 小时待命,关键还要不断学新东西,出问题大家都觉得是你的锅。
    在大众的认知中,地位也不行。

    各方面对比下来,完全和开发没得比。
    linuxsir2020
        36
    linuxsir2020  
       41 天前
    @NewYear 运维都是花钱的。。。花的还不少,老板们基本都不喜欢 :)
    lanisle
        37
    lanisle  
       41 天前
    @NewYear 还是软化下气氛吧,属实不该提“鄙视链”。
    NewYear
        38
    NewYear  
       41 天前
    @struggle001 #32

    “啥都干。啥都懂。啥都不精 哈哈哈”
    再加一个,日常和各种大人物小人物对接工作。

    综合起来就是:很有当领导的潜质!哦也!
    NewYear
        39
    NewYear  
       41 天前
    @linuxsir2020 #36

    这样想不好。
    其实你只是花老板的钱,解决老板的问题,老板不喜欢花钱,甚至也不喜欢各部门的人,但是他想要运维,也需要大家。
    mightybruce
        40
    mightybruce  
       41 天前
    运维没几个能做到 SRE ,devops 运维开发就不用多说了,起码在这个 v 站上没几个人懂。
    wangyzj
        41
    wangyzj  
       41 天前   ❤️ 1
    纯运维不值钱
    就算时刻 devops+运维+sre 现在谁敢保证是稳的
    只能说运维这个行业需要经验,需要规划,需要管理,年龄小情绪不稳定,我一般都招 30 左右或者超上的
    技术其实只占 50%
    就开发能力来说要求不比纯开发要求低,还要求多样性
    对于广度和深度的持续更新还有高要求
    加油吧
    mightybruce
        42
    mightybruce  
       41 天前   ❤️ 1
    @NewYear 你对运维相关的岗位误解太多了吧,我猜你是业务为导向的公司。
    属于眼界太狭窄了,根本不知道基础设施运维的重要性
    专门的运维开发是基础设施岗,包含 k8s 源码级开发,各种运维平台,你可以去看看是什么样的要求,工资和地位都不低。
    维持的都是整个平台所有业务,出了问题都是 P0 事故,不是什么几十台服务器的小公司。
    NewYear
        43
    NewYear  
       41 天前
    重新仔细看了一下,我会错意了,理解错了主题,抱歉了,以上我的回复请当做我放屁。
    NewYear
        44
    NewYear  
       41 天前
    @mightybruce #42

    尊敬的网友,你的观点很棒,我非常认同。
    liuliancao
        45
    liuliancao  
       41 天前
    多问 deepseek 线上的事情多做 ab 方案 谨慎
    levelworm
        46
    levelworm  
       41 天前 via Android   ❤️ 2
    @NewYear #35
    运维我觉得有个重要优点是不用直接面对业务,这点我觉得比什么都好。
    struggle001
        47
    struggle001  
       41 天前
    Int100
        48
    Int100  
       40 天前 via iPhone
    @mightybruce 可怜的网络工程师在哪里,哈哈哈
    wangyzj
        49
    wangyzj  
       40 天前
    @mightybruce #42 哈哈哈,你说的都是对的
    不过实际上重视的老板确实不多
    所谓不出问题你是多余,出了问题是你的锅,你也多余
    giantreaper0
        50
    giantreaper0  
       40 天前
    argocd
    giantreaper0
        51
    giantreaper0  
       40 天前
    CI/CD 负责打镜像,然后使用 kustomize 修改 deployment.yml 的镜像版本号,最后 git 提交,发版的时候在 argocd 上点一下同步发布
    smilingsun
        52
    smilingsun  
       40 天前 via Android
    代码继续写起来,IaC 选项:Terraform ,AWS CDK ,Pulumi 等等。
    abolast
        53
    abolast  
       40 天前
    @NewYear 我可不认为运维不是程序员,至少我作为运维,能用于写程序的语言有 3 门,能了解并修改 bug 的语言两只手数不过来。programmer 里面的程序啥意思知道吧,就是跟程序打交道的都是程序 er 。
    程序员的基本素养就是快速学会一门新的 cs 技术并解决当前问题,只有符合这一点才能算一个合格的程序员,并不是根据什么方向来的。我见过测试也写代码的,运维写代码也同样不奇怪
    hancai2
        54
    hancai2  
       40 天前
    @giantreaper0 一直像用 argocd ,但是看着 jenkins 上面 2000+流水线,懒得动了
    lyuanxiang20
        55
    lyuanxiang20  
       40 天前
    看怎么互联,aws 海外可以聊聊
    COW
        56
    COW  
       40 天前
    说实话,国内现在做运维比开发难多了,没个几年实战经验搞不定的,要是只搞个 cicd 和 docker ,建议还是继续开发好了。现在的运维,要会 shell 、python 、golang 三种语言,要会 AWS 、阿里云,要懂架构、懂网络,里面坑多的是,搞得不专业不如不搞。要是让一个新人运维或者高级开发来搞都是一样的,不是胆子太大,就是胆子太小,就别说 prod 环境了,staging 环境估计都不敢让他动,。
    giantreaper0
        57
    giantreaper0  
       39 天前
    @hancai2 jelinks 或者 gitlab ci 只是 CI ,跟 argoCD 的 CD 没有冲突
    nananqujava
        58
    nananqujava  
       39 天前   ❤️ 1
    @levelworm #46 确实 我最不喜欢业务
    Jony4Fun
        59
    Jony4Fun  
    OP
       34 天前
    @giantreaper0 短期还没有用上 k8s ,现在生产就是 docker-compose
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2885 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 14:05 · PVG 22:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.